Testing mobile apps with geolocation and i18n
Testing mobile apps can be tricky, particularly if they use geolocation. Sometimes there’s no substitute for manual testing with a mobile device in situ. For the last couple of years we have been developing a mobile learning game that uses Google Maps to locate geotagged learning tasks. Late last year I was testing it at the University of York in the UK. Instead of the elegant new campus at Heslington East, all Google Maps could show me was a muddy building site from several years previously. I have just returned from a few weeks working at Hanyang University in Seoul, Korea. This time it was the zoom level available in Google maps that was the problem – the satellite pictures of Seoul on Google maps don’t have a suitable level of detail. A further complication in Korea was the task of translating all the game’s text resources into Korean. It was useful to prove to myself that UTF-8 really does work for i18n (internationalization)! However many of the tools on my laptop could not cope with the character set, so kudos to Microsoft Word, with its handy viewer that shows you what your document will look like using different encodings before you load it, and to oXygen’s excellent XML editor that picked up my markup errors. I was also reminded, after some painful debugging, that sometimes the only bulletproof way to render an ampersand (&) in XML is ampersand hash 038 semicolon (no matter how else I tried to write that it rendered it as an ampersand – foolproof!)
Finally, if you’re thinking I could test all that in an emulator from the comfort of my office, we simultaneously tested the app with three similar Samsung phones (after all we were in Korea!) All three exhibited different behaviour, in particular in their response to the GPS signal. As I said, sometimes there’s no substitute for manual testing with a mobile device in situ.