GSOC 2017 Screen Shot Sharing Service

Hello,
Myself Shishir Bondre i am a software developer currently contributing for open source on github,
I want to be apart of owncloud community and want to contribute my code for this gsoc , probably i am interested to work for Screen Shot Sharing Service.
idea which you have mention, so regarding the same i would like know what are expectations from your side for the same , so that i can start working on them and would try to make more chances of getting selected .
Actually i had clone the repository and got the concept, but futher i want what you are excepting for the given project means what will be functionality needed and all
I would be like to hear from you soon,

3 Likes

Hey Shishir! Thanks for your interest in ownCloud's GSoC and the client development!

I can solve some of these questions since I'm usually doing QA tasks for the Desktop client plus I originally posted the project on ownCloud's GSoC wiki. This has been a highly requested feature, as sharing screenshots with your colleagues is a quite common scenario to be automated. And I believe it's a great opportunity for you to write some code that would run in many systems worldwide!

The original issue opened on the client repository is quite old: https://github.com/owncloud/client/issues/1811. In the comments, you would find some people that already got started in the past with the idea, like the project I linked in the project's description: https://github.com/rage311/ocss

Initial goal would be to figure out how to integrate a functionality like the one in those scripts into the client and create a nice user experience. For that, you can use this list as some sort of guideline of what could be "acceptance criteria" for the feature:

  • Generally speaking, the option would "observe" for new screenshots on the system and upload them to a destination in the user's ownCloud:
    • If there's no "Screenshot" folder locally, it would create one.
    • Use some sort of convention to name the screenshots (independent from the system)
  • You need to take into account the multi-platform nature of the client; which mean that different OSS have different mechanisms to deal with screenshots. The most options are covered, the best. Some research to list the APIs/conventions in most systems will be a nice starting point.
  • The option must be included as an additional setting, some users might not want automatic upload of screenshots and disable the option. You can learn how is the client's logic for some general settings page in current version on: https://github.com/owncloud/client/blob/master/src/gui/generalsettings.cpp
  • In multi-account setups, the user would need to select which account does he want to automatically upload the screenshots to.
  • An additional desired feature of this integration would be the ability to copy the screenshot shared link to your clipboard (a shortcut to the context menu Share with ownCloud > Share by Link >Copy Link`) for fast sharing. Maybe with a different keyboard shortcut than the one used to take a regular screenshot. This also requires a bit of research on how different platforms handle the clipboard, etc.

I would start by looking at the existing work on the script and its forks for different OSS (note that they're also open source projects) and learn how they implemented some of the logic.

From your previous post, I get you already followed the building instructions for your platform and have a development environment set up. Awesome! let's continue from there.

Do not hesitate in continuing the conversation here or ping me by PM for more details! :rocket:

1 Like

Oh, and one last bullet point I forgot to mention is that you'll also need to take into account that there might be other apps installed in the OS trying to do the same (moving the screenshots to a directory they own), so we'd also need to deal with this clash.

Hello,
I am an B.tech 3rd year student from IIT Guwahati.I am interested in the project ' Screen Shot Sharing Service'.
I don't really see any issues or pull requests on the github page. Please can you guide me with how can
I proceed with contributing to the project.
Thank You

Hello,
I am Zheng Lv, a 2nd year undergraduate student from Shanghai Jiaotong University, China. This is my first time to apply for GSoC. I am interested in the idea `Screenshot sharing service'.

The idea is very exciting. Screenshot sharing is a highly demanded feature as mentioned by @alfageme. So far the client is simple and powerful as well, with file syncing as its major (only) function. Adding the screenshot sharing feature would be the icing on the cake but it will be challenging as well.

Thanks for @alfageme's detailed description. Currently I'm thinking of two approaches:

  1. Fully implement a (cross-platform) screenshot using Qt API or system API. The picture will be saved in the syncing directory, and a sharing link will be created automatically. This simplifies the usage but makes our client complex.

  2. A subdir of the syncing directory is configured as `image-sharing' by the user. When the user saves an image (possibly captured with system-provided screenshot program) to the subdir, the client syncs and creates a link.

There are of course other (possibly better) solutions, though. I think the challenge is not screen capturing but rather how and when the linked is created after the picture gets synced/uploaded. In other words, it's difficult to integrate seamless with the existing directory syncing mechanic as well as keeping this feature easy to use.

Some other features like link-copying hotkey should be simpler to implement. Of course they also require careful design.

I'm confident of my ability to do this work. The reasons are listed as follows.
- I am learning Software Engineering as my major and I had participated in our school's ACM-ICPC team. Therefore I can write fluently in C++ and some other languages.
- I'm one of the active developers of the repository syncing backend of SJTUG open source mirrors (https://mirrors.sjtug.org).
- I have some experience of working with PHP, PyQt, and networking in my course project (https://github.com/lv-zheng/PyHW-Qt).

I would really appreciate if I can be assigned the work of implementing the amazing Screenshot Sharing Service. My email is is lv.zheng.2015gmail.com.

Many thanks.
Zheng Lv

1 Like

Dear sir/mam,
I am new to GSOC and i want to contribute to open source project under your mentorship.
i want to work on Screenshot sharing service project. i have an idea of extending this project using
latest technology Docker and Ansible.
i have good knowledge of Cloud Computing and Networking.
and I am proficient in Python,Java,C++.
Thanks

3 Beiträge wurden in ein neues Thema verschoben: GSOC 2017 Participation for Gallery view in files app project idea