GSOC Proposal KDE-Connect

Valorie Zimmerman valorie.zimmerman at gmail.com
Mon Mar 24 06:50:43 UTC 2014


On Wed, Mar 19, 2014 at 6:56 AM, Shabaz Ahmed <shabaz1729 at gmail.com> wrote:
> Hello Everyone,
>
> I know I'm late for the proposal, but better late than never. I have written
> a proposal for KDE-Connect for some much needed functionality. Even if my
> proposal is not upto the mark then I would love to get feedback and I would
> still work on this features independently(not being a part of GSOC).
>
> P.S: Sorry if some java or c++ syntax words come in the proposal. I have
> tried my best to  avoid them.
>
> Proposal:
>
> Organization: KDE
>
>
> Project: KDE-Connect
>
>
> Abstract: Mobiles and PCs have become ubiquitous in day to day life and need
> for communication between them is much needed. There are lots of
> applications which try to bridge this gap and KDE-Connect stands out at this
> by seamlessly integrating itself into the KDE Desktop. KDE-Connect has a lot
> of room for improvement and one of the function which I find important is
> the ability to control PC (Input Emulation) from the mobile device (mouse
> and keyboard) and to share files between devices.
>
> ________________________________
>
> Name:  Shabaz Ahmed
>
>
> Email Address: shabaz1729 at gmail.com
>
>
> Freenode IRC Nick: build3r
>
>
> Mobile number: +91 9972115447 (Whatsapp or Telegram)
>
>
> Location (City, Country and/or Time Zone): Bangalore, India, IST
>
>
> Linkedin Profile:    http://in.linkedin.com/pub/shabaz-ahmed/42/b4a/810/
>
>
>
> ________________________________
>
>
>
> Proposal Title: Input emulation, file syncing and voice control support for
> KDE-Connect.
>
>
>
> ________________________________
>
> Motivation for Proposal / Goal:
>
>
>
> I got a similar idea a few months back and I was really excited to work on
> it . During my research, I found many applications which were almost doing
> what I had in my mind but when I got to know about KDE-Connect, an open
> source project, which is similar to my idea, I was really happy that I don't
> have to start from scratch.
>
> Many developers oversee the Google's  speech-to-text
> (http://developer.android.com/reference/android/speech/package-summary.html)
> package which is accurate up to 90%, even with my Indian accent (during my
> tests). My idea is: Why to use our fingers when the smart phone gives us the
> ability to use our voice? The second functionality of Input Emulation which
> I want to add to KDE-Connect is also very handy. The smart phone touch
> screen can be used as a wireless touchpad for the Laptop or PC. Even when
> the touchpad is not working the smart phone can be used a secondary
> touchpad, or it could even be used when giving presentations.
>
> The third functionality - file syncing, is a much needed one and there are
> no "proper" apps in the market which gives the desired functionality. In
> today's life it is crucial to keep the files synced between devices; in
> places like India and other developing countries where mobile data
> connection is unreliable and costly, cloud storage will not suffice. So my
> idea is to keep a shared folder between devices; when some file is put into
> the folder it gets synced between the devices seamlessly in the background
> on wifi network.
>
> ________________________________
>
>
>
> Implementation Details:
>
>
>
> File Sync:  For this feature I would add a separate shareable folder on both
> the PC and the android phone (on the external storage). Whenever a file is
> added to the folder on the PC or on the phone, the background processes on
> the device would open up ports and sync the files. I prefer using events
> instead of polling. I have already developed a similar app which syncs
> photos taken from any mobile to other mobile running the application on the
> same network. You can check it out here
> (https://github.com/build3r/PhotoSync).
>
>
>
> Input Emulation: For the touch pad emulation I can map the gestures to the
> mouse pointer, basically I send the difference (movement) in terms of X-Y
> co-ordinates to the server running on PC which will take this data and move
> the mouse pointer appropriately. I will also add a sensitivity feature in
> which the user can set the sensitivity of the mouse pointer which I can
> handle in the mapping function. Single tap would be for left click, tap and
> hold for right click and two finger drag for scrolling. I would be using
> Gesture-Detector
> (https://developer.android.com/training/gestures/detector.html) package for
> this.
>
>
>
> Voice Control: I have not seen a single application on market doing this.
> For voice control, as I said above, I'll be using the speech recognition
> package of android. I would give a list of predefined command such as "Open
> Browser", "Open Terminal" etc. and this list can also be customized by the
> user. He can even add new commands for which he must include appropriate
> shell script on the PC. So basically when the user gives a command (by
> voice) the Google server returns the string equivalent of it, we match the
> string with predefined and user defined (in that order) and if it is even a
> partial match (80%) we send a command to the server on PC side which runs
> the appropriate shell script. I have started working on the module
> (https://github.com/build3r/MobileControl) independently. I just have to
> work on the KDED to add this functionality. Preferably I'll add a tap and
> hold button to speak the command in the main activity (kdeconnect-android /
> src / main / java / org / kde / kdeconnect / UserInterface /
> MainActivity.java).
>
> ________________________________
>
> Tentative Timeline:
>
> Before 21st April: Start to hack the KDED and start experimenting with
> various  features.
>
>
> 21st to 1st May: Clear all doubts which may arise during the hacking period.
>
>
> 1st to 18th May: Make proper community bonding and learn about other new
> projects at KDE   ask mentors and fellow developers for feedback on my
> project.
>
>
> 19th May:  Start actual development.
>
>
> 19th to 25th May: Implement the Voice Control Feature
>
>
> 25th to 28th May: Test the Module separately.
>
>
> 28th to 30th May: Integrate into KDE-Connect and do Integration Testing.
>
>
> 30th May: Take Feedback
>
>
> 1st to 14th June: Implement Input Emulation.
>
>
> !4th to 17th June: Module Testing.
>
>
> 17th to 22st June: Integration Testing.
>
>
> 23rd June: Release Alpha Version to friends and fellow developers.
>
>
> 23rd to 25th June: Midterm Evaluation.
>
>
> 25th June to 10th July; implement File syncing Feature.
>
>
> 10th July 20th July: Module Testing (Must be tested thoroughly).
>
>
> 20th July to 30th July: integration Testing.
>
>
> 1st August: Release Alpha version 2.
>
>
> 5th August Release: Beta Version.
>
>
> After GSOC: I have other handy features and improvements for KDE-Connect
> such as improvement of media control as done in this project
> (http://homepage.ntlworld.com/mark.harman/comp_wifiremoteplay.html),
> Shutdown, restart and logoff buttons, a file browsing feature.
>
> ________________________________
>
>
>
> Working:
>
> I have no commitments during this summer and can easily devote 45hrs per
> week. I have no problem in coding at night, in fact I prefer working at
> night.
>
>
>
> About Me:
>
> My name is Shabaz Ahmed and I'm 20 years old. I'm currently studying at M.
> S. Ramaiah Institute of Technology pursuing B.E in Computer Science and
> Engineering. I'm technology enthusiast and like develop and use softwares.
> I'm open source user and big promoter (set up an open-source community at my
> college). I have been KDE user for past 1 year and I find KDE community just
> awesome (people are eager to help). I have good skills in C, C++, JAVA and
> HTML. I'm a keen interest in competitive programming (I head the coding club
> of our college). I haven't actually developed open source softwares but I
> have contributed to the community by reporting bugs (VLC and Ubuntu) and
> helping out people on discussion boards.
>
>
> Why Should I be Selected?:
>
> Once something gets my interest and I start working on it with this interest
> then I forgot the world (won't sleep or eat) until I complete it or perfect
> it or until I'm satisfied by the results (Has happened to me lot during
> competitive programming contests). I won't promise that I would deliver a
> world class app during this summer but I do promise that I would deliver
> what I have told at least in a working condition.
>
> Junior Jobs:
>
> I will be sincere at this, I had taken up a junior job to fix a bug but due
> to various reasons I couldn't complete it and inevitably I had to drop it.
> But I have developed quite a few applications independently (most of them
> Android). You can find them here:
>
> https://github.com/build3r?tab=repositories

Hello Shabaz,

I'm going to assume that you've gotten no reply here because
prospective GSoC mentors are busy evaluating proposals in Melange. I
hope you will take the time you have between now and the beginning of
Season of KDE to do some junior jobs, fix some more major bugs, find
the IRC channels and lists you need, and begin embedding yourself into
the community.

The work of students and mentors in SoK is quite as serious as in
GSoC, but there no money for completing it. Naturally, we take a
successfully completed SoK into consideration the following year as we
evaluate prospective GSoC students.

So think about doing your project anyway, and getting a certificate, a
Tshirt, and the same pride of accomplishment, and the same learning
and success. Now is the time to prepare, if you want to do that.

All the best,

Valorie
-- 
http://about.me/valoriez


More information about the KDEConnect mailing list