Our implementation was actually very interesting. We started developing kinda late in the game, so we were very pressed for time. In order to maximize our productivity and minimize workload, we opted to not go for a pure iphone app. In fact, we barely touched Xcode throughout the development process except to run the simulator.

We used a program called "PhoneGap" along with a rapid prototyping software called "Codiqa". Codiqa is a GUI to output jquery mobile code, and PhoneGap is a wrapper for html/css/javascript applications for Xcode. Once we had made the prototype in Codiqa, we exported to independent files and did all our development on these html/css/js files. Throughout this we were able to test straight on the iPhone as a native app using PhoneGap and Xcode.

While this implementation was extremely fast, there were many, many quirks that constrained us throughout the dev process. Codiqa itself was a horrifying buggy application. Half of the functionality of jQuery mobile was not offered in Codiqa, and the other half didn't even work. The pathetic app that came out of it needed a ton of manual tweaking in jQuery mobile to get right. One example of implementation problems that affected the usability of our interface was that we were unable to figure out how to implement page swipe transitions on the screen. This lead to us leaving out a key feature of the main page: swipe in the direction you want to navigate.

Another problem of jQuery mobile with the Codiqa wrapper was that we could not allow users to scroll, or the "elastic" snap back would show, breaking the illusion that the app was a native app and not a browser wrapper. However, disabling touch scrolling also disabled horizontal scrolling, so on the pages we had horizontal scrolling we had to enable it, leaving a hole in our UI illusion. Also, in some cases if the user accidentally double tapped, the app would actually zoom in on that spot, leaving the user extremely confused. These are all things we could have avoided if we had not used this implementation.

  • No labels