GSOC 2012/Student Application niteshnarayan/Bringing the Cloud to the Fedora Desktop

Contact Information
Email Address: niteshnarayanlal@indiatimes.com

Telephone: +91 9663556029

Blog URL: niteshnarayanlal.blogspot.com

Freenode IRC Nick: niteshnarayanlal

Why do you want to work with the Fedora Project?

I already contribute to Fedora in Marketing team and Video team projects and am now looking to contribute more to the community. If my proposal is been accepted, I will look forward to the opportunity to continue learning about and working towards the Fedora community effort.

Do you have any past involvement with the Fedora project or another open source project as a contributor?

I have been a part of Fedora Marketing team and I have contributed to Fedora over the last few months. We are trying to setup a website or platform where all kind of Fedora related and other educational video tutorials can be put up. We organize weekly meetings to discuss and to decide our further moves. Its progrress can be viewed at[ https://fedoraproject.org/wiki/Videos.]

Did you participate with the past GSoC programs, if so which years, which organizations?

No

Will you continue contributing/ supporting the Fedora project after the GSoC 2012 program, if yes, which team(s), you are interested with?

I will be staying with Marketing and Video teams and am will be looking to start contributing more to bug fixing and main upstream application development.

Why should we choose you over other applicants?

Over the last few weeks I have spent sometime using and learning the Aeolus framework and have a good grasp on the things that need to be in place to make a usable interface. I had also prepared the mockup's attached below. I had already worked on many end user applications (such as Mobremote, Dextrous and few others as mentioned in my about me) , which is why have a good handle on the things we need to do while making a UI and how to improve the user's experience in an application by reducing their complexity to handle a particular application by making it more interactive and user friendly. I will also be extending the API as I go along in order to support new functionality.

Proposal Description
Aim:

Aeolus is an umbrella project that provides an open source API which to control any number of back end proprietary cloud providers. It allows us to write tooling that is able to deploy, monitor, and manage instances to any cloud provider such as EC2 or OpenStack in a Free and Open Manner. I aim to interface a QT application with the Aeolus API so as to provide an easy to use interface and to simplify the process of deploying to any cloud provider.

Usage:

Using the Qt application the user will be able to configure Aeolus end to end. Any other post-installation configuration will be achieved with minimal user interaction in order to streamline the user's experience. The same will apply to for building the image and pushing it will be done using a UI which will ask user to enter his information and after which the application will be generating the required XML files will push them with a single click made by the user.

Experience:

I have worked upon applications like Mobremote which is desktop based application can be downloaded from its website, I had also worked on web based applications involving end user interaction such as Chrome extension I wrote [1] and mobremote website [2]. My other projects are available on my github profile [3].

[1] https://chrome.google.com/webstore/detail/gjjmkajlfjkpginmgedgpebccgopdnni

[2] www.mobremote.com

[3] https://github.com/niteshnarayanlal

Implementation:
 * I will be implementing a UI which will be replacing the need to execute of initial commands to configure Aeolus . Additionally to generate the XML files user will be having an easy to use interface which will be the part of the application which can be downloaded by the user.
 * For the addition of cloud providers I will be implementing the current provider_accounts_controller.rb functionality to my application, in such a way the number of steps required to do so are minimal and easy for the user.
 * Cloud providers on which I will be working with is Amazon EC2 initially . I will be also trying to extending the present support of cloud providers.
 * For improving the over all basic looks of the application I will be writing up the Qt Style Sheets.

Time Line
Community Bonding Period:

"My exams are schedule for May 2012 8th through 27th but I will be studying the Aeolus implementation during that time.

28th May - 2rd June :

I will be working on the startup UI's and implementation of is corresponding functionality.

3rd June - 10th June :

In this week I will be testing the above UI and will be improving the look and feel of the UI created using either style sheets or may be animations .I will also be working on the Login UI and tutorial UI and will be adding few screen cast tutorials to the tutorial UI.

11th June - 17th June :

In this week I will be working on the Image builder and pusher UI. Once its complete I will be testing the above created UI's and will be working on improving there looks.

18th June - 24th June :

This will be the week when I will work with catalog creator and deployable UI and its testing.

25th June - 1st July :

In this week I will be putting up all the above UI simultaneously for testing with current conductor web based UI and will test them. After which I will be working on the cloud providers addition process simplification through an easy to use UI.

2nd July - 8th July :

This week I will be studying the implementation details required for converting the web based conductor UI to Desktop based UI completly

9th July :

Submission for mid term evaluation

10th July - 15th July :

Working on conductor desktop based UI.

16th July - 22nd July :

Module wise testing of the above created UI's, then Integrating all the UI together and testing simultaneously.

22nd July - 29th July :

Extending the features of above developed application. 30th July - 6th Aug :

Making some standard services available on Aeolus desktop application.

7th Aug - 13th Aug :

Testing the above added supports and integrating them to the above created conductor UI.

14th Aug - 20th Aug :

Testing, Bug Fixing and Documentation

20th Aug : Firm Pencil Down

About Me
I am a third year student of Computer Science at Manipal University .I have been using linux over the last 3 years. I have been using Fedora for two years now and KDE is the Desktop Environment which I prefer. I had done much of my coding in C++ but have a experience of Java and database (Postgre SQL) based projects. Other than this I have used JavaScript and PHP as well. Other than coding I love to contribute in open source communities by other ways (such as involving in marketing work and other projects ).

'''Have you communicated with a potential mentor? If so, who?''' Yes I have already talked to mmorsi and discussed about my implementation idea on IRC #aeolus

My Mock-ups :

https://picasaweb.google.com/108453109276209258652/AeolusMockups?authkey=Gv1sRgCPn5-eWimeeWJw#5728296727326931074

https://picasaweb.google.com/108453109276209258652/AeolusMockups?authkey=Gv1sRgCPn5-eWimeeWJw#5728296728573451426

https://picasaweb.google.com/108453109276209258652/AeolusMockups?authkey=Gv1sRgCPn5-eWimeeWJw#5728296732055522882

https://picasaweb.google.com/108453109276209258652/AeolusMockups?authkey=Gv1sRgCPn5-eWimeeWJw#5728296808063529218

https://picasaweb.google.com/108453109276209258652/AeolusMockups?authkey=Gv1sRgCPn5-eWimeeWJw#5728296871078081058

https://picasaweb.google.com/108453109276209258652/AeolusMockups?authkey=Gv1sRgCPn5-eWimeeWJw#5728296882950218722