The past three months I have been working on an iPhone app for a local photographer John Childress. Like most great iPhone apps, the idea that John had dealt with a concept that would:
- Get him iPhone app market for his business
- Provide a new value-added service to his customers
- Providing a new form of media to promote his business to potential new customers
In doing research for the app he and looked at a lot of other photo gallery viewing apps in the App Store to see what features dominated and most importantly what could he offer that others didn't. Currently, after you have a photo shoot John will send you a gallery code and you can then view the flash slideshow on his site. There are few issues with the "mobile" market that we all live in now. The first is you can't view flash on the iPhone so trying to view your photos on the phone and show them off to friends and family is not possible. Rewriting his gallery website to be non-flash would be a good idea, but the system is currently in place and is integrated with his core business aspects. The other roadblock that he runs into is that most people want to view slides shows with a soundtrack.
*I think I just heard the RIAA scramble to call their lawyers for a lawsuit just for a business thinking of doing that*
With the JandB Photo app, which is a free download, users can add a gallery to their phone and enjoy the slideshow of images with an optional custom soundtrack from tracks on your phone. Want to share a picture on Facebook? Not a problem that feature in there as well. Want to view current specials that John is offering, there is a place for that.
What I really love about the app from a consumer point-of-view is that it is simple and straightforward. There is not guessing about what to do. A specific task is performed in the least amount of steps. You don't have to think. From a developer's point of view this app was one of the more challenging apps I have done and learned a lot. The app uses two complex frameworks. Three20 and Google's objective-c framework. Though integrating these components took sometime and I went through a few glasses of wine for support, both saved me COUNTLESS hours of custom development.
Apple should really be THANKING @joehewitt for this work his creation of the Three20 framework. Especially the photo gallery/viewer components. If it wasn't for Three20 then I am sure that developers would be rioting outside of 1 Infinite Looper Cupertino, CA for the lack of such important piece of built-in functionality. With all it's glory though I did have to make some modifications which include integration of posting an image to Facebook and adding in the ability to play an playlist that is associated with the gallery. Unfortunately, and I plan on working on this soon, I had to modify the core source which to be frank felt dirty. I just didn't have time to write classes extensions and categories for the gallery controller and viewer controller.
Google Objective-C Library
Man there really is a lot going with this library. Everything and the kitchen sink. When scouring through the wiki page for this I didn't see a lot of really good iPhone examples, but I was able to piece together what I couldn't figure out from their Mac example to modify a document and worked without a problem. My only real disappointment with this library is that there, IMHO, waaaaaay too many delegate methods and callbacks. With that being said I do understand why. Google gives you granular control of the content, metadata, revisions, ALC, etc. and objective-c is verbose so the end result is a lot of code to accomplish what I need which was: lookup a document by a given name, grab the latest revision, insert text at the end, close/save the document.
All in all I am very happy with the app. The first few future releases will mainly deal with performance. I still feel that I could squeeze some more performance on parsing through the images on the server side and optimize the network calls on the phone. After that some UI tweaks. To me the gallery listing could be a little prettier. Most importantly any enhancements that users want to see. Feedback is always welcome.
Head over to the App Store and check it out. If you want a check another gallery besides the default, then use "McKinna", without quotes. Shameless plug for my daughter.