GSoC/2016/StatusReports/AdityaDevSharma: Difference between revisions
G33kyaditya (talk | contribs) Added Aditya Dev Sharma (g33kyaditya) |
G33kyaditya (talk | contribs) |
||
(2 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
== | == About Me == | ||
Name: Aditya Dev Sharma (g33kyaditya) | Name: Aditya Dev Sharma (g33kyaditya) | ||
Freenode IRC: g33kyaditya | |||
GSoC nick/display name: g33kyaditya | |||
Blog: [https://g33kyaditya.wordpress.com/ g33kyaditya] | |||
== KDE Now == | |||
KDE Now is an alternative in some sense, of Google Now on Android. After an email confirming Event, Flight, Hotel or Restaurant Reservation, a user will be shown a card with the related information on a desktop plasmoid (they are like widgets for the KDE desktop). | KDE Now is an alternative in some sense, of Google Now on Android. After an email confirming Event, Flight, Hotel or Restaurant Reservation, a user will be shown a card with the related information on a desktop plasmoid (they are like widgets for the KDE desktop). | ||
Line 27: | Line 35: | ||
* Plasmoid for viewing said cards. | * Plasmoid for viewing said cards. | ||
* Dynamic generation of content on the plasmoid | * Dynamic generation of content on the plasmoid | ||
* Back end support for multiple user accounts | * Back end support for multiple user accounts | ||
Quickgit repository: [https://quickgit.kde.org/?p=kde-now.git KDE Now] | |||
Github repository: [https://github.com/g33kyaditya/KDE-Now KDE Now] | Github repository: [https://github.com/g33kyaditya/KDE-Now KDE Now] | ||
Blog posts: [https://g33kyaditya.wordpress.com/tag/gsoc16/ Blog] | Blog posts: [https://g33kyaditya.wordpress.com/tag/gsoc16/ Related Blog Posts] | ||
Working Demo: [https://www.youtube.com/watch?v=a5bJdDuQRIQ Demo] | Working Demo: [https://www.youtube.com/watch?v=a5bJdDuQRIQ Demo] |
Latest revision as of 06:37, 20 August 2016
About Me
Name: Aditya Dev Sharma (g33kyaditya)
Freenode IRC: g33kyaditya
GSoC nick/display name: g33kyaditya
Blog: g33kyaditya
KDE Now
KDE Now is an alternative in some sense, of Google Now on Android. After an email confirming Event, Flight, Hotel or Restaurant Reservation, a user will be shown a card with the related information on a desktop plasmoid (they are like widgets for the KDE desktop).
Proposed Work
Earlier I had mentioned using Akonadi Storage for getting emails but along the project selection stage, plans changed and I chose to develop my own IMAP client for getting emails. Hence, the proposed deliverables were:
- An IMAP client for fetching emails given some user account credentials
- A daemon for the above client
- A plasmoid for viewing cards
- Cards for Event, Flight, Hotel and Restaurant each
- Backend plugin support for each of the above mentioned cards
Work report
In the past few months, I managed to develop a working model of KDE Now. To summarize:
- We have an IMAP based client (henceforth called as KDE Now daemon) that runs like a daemon fetches all emails until the last one month.
- The KDE Now daemon supports new emails/updates on the fly.
- Support for SQLITE database, in which we add records from once fetched emails, given the emails are of interest.
- Plugin architecture for the KDE Now daemon which would make adding other schemas/support for other things very easy in the future
- Each of the four plugins for Event, Flight, Hotel and Restaurant reservations.
- Cards for each type of plugins.
- Plasmoid for viewing said cards.
- Dynamic generation of content on the plasmoid
- Back end support for multiple user accounts
Quickgit repository: KDE Now
Github repository: KDE Now
Blog posts: Related Blog Posts
Working Demo: Demo
What I learnt
- C++
- Qt
- QML
- CMake
- KIMAP's API
- KWallet's API
- SQLITE
- D-Bus concepts and working
- Plugin Architecture of applications
- Plasmoid's working
- Classes' design
- Incremental Development
- Project management
Plans for future
Although we have a working, model but I still believe that KDE Now is far from release. I plan to continue working on the project after GSoC finishes. Below are some of the things I plan to do in no particular order before a possible release:
- Providing a front end for getting user details of multiple accounts. Currently we have front end support for entering just one email account and backend support for multiple user accounts.
- Writing Documentation
- Writing Unit Tests for everything
- Testing
- Changing the cards' background from current images to SVG's
- Getting a graphics designer to design said svg's
Apart from these, there are some other long term plans for the project:
- Integration with current KDE software. For eg. integration of Events with Calendar
- Integration with Sink (akonadi-next) when it is released.