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