Photo galleria: A hybrid mobile app developed using Phonegap
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.
This idea was a result of brainstorming I did to solve Issue- 76 on Photark. 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 . 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 . 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 .
The architectural outline of the application can be found here .
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.
1. 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.
2. 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  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.
3. 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.
4. 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.
· Source Code
· Documentation on how to use this application.
· Documentation on the details of source code like usage of API, OAuth etc.
A) 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
B) Community Interaction:
This project will be conducted and mentored by Apache Photark. The smooth flow of development process mentioned above will only be possible with the feedback and guidance of the project mentor and the PhotArk community. I have already started discussing about this topic with the mentor and have taken his suggestions which will help me in making this a successful app.
I have been doing research on Facebook, Picasa and Flickr APIs. I am also considering addition of more functionality to the app like viewing comments posted etc., using the metadata from APIs. This will be done if time permits.
Name: Bhargav Golla
Phone No.: +91-9680900243
Benefits out of the project:
The benefits I will be gaining out of this project is exposure to Phonegap, the open-source framework that has huge potential in the field of mobile apps which is the future now. With my work for OAuth 2.0, I will be learning lots of concepts of Network Security and various layers.
The benefit community will be gaining out of this project is that an application which most of us want is being delivered to them. Being a hybrid app, the platform isn’t a problem which will increase its user base.
|File name||Size||Date submitted|
|Bhargav_Golla.tar.gz||452.4 KB||August 26 2012 07:52 UTC|