Review request regarding proposal for GSoc-09 project Plasmate

Shantanu Tushar Jha jhahoneyk at gmail.com
Thu Mar 26 17:50:53 CET 2009


Hello,
    I have been contributing to Plasma for some time now. Now, I wish to
apply for a GSoC project in Plasma so as to take my contribution to the next
level.
   Attached is my proposal for the project Plasmate, for which I'd really
appreciate a review so that I get to know about things I may have missed
out.

Thanks A LOT :)

-- 
Shantanu Tushar    (GMT +0530)
http://www.shantanutushar.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.kde.org/pipermail/plasma-devel/attachments/20090326/ac93ef93/attachment.htm 
-------------- next part --------------
Name:   Shantanu Tushar

Email Address:  jhahoneyk at gmail.com

Freenode IRC Nick:      Shaan7

Location (City, Country and/or Time Zone): Bangalore, India, +0530 GMT

Proposal Name:          Development of Plasmate to reach a working stage by
realizing immediate goals.

Motivation for Proposal / Goal:
------------------------------

Having an application like Plasmate will make it easier and more productive for
users who want to create scripted plasmoids using languages like JavaScript,
Python and Ruby. Enabling the user to easily create, and share plasmoids is a
great idea. My main goal will be to bring Plasmate to a working stage so that
scripted plasmoids can be created using an IDE.

Implementation Details:
----------------------

The following features will be added in due course of the project, as they are
the prime requirement and the immediate goals for Plasmate -

1. Text editing and syntax highlighting for script files, mostly using Katepart
as a Kpart. Katepart is chosen because it already supports all the types of
syntax highlighting and other stuff we'll need.

2. Packaging functionality so that the user will be able to instantly create an
installation package. This will be based on the existing plasmagik implementation. 

3. Commonly used features of the GIT version control system so that the users
can share work and collaborate with other developers. The actions that will be
supported initially would be clone, pull, diff, apply, status, checkout and
commit. All these would be done behind the scenes where the user will be presented
with a UI.

4. Lastly and optionally, if all the above features have been fully tested and
working, implementing a UI Designer to facilitate easy development of UI such as
config pages.

Tentative Timeline:
------------------

Analysis Phase ( April 20 - May 22 )

During this period, I'll collect more information about the implementation and
the API needed with the help of my mentor. I'll study the code base and
the relevant API thoroughly so as to get an in-depth idea of the existing
structure, and
how it be better implemented. I'll also start coding to implement a
katepart as the text editor for the user to edit the scripts.


Coding Phase 1 ( May 23 - June 14 )

Firstly, support for packaging the plasmoids into installation files will be
added. This will not be too difficult since it has already been implemented in
plasmagik to a large extent.


Coding Phase 2 ( June 15 - August 09 )

During this stage, I'll work to know more details about functioning of git.
After this, I'll work on implementing GIT support to plasmate. Plasmate will
provide a UI so that the user can perform actions on GIT repositories. The actions
supported have been already mentioned in Implementation Details.


Testing Stage ( August 10 - August 24 )

Now, plasmate will be put to test with help from the community, and feedback
from other developers. The implementation will be tested by creating some simple
scripted plasmoids, and all the implemented features would be tested. Finally,
changes will be made according to the testing results and community feedback.
For documentation, an article will be added to the KDE techbase.


Do you have other obligations from late May to early August (school, work, etc.)?:

End-semester exams at the end of June, but won't affect coding much. I'm
prepared and can manage my time well.


About Me :
--------

I am a student pursuing an undergraduate degree course with Computer Science and
Engineering as major in B.M.S College of Engineering, Bangalore, India. I have
participated in various Olympiads. I have been a free software enthusiast from
the past 2 years and a member of B M S Libre software User's Group, shortly
known as BMSLUG. We've been creating awareness around the college to use Free
and Open Source Software.

I have a fair understanding of C and C++ programming, and have about 4 years and
2 years of programming experience in C and C++ respectively. In addition, I am
also familiar with XHTML, PHP, CSS, JavaScript and MySQL. Further, I'm quite
comfortable with the Qt Application Framework, and I've been contributing to KDE
and fixing many bugs for the last couple of months which has further enhanced my
knowledge about C++, Qt and KDE in particular.

I have submitted the following patches -

1. Added feature to Network Monitor applet to display interface labels.
    http://lists.kde.org/?l=kde-commits&m=123510491321715&w=2

2. Added feature to Timer applet to display a label for each Timer applet
instance .
   ( Addresses Bug 183673 )
      http://websvn.kde.org/?view=rev&revision=930081

3. Fixed bug in system monitor data engine which didn't refresh the interface
    list if a interface was added, for instance, a dial up ppp0.
    ( Addresses Bug 184893 )
      http://websvn.kde.org/?view=rev&revision=938556

4. Improved applet FolderView configuration dialog so as to make Filter config
    page behavior consistent. ( Addresses Bug 186283 )
      http://websvn.kde.org/?view=rev&revision=938685

5. Added keyboard navigation to FolderView applet.
    ( Partially Addresses Bug 187241 - Work In Progress )
      http://reviewboard.kde.org/r/368/

Further, I'm able to use the Bugzilla KDE bugtracking system, SVN revision
control system and have a svn.kde.org account. I am and will be studying more
about GIT features so as to help implement them. Further, I'm comfortable with
communicating with other developers using IRC and mailing lists, as I have been
working
with the Plasma community for quite some time now.

I would like to express my deep commitment for the KDE project to which I've
enjoyed contributing till now, and will be doing so, even after completion of
the program. Also, I will be constantly in touch with the community and my
mentor, and assure dedication of atleast 30 hours per week to the work. If any
part of the proposal is not clear, I'll be very happy to answer your questions.

Website: http://www.shantanutushar.com
Blog:    http://www.shantanutushar.com/blog


More information about the Plasma-devel mailing list