Going Native
As accredited Apple Developers, we have the option to build and make our application available as a native app. Apple currently recommends you create iOS games and apps using their Objective C language, however frameworks such as Phonegap allow us to essentially ‘package’ an app built in web technologies such as HTML5 into a native app.
But why?
Innate benefits include ridding yourself of the web browser’s UI elements (such as the taskbar), and being able to run the app offline, without 3G or Wifi connection. Then there is access to the iPad’s accelerometers, amongst other goodies, not to mention the kudos of having your project in the App Store! Yet given the notoriously long vetting time for applications, along with our own strict deadline, is it worth it, let alone possible?
Luckily for us and our users, a combination of inbuilt iPad functionality and nifty HTML5/CSS3 allow DuckPad to appropriate the trappings of a native app while running in Safari.
But how?
Whilst new CSS3 properties allow us to do things such as disable the copy/paste dialogue, fix the viewport and re-colour the unsightly grey box that appears when page elements are activated, the foremost problem with Safari is the browser chrome. As well as taking up valuable screen estate with UI elements we don’t need to navigate through the Duckpad, this is distracting for the user.
By using the ‘apple-mobile-web-app-capable’ meta tag, we can launch the webapp fullscreen taking full use of the iPad’s screen. To further the app-like experience, we can create and set a bespoke icon that can be saved to the iPad’s home screen in order to launch DuckPad.
Finally, with the wonders of HTML5 caching, we can use the app offline, without requiring WiFi or 3G connection. There are however, limitations - all new content must be loaded dynamically in the one bookmarked page, whilst a 5mb cache limit means offline viewing of our videos out of the question. Furthermore, we have been experiencing a problem affecting the custom SVG fonts we’ve used when cached which has implications for both design and branding. (see our earlier post on SVG fonts)
With HTML5 the line between web app and native app are becoming blurred, especially on the iPad. We feel that for simple, applications that are quick to develop and work across platforms - HTML5 is the future!
