GSoC/2016/StatusReports/AdityaDevSharma: Difference between revisions

From KDE Community Wiki
< GSoC‎ | 2016‎ | StatusReports
(Added Aditya Dev Sharma (g33kyaditya))
 
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
== KDE Now ==
== 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.