If you want to build this as an android app, you will need a functioning updated Apache Cordova build system. There are many ways to get there, including installing NodeJS and Cordova on an Ubuntu system (as I do - I'm old-school, editing text files over ssh), using available cloud build systems like Adobe Phonegap, and complete IDEs like Android Studio. I won't get into details of making this all work, I assume you have a working build environment.

You can also use Cordova to build an iOS app, a Windows app, an Ubuntu app, and other possible platforms - I've no experience other than with Android builds, though I know that iOS supposedly requires a Mac as build system, Windows requires Windows, etc. The app would require alteration to work with other platforms. (likely for the plugins providing GPS/Geolocation, audio/vibration, etc)


To make an Android app you will need to create a new project in your build system, add Android platform, then you'll need five plugins:

# cordova plugin help
com.phonegap.LowLatencyAudio 0.1.0 "LowLatencyAudio"
cordova-plugin-geolocation 1.0.1 "Geolocation"
cordova-plugin-vibration 2.0.0 "Vibration"
cordova-plugin-whitelist 1.3.2 "Whitelist"
nl.x-services.plugins.insomnia 4.0.1 "Insomnia (prevent screen sleep)"
#

You can install them each like "cordova plugin add cordova-plugin-whitelist" (newer Cordova releases need the whitelist plugin in order to allow retrieving off-device web data) You'll also need these lines in your config.xml:

    <access origin="*" />
    <allow-navigation href="*" />
    <allow-intent href="*" />

To have the icon.png image actually used as the icon for the app when installed on an Android device, you'll need to empty out all default icon images in the platforms/android/res/drawable* folders, then copy icon.png (mine or your own) into the single platforms/android/res/drawable folder. (the others, if present, will override in certain installed environments, but a single icon.png image, if acceptable in practice, takes much less room) You can just leave the empty folders in place. You also may need to add the line <icon src="platforms/android/res/drawable/icon.png" /> to your config.xml file.

In addition I've included "strings.xml" - originally I had no need to alter this, but under latest Cordova I found it necessary to alter this file (which lives in platforms/android/res/values) to allow it to build correctly.

The archive file here includes the actual source (including jQuery and other Javascript library files used), my icon, strings.xml, and my config.xml to serve as an example. I also included two scripts I use that are auto-run when I invoke "cordova build android --release" each time - these are intended only as examples and suggestions. The first is called "incrementbuild" and lives in the hooks/before_build folder, it simply auto-increments the version number in the config.xml file. (your build environment may handle this for you) The second is called "moveapk" and simply copies the completed signed .apk file into a network shared folder that lets me access it from the internet.

Apart from my own files, the archive offered here includes:

jQuery and jQuery-ui
An indispensible JS library IMHO. Included here are the main jQuery and jQuery-ui javascript files in min-ified form (jQuery-UI trimmed to just the portions used through their online builder) and associated CSS and image resources.
MeterWidget-1.0
Copyright 2013 David Dupplaw, including associated CSS and image resources
Hammer.js
Copyright 2014 Jorik Tangelder, used to add the (sometimes-working) swipe left/right to change tabs feature (along with the jQuery glue jquery.hammer.js)
Gritter
Gritter provides the popup auto-hiding notification bubbles, the github project is under "jboesch" but I'm not certain who holds copyright.
jquery.timers-1.2.js
written by Blair Mitchelmore
jQuery Ui Touch Punch
Copyright 2011-2014, Dave Furfero, helps translate touchscreen events (touch, press-and-hold, etc) into more familiar mouse-based events (click, mouseup, etc)

Place the index.html file and the three folders (css, js, and sound) into the project's 'www' folder, overwriting (or previously removing) existing files. One thing you're likely to want to customize is the element "cfg_mir" in the index.html file - this is where I hardcoded the available MIR settings, and the associated down/up speeds WE provision for each - yours are almost certainly different.


You can download a tarball of the source here, or you can browse the archive folder here, note that the 'www' folder contains ONLY the index.html file of the app itself, in the actual build this file needs to be in the 'www' folder but so do the css, js, and sound folders.


Contact Joel Newkirk epmpme@newkirk.us with problems/suggestions/questions, or reach out to me on the Cambium Support Forum.