In June 2011, Assanka launched the Financial Times web app, built entirely in web technologies. The app works on a wide variety of tablets and smartphones, silently updates to the latest version and does not require an app store
platforms – iOS, WebOS, WinPhone, Android, QNX, BBOS • App Store fees • Loss of control over customer data • No control over distribution channel promotion
Template Layouts would be awesome… if anyone supported them • Adobe webkit fork also awesome, but not in iOS native webkit • Solution we use: Measure the content and cut it into positioned containers using JavaScript
• Some taps are shorter • 'Fastclick' layer to detect very brief taps, convert to clicks. • Used for devices that fire touch events • Used eg for tapping through an article • Disables interactions like double tap to zoom
needs is in the manifest • Attach event listeners to manifest events to allow progress feedback • Manifest is atomic – download all or none • Webkit manifest bug – obscure naming of the manifest helps • Set dynamic comment in manifest for dev
something else for editorial content • IndexedDB is the emerging standard but not supported by Safari • Currently use SQLite • Small database mode < 5MB • Large mode requires consent for 50MB • Use localStorage for index, as it's faster
temporary to put in manifest. But binary data from SQLite can't be put in an IMG tag • Solution: Download images as base64 encoded strings • Store in SQLite • Render as data: URIs – <img src=“data:image/png;……” /> • Currently looking at File API
as images, so don’t do nasty recompression • Multiple images can be batched in one HTTP response • Response can be gzipped (resulting size is comparable to size of original images)
log user actions into SQLite • POST the log when requesting updated content • Server-side, convert into an Apache-format access log • Remember: logs are never definitive. Offline stats are reported on a variable delay.
critical • The web can deliver on this almost as well, and in some cases, better, than native • Web apps retain all the benefits of the web that you give up when building native apps • So don’t build native apps. Build web apps!