The Mobile Web - Fronteers 2009

58
The Mobile Web (or the masochist's guide to gleeful self-flagellation) Peter-Paul Koch (ppk) http://quirksmode.org http://twitter.com/ppk Fronteers 2009, 5 November 2009 Hell is other browsers - Sartre

description

State of the Mobile Web in November 2009. 60% the same as the Full Frontal presentation.

Transcript of The Mobile Web - Fronteers 2009

Page 1: The Mobile Web - Fronteers 2009

The Mobile Web(or the masochist's guide to gleeful

self-flagellation)

Peter-Paul Koch (ppk)http://quirksmode.orghttp://twitter.com/ppk

Fronteers 2009, 5 November 2009

Hell is other browsers - Sartre

Page 2: The Mobile Web - Fronteers 2009

1588The Most Catholic King is not pleased with the Queen of England.She is the only major opponent of victorious catholicism left in Europe.

Page 3: The Mobile Web - Fronteers 2009

1588The Spanish armies are invincible. The English won't stand a chance.But England is an island. Therefore a different strategy is required.

Page 4: The Mobile Web - Fronteers 2009

1588We'll build a fleet; one that is so large that it

can't possibly fail

Page 5: The Mobile Web - Fronteers 2009

The Invincible Armada

Page 6: The Mobile Web - Fronteers 2009

The Invincible Armada

20 galleons, 4 galleys, 4 galleases, about 100 smaller and supporting ships.

The first ever really big Atlantic fleetbound for the first ever really big Atlantic sea war.

Page 7: The Mobile Web - Fronteers 2009

The Invincible Armada

The struggle between the Armada and the English fleet was the first modern naval battle in history.

There was just one slight problem:

Nobody had the faintest idea how to conduct a modern naval battle.

Page 8: The Mobile Web - Fronteers 2009

Shooting

Shooting the other side's ships to bits is a vital ingredient of any naval tactic. Both the English and the Spanish were aware of that.

What they didn'tknow was how to pull it off.

Page 9: The Mobile Web - Fronteers 2009

Shooting

These two ships can fire until all powder and balls are spent, but they'll hit each other only by luck.

They're notclose enough.

Page 10: The Mobile Web - Fronteers 2009

Shooting

It was only in the next century that they figured out ships had to approach closely, and then fire all cannon simultaneously.

Page 11: The Mobile Web - Fronteers 2009

The Invincible Armada

The first modern naval battle in history.Serious mistakes were made; mistakes that later generations found odd.

That's exactly where we are with the mobile web right now.

Page 12: The Mobile Web - Fronteers 2009

The Mobile Web

Mobile is the single most fascinating development on the Web in many years.

Problem is: we don't have the faintest idea what to do with it.

Yet.

Page 13: The Mobile Web - Fronteers 2009

Case study: Liever.com

Page 14: The Mobile Web - Fronteers 2009

Case study: Liever.com

- Browse through photos of interior design.- Create a scrapbook with stuff you like.- Use site to get directions to nearest shop.

Now which mobile strategy should Liever.com use?

Page 15: The Mobile Web - Fronteers 2009

Case study: Liever.com

Mobile strategy:

Allow users to put their scrapbook on their phone so they can take it to the shop and show what they want to buy.

Mobile strategy is about context, and this is context ... isn't it?

Page 16: The Mobile Web - Fronteers 2009

Case study: Liever.com

Allow users to put their scrapbook on their phone.How?

a) An applicationb) Web

Page 17: The Mobile Web - Fronteers 2009

Case study: Liever.com

Allow users to put their scrapbook on their phone.How?

a) An applicationb) Web

Page 18: The Mobile Web - Fronteers 2009

Applications

Writing a mobile app seems to be a good idea. An app can tie in with the phone OS and use its strengths.

Geolocation might be useful: where is the closest shop for product X?

Page 19: The Mobile Web - Fronteers 2009

Applications

So let's write one for the iPhoneAnd one for AndroidAnd one for BlackberryAnd one for SymbianAnd one for Windows MobileAnd one for Linuxetc.etc.

