Hi!
I am attaching a proposal regarding the idea "Innovative new UI/Interaction
Methods" [1] for GSoC 2011, feedback would be highly appreciated. I will
submit this proposal on google melange in a couple of days if there are no
issues with the proposal.

Regards
Rohan Garg

[1]
http://community.kde.org/GSoC/2011/Ideas#Project:_Innovative_new_UI.2FInteraction_Methods
Name: Rohan Garg

Email Address: [email protected]
               [email protected]

Freenode IRC Nick: shadeslayer

IM Service and Username: Jabber : [email protected]
                         Jabber : [email protected]

Location (City, Country and/or Time Zone): Gurgaon, India GMT +5:30

Proposal Title: Innovative new UI/Interaction Methods

Motivation for Proposal / Goal:

In any Desktop Environment, it is imperative that each application interacts 
with other applications running on the Desktop.KDE Telepathy should be no 
different, it should ideally interact with Plasma Desktop and Nepomuk, both of 
which are important aspects of a complete KDE SC experience.

Keeping that in mind i would like to propose the following features as a part 
of GSoC 2011 for Telepathy KDE 

  * A Chat logger which logs everything into nepomuk databases

  * A KRunner plugin that would allow you to perform the following actions
    - Call $Person 
    - Chat $Person 
    - conversations:<Keyword 1> <Keyword 2> 
    - email:<Keyword 1> <Keyword 2> 
    - timestamp: <Time Stamp> 
    - A combination of 2 or more plugins from the above list

  * Adding file transfers with contacts meta data
  * A Activity aware QML Contact List widget

Implementation Details:

  1) Extend KDE Telepathy Logger
     The work involved in this task would be to get Telepathy Logger to talk to 
nepomuk and store all the logs in nepomuk, where they are associated with the 
person you were talking to.

     For this feature we will look into finishing off any remaining issues with 
the current telepathy kde logger and then store logs in Nepomuk via the 
nmo:Message ontology.The nmo:Message ontology provides us with the various 
subclasses which are ideal for use with this idea.The ontology even provides us 
methods to link this data to PIM accounts via pimo: , thus giving telepathy kde 
the ability to associate IM Chat logs with PIM Kontacts
     
     All the chat logs in nepomuk are stored along with crucial metadata fields 
such as From, To, Time Stamp, the actual message content, and so on and so 
forth.

  2) Writing krunner plugins
     This is the easy bit and could probably be implemented within 2 weeks max. 
These plugins allow you to interact with telepathy via KRunner as one usually 
does with other KDE applications and should work as described in the previous 
mail [1]

  3) Adding file transfers with contacts meta data
     When a contact sends you a file, upon receiving the file it is populated 
with meta data such as who sent you the file. As Daniele E. Domenichell pointed 
out, the file transfer library isn't quite ready yet, so i guess we can improve 
the file transfer mechanism during the GSoC period and then implement this 
feature once File transfer is working. ( I distinctly remember someone saying 
that they would ideally like to finish this before GSoC starts, can't exactly 
remember who )

  4) A Activity aware QML Contact List widget
     A QML Widget that is activity aware, i.e say for eg. you are on a Activity 
called 'Work' , then the widget will show all your contacts that have been put 
under the Work group in KDE PIM by you.

      This is quite simply a widget that would sit on your desktop and allow 
you to :
      
      * Initiate a chat with a contact
      * Initiate a call with a contact
      * See the persons current status
      * Email a contact

Tentative Timeline (in weekly intervals until 2 weeks after the end of GSoC):

Weeks 1 and 2 ( May 23 - June 6th ) : 
Unfortunately during these 2 weeks i have my end semester exams and i will be 
pretty much unavailable from 2nd May, but, i have already been learning about 
how Telepathy KDE works for the past 10 days and have even fixed a few build 
issues and a few trivial bugs in the Model View components.

Week 3 ( June 6th - June 13th ): 
Start studying Telepathy KDE Logger, evaluate what portions of it are 
incomplete and need work before starting work on Telepathy KDE Nepomuk Logger. 
Work out details on the Activity aware Telepathy KDE plasmoid and talk to 
Plasma developers what new technologies they have to offer to us.Get to know 
what all pimo: offers us in terms of integration with KDE and collaborate on 
this with KDE PIM Developers.

Weeks 4 and 5 (June 13th - June 27th ) : 
Start working on the QML Telepathy Plasmoid, i already have a mockup of the 
plasmoid here [0].Figure out ways to integrate with Plasma Activities and how 
the behavior of the plasmoid will change on changing activities and eventually 
implement the entire plasmoid in QML with inputs from Plasma Developers.

Weeks 5 to 10 ( June 27th - July 25th ) : 
Start working on Telepathy KDE Nepomuk logger and start writing the necessary 
code using the nmo:Message ontology and it's properties. Link logs with KDE PIM 
data using the nco:ContactMedium ontology ( this ontology gives us 
nco:IMAccount, nco:PhoneNumber, and nco:EmailAddress to integrate these logs 
with PIM Data ).Possibly also find a way to integrate logs with nco:Role, i'm 
still reading up on this and a bit unsure on how to integrate logs with this 
ontology, so maybe nepomuk developers can provide more insight into this.

Now, to actually access the logs i was thinking of writing a bunch of DBus 
methods so that other apps can access these logs and a seprate Telepathy Log 
viewer can be made by calling these DBus methods.

In the end, make all of the above features visible via Telepathy KDE GUI and a 
configuration dialog so as to set the period of logging, ranging from M Days to 
N Years.No one want's to keep logs for ever ;)

Week 10 to 12 ( July 25th - August 8th ) :
Implement KRunner plugins with functionality mentioned as above and attach file 
transfers to pimo:Person

Week 13 ( August 8th - August 15th ):
Document Code, Fix bugs, prepare branch for merging into master

Week 14 to 16 ( August 15th - August 29th )
Document any undocumented code, merge code back into master, start looking for 
new projects inside telepathy KDE.

Do you have other obligations from late May to early August (school, work, 
vacation, etc.)? Please note that we expect the Summer of Code to be a 
full-time, 40-hr a week occupation. It is important to be clear and upfront 
about other commitments that you may have during that time.

I have exams in the month of May till the first week of June, my Academic 
calendar can be found here [1].So I will probaly not be available for that 
particular period of time.Apart from that i will be free for the whole GSoC 
period and i have no other commitments as well.
Since i have no other commitments apart from GSoC i can easily give extra time 
once i start coding to compensate for the loss of the first 2 weeks.

About Me (let us know who you are!):

Hi! I'm Rohan Garg and I am a student at Institute of Technology and Management 
pursuing my B.Tech in Electronics and Communication.I'm in my 3rd year and have 
been contributing to Kubuntu for the past 18 months, and to KDE for the past 6 
months.I recently got a KDE Developer account.The majority of my work has been 
on fixing small bugs here and there, but i would love to work on a proper 
feature for KDE Project that makes it into the next release.My primary domain 
of interest is Networking and Communication which is one of the reasons i took 
up this project.You can find more about me at [2].I am also one of the Co 
Maintainers of Project Neon which provides daily builds of KDE [3].

[0] http://goo.gl/1Vlxk
[1] http://goo.gl/2IcTm
[2] https://wiki.ubuntu.com/shadeslayer
[3] http://goo.gl/xNzlR
[4] https://projects.kde.org/users/2792
_______________________________________________
KDE-Telepathy mailing list
[email protected]
https://mail.kde.org/mailman/listinfo/kde-telepathy

Reply via email to