iPhone and Surface System Conclusions
Having reached the end of the semester, my research and development on my iPhone and Surface projects has come to a temporary halt. Over break I look forward to enjoying my family and help design materials for the Tangible, Embodied and Embedded Interfaces conference at MIT in January. However, this has been both a challenging and fulfilling experience developing on both platforms, and has yielded results that I am truly pleased with.
Some challenges did present themselves as I debugged iPhone the application, particularly when trying to find a method to read from a file hosted remotely and to retrieve an image’s path on the iPhone. While that was resolved after two days of hunting the internet (as detailed in the previous post), there currently remains a challenge when working with the UIPageControl. To make the UIPageControl work I had used some sample code from Apple’s developer resources, but unfortunately this didn’t play nicely with the method I devised to populate the Response screens with information from the JSON file. Although I effectively developed a system for updating to and retrieving from the JSON file into a NSArray, for some reason “flipping” through the dynamically generated pages caused the application to crash. Because the array is successfully populating and the UIPageControl works with any data not being retrieved from an array, repairing this issue will take additional time. Additionally, attempting to repair this took priority over debugging the PHP script which is meant to upload an image object, and although I have the Objective-C in place I know I need to go back and refine the PHP uploader method in order for it to be scalable. As such, these are two weaknesses to the application which I intend to repair given more time.
Also, there were challenges arising from how we populated the Surface’s ScatterView with Artwork ScatterViewItems, as it was difficult to communicate the location of tokens to the ScatterViewItems on the screen, necessary for the full effectiveness of our saving and deleting functions. We also lacked time to play with the retrieval of responses, and in the future might like to work on randomizing them while also importing more images.
Happily, the current weaknesses of both applications are not terminal, but simply could not be resolved in the four weeks we had to develop the aesthetic and functional prototypes on the Surface and the iPhone. As I intend to work with Dr. Orit Shaer and Jim Olson of the Davis Museum to test and refine these applications in the museum setting next semester, this is only the beginning of a project I am very excited about bringing to the Davis Museum. An additional feature I plan to bring to the application is the ability to read 2D codes using the iPhone’s camera, so that users can scan a code rather than type one in when unlocking responses. I plan to use the zxing image processing library with its iPhone module to do so, and I believe this will add a fun and enticing element to using the application. Additionally, I intend to write a PHP script to convert an XML file hosted on the server to a JSON file, as Jim and the museum curators are already storing information about the artworks in XML files. In so doing, I can avoid the hassle of working with the NSXML methods and continue to take advantage of the JSON framework, without inconveniencing the museum staff.
December 21st, 2009