Interoperability: 0

Page 20: The Mobile Web - Fronteers 2009

Case study: Liever.com

Allow users to put their scrapbook on their phone.How?

a) An applicationb) Web

Page 21: The Mobile Web - Fronteers 2009

The Mobile Web

The other option is to create a website. Or rather, to make the already-existing website safe for mobile devices.

That means we have to take a closer look at the mobile browsers.

Freak show time!

Page 22: The Mobile Web - Fronteers 2009

Mobile browsers

- Android WebKit- Opera Mobile- NetFront- Safari- MicroB- Blackberry- S60 WebKit- IE Mobile- Palm WebKit

You may groan now.

- Iris- Bolt- Skyfire- Obigo- Fennec- Teashark- Ozone- Opera Mini

Page 23: The Mobile Web - Fronteers 2009

Mobile browsers

- Android WebKit- Opera Mobile- NetFront- Safari- MicroB- Blackberry- S60 WebKit- IE Mobile- Palm WebKit

Default browsers

- Iris- Bolt- Skyfire- Obigo- Fennec- Teashark- Ozone- Opera Mini

Non-default

Page 24: The Mobile Web - Fronteers 2009

Mobile browsers

- Android WebKit- Opera Mobile- NetFront- Safari- MicroB- Blackberry- S60 WebKit- IE Mobile- Palm

These are all WebKit browsers.

- Iris- Bolt- Skyfire- Obigo- Fennec- Teashark- Ozone- Opera Mini

Page 25: The Mobile Web - Fronteers 2009

WebKit Mobile

There is no WebKit on Mobile.

There's iPhone Safari (2 and 3), and Android (1.0 and 1.5)and S60 WebKit (v3 and v5)and Iris, which was bought by Blackberryand Palmand Bolt, Ozone, Teashark, and a few more

These WebKits are all different.

Page 26: The Mobile Web - Fronteers 2009

There is no WebKit on Mobile.

Exhibit A: http://quirksmode.org/m

Page 27: The Mobile Web - Fronteers 2009

Mobile browsers

The main battle on mobile is now between “WebKit” and Opera.

WebKit is free, but that means everybody creates his own version.

Opera costs money (for vendors), but there's some central planning, and therefore less differences.

Page 28: The Mobile Web - Fronteers 2009

Mobile browsers

- Blackberry browser is dead; they'll switch to WebKit instead- Mozilla is very late to the game- NetFront is not very good- IE ... is IE (IE6, to be precise)- The minor browsers are even worse

Page 29: The Mobile Web - Fronteers 2009

Example

Page 30: The Mobile Web - Fronteers 2009

Safari iPhone 2.2

Zooms out and shows entire page.Width about 900px

Page 31: The Mobile Web - Fronteers 2009

Blackberry 9500 (Storm)

Same, but with a few bugs.

Page 32: The Mobile Web - Fronteers 2009

S60v3 WebKit on Nokia E71

Page 33: The Mobile Web - Fronteers 2009

NetFront 3.2 on Samsung F700

Yeah ... right ...

But what if we switch it to landscape mode?

Page 34: The Mobile Web - Fronteers 2009

NetFront 3.2 on Samsung F700 landscape

Page 35: The Mobile Web - Fronteers 2009

Opera Mobile 9.5 on HTC Touch Diamond(Win Mob 6.1)

Footer not visible; otherwise OK.

Page 36: The Mobile Web - Fronteers 2009

Opera Mobile 9.5 on HTC Touch Diamond(Win Mob 6.1)

Footer not visible; otherwise OK.

But...

This is in desktop mode.

There's also a mobile mode.

Page 37: The Mobile Web - Fronteers 2009

Opera Mobile 9.5 on HTC Touch Diamond(Win Mob 6.1)in mobile mode.

Totally different.

Page 38: The Mobile Web - Fronteers 2009

Opera Mobile 9.5 on HTC Touch Diamond(Win Mob 6.1)in desktop mode.

Basic CSS.

Page 39: The Mobile Web - Fronteers 2009

