iPhone Application: Alpha Prototype

In addition to my CS349 group project’s alpha prototype, I spent the two weeks before and including Thanksgiving Break working on the alpha prototype for my iPhone application for the Davis Museum. This involved developing the model-view-controller relationships for a navigation style application, programming the interactions, designing the GUI and researching tag-based reader SDKs for the iPhone.

Just the development process was somewhat iterative, as it was an ongoing learning experience – for example, I completely rewrote the application when I realized that my MVC model wasn’t very sustainable or usable. Fortunately, Apple’s supplied view controllers (such as the navigation view controller) and their sample code were there to help, and while even after writing little programs in Objective-C all semester I was having difficulty adjusting, Apple’s resources helped me to the point that I feel incredibly comfortable with programming for the iPhone. (Thanks for nothing, “Beginner’s Guide to iPhone Programming.”)

Unfortunately, much more difficult than expected was working with the File I/O. Unlike in C#, used on the Microsoft Surface, Objective-C on the iPhone seems not to easily support both reading and writing to an XML file on a network. Because this is essential to the functioning of my application, I anticipate spending the next week attempting to learn more about SQLite3 and Core Data, and determining which one I should be working with (and how, to store my data).

It has also been difficult to find a tag-reading SDK that I can use to tag works in the museum. While RedLaser offers a very inexpensive SDK considering the great technology they offer, having to upload items to Google Base in order to have them read is problematic, as the paintings obviously aren’t products to be sold. It’s encouraging to see that Microsoft has developed Microsoft Tag, software that would address our needs, yet they have not released the SDK and apparently they have no plans to (only potentially to release the API, and they haven’t done that yet either).

The latter two issues (implementing database access/reading/writing, finding and implementing a tag-reading SDK) are those that I see myself focusing on over the next two weeks. Something that I look forward to (in addition to resolving those) is also designing the aesthetic for the application, such as the icon and the rest of the graphic polish.

December 3rd, 2009