I spent a little of my weekend time tweaking the new PhoneGap-based Android app to make it less dependent on, well, Android. And even on PhoneGap. ;)

The app can now build with PhoneGap for iOS[1] (iPhone, iPad, iPod Touch) though there are some problems. The iOS stub source and Xcode project are in the main git repo along with the Android bits, so nothing needs to be separately maintained or copied.

[1] http://www.mediawiki.org/wiki/User:Brion_VIBBER/iOS_build_notes

Do note the major problems noted at the bottom of that page; there may be a bug in PhoneGap itself that's causing articles to open in Safari instead of in the iframe[2], and we don't yet have a non-Android menu implementation so not all features are accessible[3].

[2] https://bugzilla.wikimedia.org/show_bug.cgi?id=32069
[3] https://bugzilla.wikimedia.org/show_bug.cgi?id=32068


In addition, the app can now run without PhoneGap at all -- if you load it straight into a web browser it'll try to just go on its merry way without initializing the Android or PhoneGap-specific bits. This actually functions in Chrome -- but for now only if you launch Chrome with the --disable-web-security option which isn't a good idea. ;)

It needs currently-forbidden cross-origin access to things in the iframe and over XHR, and will need to be tweaked to work more directly in regular browsers... but this is a good indication that it'll be relatively easy to port this to other HTML/JS-based app environments, such as WebOS, ChromeOS, Mozilla's experimental Boot2Gecko project, etc.

If nothing else, it's a lot quicker to reload in Chrome than to relaunch the app in an Android emulator. ;)

As with the iOS version, there's no Android popup menu and we don't yet have an alternate.


A few features -- eg the 'Articles near me' map view -- currently are implemented as Android-specific plugins and will need iOS and general web variants too.

-- brion