Small prototype apps were developed to evaluate the graphics and user interface libraries. Once the libraries had been selected, an iterative incremental approach was used. Requirements for each iteration, a fixed period or “timebox” of two weeks, were defined and prioritised before each iteration as MoSCoW lists based on client feedback. MoSCoW is a “prioritisation technique used in business analysis and software development to reach a common understanding with stakeholders on the importance they place on the delivery of each requirement” [14]. The client classifies the tasks for an iteration as “Must have”, “Should have” “Could have”,“Would like, but won’t be implemented”. The developer indicates
the expected time each task should take. To be used effectively, timeboxing requires at most 60% of the requirements to be of type “Must have”, so the client and developer can be confident that they will be achieved within the timebox. The iterative lifecycle ensured testing was continuous. A benefit of the Android platform is the heterogeneity of its target devices. However, this still requires rigorous device testing to ensure a consistent user experience. During development, the application was tested primarily on a HTC One X handset, and also on a Nexus 7 tablet and a Kindle Fire tablet. The Android Device Emulator was used during development. However, user interface testing on the emulator is limited as touch screen gestures cannot be truly simulated using a mouse. The iOS app was tested on an iPhone and an iPad as well as the iOS emulator