*Proposal Title:* Photo galleria: A hybrid mobile app developed using Phonegap
Proposal Abstract: There is no Hybrid mobile app for a user to view all his photos stored in various online social networking sites and storage sites at one place. The goal of this project is to solve the aforementioned problem. Through this project, I intend to develop a hybrid app that will stream all photos a user has uploaded on various sites like Facebook, Picasa, and Flickr etc. by making use of APIs of these sites. This app will be developed using Phonegap. *Detailed Description*: This idea was a result of brainstorming I did to solve Issue- 76 on Photark [1 <https://issues.apache.org/jira/browse/PHOTARK-76>]. The end product of this project is a hybrid mobile app that will display a photo stream of all photos a user uploaded on various sites like Facebook, Picasa, and Flickr etc. The reason I chose Phonegap for the app development is because I feel that hybrid apps are better than native apps and Phonegap helps a lot in developing Hybrid apps. The home screen of the app, for a first time user will feature options for the user to connect to various sites as shown here [2]. To start off with, I am picking Facebook, Picasa and Flickr as these are the most used photo sharing websites and have great documentation that will help me in developing the app. Once the user provides authorization to the app to fetch photos from the websites he wants, the photo stream gets displayed as shown here [3]. This stream will be sorted according to the date added. User can choose to add/ remove authorization to remaining websites at any point of time by clicking on the settings tab. The screen for this page looks like this [4]. The architectural outline of the application can be found here [5]. *Implementation details:* Picasa, Facebook and Flickr APIs are free to use. Phonegap will be used to develop the app. Let me provide a brief introduction to the steps that will be followed in the development procedure of the app. - Mobile UI design: The UI designed should be attractive and should contain minimal elements. As this is a hybrid mobile app, all types of screens will be taken care of and a suitable UI will be designed. This will include the development and design of three pages that have similar functionalities as screenshots shown above. These three screens have to be linked. My work at art will help me in designing user friendly and attractive screens. - Integrating with Servers: This module can be viewed as two parts. One, authorization to access photos from user account. This will be done using OAuth. All the above APIs support OAuth 2.0 [6] and hence the same will be used. Once the user authorizes the app to fetch photos, the second step starts i.e., taking data (photos) from these servers along with metadata like album name, date created/added. This metadata will help us in grouping the photos and sorting them chronologically. - Organize and Display Photos: The photos that come from the servers are to be grouped under albums and have to be sorted chronologically. The metadata made available by the services from these APIs will be used to achieve this functionality. Thus the organization of photos is done. The next important element, probably the most important element, is how the photos get displayed. I will make sure there is constant streaming of photos, i.e., the app doesn’t wait for all the photos to be transferred to local storage but will start displaying photos as they are getting transferred to local storage. This will enhance the user experience of the application and in turn gains huge ratings on user experience grounds. - Fine Tuning the application: This includes the testing part of the application and other upgrades i.e., add-ons to the basic functionality. We can expect users with large amount of photos on their accounts. Our app must be developed in such a way as to minimize the data transfer that exists between server and phone. This can be done by taking photos of only specific time duration at once and requesting older photos only if a user scrolls down to that location. * Timeline to be followed: * May 21, 2012: Coding begins 1.5 weeks:* *Designing UI 3.5 weeks: Integrating with servers 1.5 weeks: Testing of app and integrating the two modules. Updating documentation *July 9, 2012: Mid-term Code submission* 2 weeks: Organizing and Display photos 3 weeks: Fine Tuning the application 1 week: Improving documentation, rigorous testing *August 20, 2012: ‘Pencils Down’ Date* - About Me: I am Bhargav Golla, a third year student from the Department of Computer Sciences and Information Systems at BITS-Pilani, Rajasthan, India. I am pursuing my undergraduate degree in Computer Science Engineering. I am the coordinator of Apogee, BITS-Pilani national technical festival. This provided me with the leadership skills that helped me lead my team to success in Apogee. I am an open source enthusiast. I am associated with BITSFOSS (an initiative aimed at providing to students of BITS Pilani a repository of FOSS software and open educational content) as a Social Media manager in the newsletter campaign to encourage Open Source Software usage in our college. My association with Android Mobile Computing User Group and Google Technology Users Group (as a founder of BITS-Pilani Chapter) helped me gain working experience with technologies like Android, HTML5/CSS3 and Python. I am very good at C, JavaScript, and Java and am also familiar with Windows Phone App development. I organized Windows Phone App development Workshops and App-a-thons with Microsoft help at BITS-Pilani. References: [1] https://issues.apache.org/jira/browse/PHOTARK-76 [2] http://tinyurl.com/c8b4xv8 [3] http://tinyurl.com/c45h5q5 [4] http://tinyurl.com/ck7jg5r [5] http://bit.ly/softarchi [6] http://en.wikipedia.org/wiki/OAuth#OAuth_2.0 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Please let me what you think about this proposal. Any constructive suggestions are welcome. Thanks -- Bhargav Golla Apogee Coordinator Computer Science Association BITS-Pilani