Opera Mobile 9.5 on HTC Touch Diamond(Win Mob 6.1)in mobile mode.

Basic CSS.

Page 40: The Mobile Web - Fronteers 2009

Android 1.5 landscape mode

Page 41: The Mobile Web - Fronteers 2009

Android 1.5 portrait, in mobile mode.

The 300px wide box is smaller than the 330px wide box.

Page 42: The Mobile Web - Fronteers 2009

Case study: Liever.com

Allow users to put their scrapbook on their phone.How?

a) An applicationb) Web

Page 43: The Mobile Web - Fronteers 2009

Case study: Liever.com

App problems:- No interoperability.- If you update the app, you have to pay one team per platform to do the work for you.

Page 44: The Mobile Web - Fronteers 2009

Case study: Liever.com

Web problems:- Browsers. That's fundamentally nothing new, but the details are different.- Connections

Page 45: The Mobile Web - Fronteers 2009

Connections

If the guy next to you is downloading a few moviesyour network connection will slow down regardless of how good it's supposed to be.

I don't see this problem disappearing any time soon.

Page 46: The Mobile Web - Fronteers 2009

Connections

This is a problem on the mobile web,especially when your site uses 200K of custom JavaScript plus a few libraries.

They have to be downloaded every time the user visits your siteand caching isn't always reliable.

Page 47: The Mobile Web - Fronteers 2009

Connections

Solution:Put the core files on your mobile phoneso that you only need to download the data. Saves a lot of network traffic.

Apps do that. Websites don't.

Enter W3C Widgets.

Page 48: The Mobile Web - Fronteers 2009

W3C Widgets

W3C Widgets are local applications written in HTML, CSS, and JavaScript.

They run in a browser (mainly Opera right now).

They can do Ajax requests for more data.

Page 49: The Mobile Web - Fronteers 2009

Creating W3C Widgets

- Create 1 HTML page with the CSS, JavaScript, and images you need.- Add an icon and a config.xml- Zip the lot- Change extension to .wgt- Upload to a widget-capable phone- It Just Works

Page 50: The Mobile Web - Fronteers 2009

W3C Widgets

Besides...

If I have a W3C Widget on my S60 phoneand you have a Windows Mobile phoneI can send the widget via Bluetoothand It Just Works

(Really; I've done it)

Page 51: The Mobile Web - Fronteers 2009

W3C Widgets

Right now W3C Widgets work in:

- S60 phones with Vodafone Widget Manager- any phone with Opera Mobile 9.51+- Windows Mobile 6.5 phones (well, almost)

Page 52: The Mobile Web - Fronteers 2009

W3C Widgets

In the future they might work in:

- Blackberry (first steps taken)- Nokia Maemo?- Palm Pre? (logical extension of webOS)- Android??

Not on the iPhone, though.#appleisevil

Page 53: The Mobile Web - Fronteers 2009

W3C Widgets

Problems with W3C Widgets:- Animations. JavaScript gets better and better, but animations remain a weak spot relative to other languages- Access to phone functionality such as geolocation, the address book, the camera, and the file system

Page 54: The Mobile Web - Fronteers 2009

Device APIs

Context!

In order to serve the mobile context we need to access phone functionality from W3C Widgets.Enter JavaScript device APIs

device.phone.call(device.addressBook.entries['mom'].number)

Page 55: The Mobile Web - Fronteers 2009

Device APIs

- JIL (Vodafone, China Mobile)- W3C Device API Working Group (just started) - BONDI - PhoneGap (iPhone, Android, Blackberry); temporary solution

Page 56: The Mobile Web - Fronteers 2009

Device API Security

Besides, there's a security problem.

If someone sends me a widget via Bluetooth,how am I going to know it isn't going to steal my address book?

Serious problem. No real solution yet.

Page 57: The Mobile Web - Fronteers 2009

W3C Widgets

Still, I believe these problems are solvable.

I believe W3C Widgets are the future of the mobile web.

So let's get to work.

Page 58: The Mobile Web - Fronteers 2009

Thank you!Questions?

http://quirksmode.orghttp://twitter.com/ppk