[GSOC 2014] project : Improve sharing experience

Aaron Zakhrov aaron.zakhrov at gmail.com
Mon Mar 10 16:38:28 UTC 2014


OK here is a revised proposal with a more detailed schedule and breakdown.


On Mon, Mar 10, 2014 at 9:09 PM, Aaron Zakhrov <aaron.zakhrov at gmail.com>wrote:

>
> hmmm maybe I picked the wrong project :(
> The reason its so tentative is because I know next to nothing about Avahi
> and UPnP. About the only thing I know about in networking is getting Apache
> up and running along with MySQL and configuring it with a static IP
> address. What I have most experience in is Phonon. I would really love to
> add DVD playback support using solid for my Media player but since KDE
> already has both Bagarang and DragonPlayer not to mention older stuff like
> kaffeine and KMplayer having another  media player is kinda redundant.
> What do you suggest? Do I submit a proposal for integrating WebPhonon (my
> application) with Solid and KDE (and hope to find a mentor this late)? or
> try my hand at the sharing experience?
>
>
> On Mon, Mar 10, 2014 at 8:20 PM, Martin Klapetek <
> martin.klapetek at gmail.com> wrote:
>
>> Hey,
>>
>> On Mon, Mar 10, 2014 at 3:46 PM, Aaron Zakhrov <aaron.zakhrov at gmail.com>wrote:
>>
>>> hey here is another draft proposal for GSOC 2014
>>>
>>
>> looking good, though I think your "tentative timeline" is a bit too
>> tentative :) Note that giving a more detailed timeline gives the impression
>> of you knowing exactly what are you going to do and how, meaning higher
>> chance of being accepted ;)
>>
>> Cheers
>> --
>> Martin Klapetek | KDE Developer
>>
>> _______________________________________________
>> Kde-soc mailing list
>> Kde-soc at kde.org
>> https://mail.kde.org/mailman/listinfo/kde-soc
>>
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-soc/attachments/20140310/399d5540/attachment-0001.html>
-------------- next part --------------
?Name and Contact Information
Aaron Pramod Dominick
E-Mail: aaron.zakhrov at gmail.com, aaronx_ at hotmail.com
Phone: +919886648308
Github Repository: https://www.github.com/Zakhrov
Blog: http://www.zakhrov.wordpress.com

Title
Improve Sharing experience on 

Synopsis
As of now KDE does not have a unified file sharing experience. We have the kdenetwork-filesharing that works with samba shares but not anything else.
KDE connect is an excellent project to share files and much more with your Android device however it is still an independent application and does not integrate with dolphin or other file managers.
What I propose is a fully integrated system that allows KDE to share files over any wired or wireless network to other PCs and devices using existing open protocols such as http avahi and UPnP.

Benefits to Community
The new File sharing software will allow KDE users to quickly and easily share files and stream media from their desktop to any PC or device on the network that supports the http+Avahi/UPnP protocol using a single click ( or a few clicks). This technology will also benifit early adopters of Plasma Active/Vivaldi tablets since it will allow them to easily sync their devices with their exisiting KDE installations. It will work on any GNU/Linux distribution and will not employ any non-free/proprietary protocols or libraries.

Deliverables
March 21-April 21:Initial Investigation and research into Avahi and Upnp- 
Avahi has Qt4 libraries but Upnp does not. Therefore proper study of the documentation in coordination with a mentor must be performed. A Git repository for new code and documentation needs to be set up for easy integration into KDE's master repositories.
Week 1-2
Review existing code for UPnP and Avahi (KDE Connect already uses avahi so that wont be a problem. The only project I know of that uses UPnP is XBMC but reviewing their code is going to be a big job since it is not a KDE project and it is HUGE)
Week 3-4
Write some sample code to get the feel of how the Avahi and UPnP libraries mesh with Qt and KDE libraries.
April 22-May 19-20: Design Documentation- Detailed Module break down and UML diagrams will be designed here with feedback from a mentor.
Week 1-2
Here I make some class diagrams and models to get a better visual representation of how data has to flow and how UPnP handles data.
Week 3-4
Design the forms and other GUI elements (desktop files icons and service menus)
May 19-August 17-18: Coding and testing- The modules will be coded tested and delivered.
Semester exams start in June so will have to work around them. On normal days I can put in about 11 hours per week for GSOC. During exams I cannot work on the project at all. I can compensate by working on the project for longer hours after the exams. The longer sessions can bump up my 11 hours a week to 15 or even 20 hours a week.
Will work on Avahi first and then on UPnP



Related Work
This is similar in many ways to the KDE connect project. The main difference is that there will be no pairing or authentication. Users can share any file in their filesystem by copying/symlinking it to a shared folder they can specify. Folder access will have the same UNIX/Linux permissions as an apache public directory (it basically is one). This folder can be discovered using Avahi or any other Zeroconf protocol and can be read and written to by any host. Users will be prompted by notifications similar to that of a bluetooth notification that files are being read from/ written to the shared folder and can accept or deny requests.

Biographical Information
I am doing a Masters Degree in Computer Applications from the Oxford College of Science (No relation to the Oxford University UK :-P) Affliated to Bangalore University. I have been a user of Linux and KDE since 2005.
My skills include C/C++ programming. Qt Programming. Basic Networking and Linux System Administration and Debian Package creation.
I have made a Qt Application based on the Phonon Multimedia Framework called WebPhonon licenced under the GNU GPL and available here:
https://www.github.com/Zakhrov/WebPhonon



More information about the Kde-soc mailing list