Similar to the platform-based app, our HTML5 app can tap
into the phone’s hardware. The difference between the two
apps is that users must load the HTML5 app hosted on a server
into their browser. The device will interact with the server
instead of directly communicating with IQEngine Web service.
The parameters that the app delivers to the IQEngine server
include the timestamp of the image, the API key and the
signature created by using HMAC-SHA1 hashing algorithm.
We use Aptana Studio as the IDE for coding, and Opera
Dragonfly for debugging and testing the app. We also employ
000Webhost to host our HTML5 app including HTML5,
JavaScript, jQuery Mobile, CSS3 files and PHP scripts.
HTML5 and JavaScript provides us with the element
and navigator.getUsermedia() to access phone’s camera, and
the element to create the file dialog on HTML5 page.
Furthermore, we adopt several interface elements and features
of jQuery Mobile (e.g. pages within pages, Ajax navigation,
page transition, orientation on change and theming) to design
our user interface, thereby releasing our headache to make the
app look like a platform-based app. The PHP scripts are to
upload selected image from SD Card, make IQEngine API
requests and print the label as depicted in Fig. 3.