Hi,

Attached is the first draft of my GSoC proposal for the project: QMLify the
KDE Plasma Widgets. Please review it and send me comments/suggestions.

Regards,
Viranch
GSoC Project Proposal
=====================

Name:           Viranch Mehta
Email:          viranch.me...@gmail.com
IRC nick:       viranch
Location:       Gujarat, India. GMT +0530

::QMLify the KDE Plasmoids::

Motivation:
==========

Plasma Workspace has been what defines the look and feel of KDE4. It is very 
well designed to accommodate various panels, widgets, etc. on the desktop and 
has seen many changes since KDE 4.1 in the plasma design and architecture. Its 
developer friendly code-base allows various programmers to easily create custom 
plasmoids which can be distributed as a small bundle and be easily integrated 
into the plasma workspace.

With introduction of Qt Quick/QML in Qt 4.7, the gap between the developers and 
UI designers got narrowed down with its rich set of QML elements and intuitive 
declarative QML language. QML allows designers to create fluid like animated 
UIs very quickly. And most importantly, the animations happen without the 
slightest glitch. The Javascript/C++ bundle efficiently handles all the 
back-end implementation, leaving the designers to concentrate on the animations 
and UI simplicity.

This projects aims at transforming all the current plasma widgets (Plasmoids) 
to QML/C++, opening the doors to lots of better animations with the plasmoids 
and probably faster loading at start up. Most of the plasmoids that come 
bundled with KDE and the default ones will be completely transformed to QML/C++.

My enthusiasm towards KDE initially led me to learning Qt (which I grasped very 
quickly) and made a lot of small applications with it[1] for some experience. I 
immediately developed interest with the UI designing and developing and that's 
how I landed up writing a proposal for this project. I have already been a fan 
of the KDE Plasma amongst other KDE features, and this project is the bull's 
eye towards my interest. I see a perfect opportunity to develop some real life 
desktop user interface with the latest technology of QtQuick through this 
project.

Implementation plan:
===================

KDE already has support for QML plasmoids since KDE 4.6. So moving one step 
forward, the following plasmoids will be transformed to either QML/Javascript 
or QML/C++ in this project:
- Kickoff Application Launcher
- Battery Monitor
- Device Notifier
- Digital Clock
- Folder View
- Lock/Logout
- Network Management
- System Tray
If time permits, some other plasmoids may also be worked upon.

Tentative Timeline:
==================

May beginning – Read plasma code and get familiar with the current 
plasma/plasmoids code and the plasma library. Probably write one or two 
practice plasmoids to get a first hand feel of how they're made.

May 15 onwards – Start with the actual re-factoring of the plasmoids into 
QML/C++ or QML/Javascript (whichever is most suitable). I plan to invest 
one-two weeks with the first two-three plasmoids (May 15 – June 31) and then 
the subsequent plasmoids may be covered within a week each (July 1 – August 
10), hopefully reducing the time to less than a week with each plasmoid that I 
finish up with. Each plasmoid will be tested as and when it undergoes the 
re-factoring.

Later – Fix bugs with the re-factored plasmoids and re-factor as many more 
plasmoids as possible.

About Me:
========

I'm a third year engineering student, pursuing B.Tech. in Information and 
Communication Technology (ICT) from DA-IICT, Gandhinagar.

I have been a Linux and KDE user since two years now and have developed a great 
interest in contributing to the FOSS since then. KDE is the project I've been 
most familiar to and interested in, as I see most of cutting edge technologies 
wrapped up in KDE, and of course, I love the awesome community commitment and 
dedication towards the same.

I've been following few mailing lists and the development in trunk since half 
an year. I had submitted a patch to KDE games[3] and another to KIPI plugins[4] 
to get a hold of KDE code-base and the development process of KDE.

Besides being proficient with C/C++/Python programming languages, I have worked 
upon several of my PyQt projects[1] like MP3 cutter/joiner, PDF 
splitter/joiner, etc. The project SAM[2] (Syberoam Account Manager) has been 
the most worked upon by me. It is a cyberoam account manager made using PyQt 
where users at colleges/workplaces that have cyberam firewall installed can use 
SAM *to automatically re-login after certain amount of time, *to manage 
multiple accounts and quota limits. I have also been extensively interested in 
python scripting, especially the ones relating to web crawling.

Besides coding, I love eating, entertainment and exploring new open source 
technologies.

I'll soon be adding experimental plasma codes to the "Links" section.

Links:
=====

[1] http://www.bitbucket.org/viranch
[2] http://www.bitbucket.org/viranch/sam
[3] http://svn.reviewboard.kde.org/r/5547/
[4] http://svn.reviewboard.kde.org/r/5773/

_______________________________________________
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel

Reply via email to