conquering the mobile web

leverage standard technologies - gain extraordinary results

"We need a mobile app"

Which platform?

http://store.apple.com/us/browse/home/shop_iphone/family/iphone
http://en.wikipedia.org/wiki/File:BlackBerry_Bold_9900.jpg
http://www.android.com/about/

"Why, all of them!"

Example Just Connect

Very much experience with

Natural choice: a web app

Deployment to a big range of platforms in the shortest time frame
(not only the three target platforms)

What do you want to achieve?

And what are the devices we want to target?

Technological view

HTTP for data access

Set, not much to discuss

offline storage

realtime events

realtime events: push

There's a problem: when you leave the browser you won't get any notifications

The notifications API doesn't change that

broad coverage: code base

with native apps: one app/code base per platform

with web apps: one app/code base for all of them

broad coverage: deployment

with native apps: deploy to every app store independently

with web apps: deploy to your web server

broad coverage: web app stores

broad coverage: web app stores

There's no standardized way to
discover
launch
pay
in the web app world, yet.

hardware access/device APIs

openness: iOS

openness: Android

openness: BlackBerry

demo time

realtime communication

 1 function commandHandler(ev) {
 2     document.querySelector("#command").innerHTML = ev.data;
 3     switch (ev.data) {
 4     case "back":
 5         back();
 6         break;
 7     case "forward":
 8         forward();
 9         break;
10     }
11 }
12 
13 source = new window.EventSource("/api/channel/" + window.channel);
14 source.addEventListener("command", commandHandler);
Geo Location
Device Orientation

Interconnection

btw, many native apps we use today are mere user interfaces to Web services.

wrap up

The Web is the future of mobile Free Software

/me

Github: http://github.com/Makkes
Blog: http://blog.makk.es
Google+: http://gplus.to/makkes
Twitter: http://twitter.com/makkes
froscon12.makk.es