Name: Sinny Kumari
Freenode IRC Nick: ksinny
Motivation for Proposal / Goal:
A Media Center plays an important role in any engaging computing interface. People can listen to their favourite music, watch entertaining videos like Big Buck Bunny or view the photos from last vacation and get refreshment from their work. Currently existing Plasma Media Center has basic set of functionalities but not ready for its first alpha release due to some missing features and rigid UI.
I personally feel that a revolutionary environment like KDE should have a beautiful Media Center, and Plasma with QML seems to be the best tools to be used. The main goal will be to make Plasma Media Center ready for its first release, with browsing of local media files (Videos, Pictures and Music) so that people can enjoy it. An important point to be kept in mind that arose during an IRC discussion will be to make sure that it is usable when viewed on TVs and from a large distance.
Use Cases:
Expected Result-
Workflow:
In order to use Plasma Media Center in an effective way, we consider the following example which shows the expected way in which users can use the Media Center using minimal keys of keyboard.
First of all, the user opens Plasma Media Center and gets the home screen consisting of Music, Pictures, Videos options. User can navigate to any mode using left and right arrow key and hitting enter key. Let's consider Music option is selected, user gets a new screen having plasmoid to browse through local files and add them into the playlist. Through media controller he can play/pause, next, previous, etc with the help of media keys.
At the same time, user would like to view recently taken lovely pictures and videos of tour. So, can navigate to the pictures mode and can browse and watch the pictures. After watching pictures, he would like to watch the taken videos too. He can easily navigate to videos and can watch video from the local file system.
Implementation Details:
1) Home Screen
Home Screen of Plasma Media Center will be created consisting of options to go to selected mode (Picture, Music, Video) by user. Use QML’s State framework to do the mode switching.
2) Media Browser :
By considering three modes of Media Center (Pictures, Music, Video), three modes are created for browsing them -
a) Picture Browsing
Having various options to browse through the all supported pictures present in local file-system and make it available inside the Media Center. User can watch the preview of the selected file. Slideshow with option to set timer to view pictures. Viewing options will be General, Favourite, frequently viewed.
b) Music Browsing
Having option to browse, add different supported music files present in the local filesystem. The user can group the music according to the Artist, Album, Genre, favourite, etc.
c) Video Browsing
Having option to browse, add supported video files present in the local directory. Preview of selected video file can be seen. User can group video files according to the field like Local Videos, Tags.
3) Media Controller
It will control the behaviour of the running Music, Video, Slideshow. Working of Media center can be controlled by mouse movements, keyboard keys. Various keyboard shortcut will be be added to make controlling better. Further, the keyboard navigation keys will be such that it is easy to use a key-based remote control (such as the ones on laptops) will be easy.
4) Playlist
The existing playlist dataengine supports playlists with multiple playlist save/load support. This will be integrated into a Playlist Plasmoid which will then show a playlist of selected media.
After testing each component individually, I will move on to integrating more components together and testing it for all possible user choices.
Tentative Timeline:
April 25 - May 23 (Community Bonding Period)
Study the existing Media Center code to understand overall structure. Learn how to write QML Plasmoids effectively. Try to find out if existing QML plasmoids can be re-used.
May 24- June 20 (Coding - Phase 1)
Implement Home Screen, and Media Browser Picture mode.
June 21 - July 17 (Coding - Phase 2)
Implement Media Browser modes - Music, Video
July 18 - July 31 (Coding - Phase 3)
Implement Playlist, and Media Controller
August 1 - August 14 (UI Polishing, Bug fixing)
Encourage the community to try out the software, and do some modifications to make it easy to use and attractive. Fix bugs.
August 15 - August 26 (pencils down)
Write code documentation, includes doxygen comments and techbase/userbase articles.
Do you have other obligations from late May to early August (school, work, etc.)?
I will have University exam in middle of June, but i am sure that it will not have any effect on my work and will manage my time accordingly.
About Me:
I am a student currently in 3rd year, doing Bachelor of Engineering course with Computer Science and Engineering as major in Dayananda Sagar College of Engineering, Bangalore, Karnataka, India. Apart from academics I have great interest in Free Software and am one of the lucky people who started using computers using a Free Operating System. Due to my passion towards Free Software, I have attended different seminars and conferences related to like Mukthi, foss.in, conf.kde.in etc.
On the community part, I helped organize conf.kde.in 2011, the first ever KDE Conference in India along with Pradeepto and team. We also helped students in KDE/Qt workshop which gave hands-on experience to them. It was lots of fun meeting with KDE contributors like Annie Marie, Boudewijn Rempt, Inge Wallin and others. While having lunch, I discussed ideas with Annie Marie and Lydia, and they encouraged me to apply for Summer of Code this year.
I first used KDE SC two years back and I loved it so much that I started using it in my day to day life. Feeling that even I can make a difference, I have been contributing to KDE since last 9 months. My code contributions to KDE at CIA.vc http://cia.vc/stats/author/Sinny%20Kumari and http://cia.vc/stats/author/sinnykumari (svn).
Apart from these, few other links are :-
http://git.reviewboard.kde.org/r/100764/
http://reviewboard.kde.org/r/5063/
http://reviewboard.kde.org/r/5060/
http://reviewboard.kde.org/r/4730/
Lastly, I assure that I will give around 40 hours per week for my work with no other obligations except my college which is quite obvious. If any part my proposal is not clear, I will be very happy to clarify it.