SlideShare a Scribd company logo
1 of 58
Download to read offline
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
1588
The Most Catholic King
is not pleased with the
Queen of England.
She is the only major
opponent of victorious
catholicism left in
Europe.
1588
The Spanish armies are
invincible. The English
won't stand a chance.
But England is an
island. Therefore a
different strategy is
required.
1588
We'll build a fleet;
one that is so large
that it
can't possibly fail
The Invincible Armada
The Invincible Armada
20 galleons, 4 galleys, 4 galleases,
about 100 smaller and supporting
ships.
The first ever really big Atlantic fleet
bound for the first ever really big
Atlantic sea war.
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.
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't
know was how
to pull it off.
Shooting
These two ships can fire until all powder
and balls are spent, but they'll hit each
other only by luck.
They're not
close enough.
Shooting
It was only in the
next century that
they figured out
ships had to
approach closely,
and then fire all
cannon
simultaneously.
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.
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.
Case study: Liever.com
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?
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?
Case study: Liever.com
Allow users to put their scrapbook on
their phone.
How?
a) An application
b) Web
Case study: Liever.com
Allow users to put their scrapbook on
their phone.
How?
a) An application
b) Web
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?
Applications
So let's write one for the iPhone
And one for Android
And one for Blackberry
And one for Symbian
And one for Windows Mobile
And one for Linux
etc.etc.
Interoperability: 0
Case study: Liever.com
Allow users to put their scrapbook on
their phone.
How?
a) An application
b) Web
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!
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
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
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
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 Blackberry
and Palm
and Bolt, Ozone, Teashark, and a few more
These WebKits are all different.
There is no WebKit on Mobile.
Exhibit A: http://quirksmode.org/m
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.
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
Example
Safari iPhone 2.2
Zooms out and
shows entire page.
Width about 900px
Blackberry 9500
(Storm)
Same, but with a
few bugs.
S60v3 WebKit on
Nokia E71
NetFront 3.2 on
Samsung F700
Yeah ... right ...
But what if we
switch it to
landscape mode?
NetFront 3.2 on Samsung F700 landscape
Opera Mobile 9.5
on HTC Touch
Diamond
(Win Mob 6.1)
Footer not visible;
otherwise OK.
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.
Opera Mobile 9.5
on HTC Touch
Diamond
(Win Mob 6.1)
in mobile mode.
Totally different.
Opera Mobile 9.5
on HTC Touch
Diamond
(Win Mob 6.1)
in desktop mode.
Basic CSS.
Opera Mobile 9.5
on HTC Touch
Diamond
(Win Mob 6.1)
in mobile mode.
Basic CSS.
Android 1.5 landscape mode
Android 1.5
portrait, in mobile
mode.
The 300px wide
box is smaller than
the 330px wide
box.
Case study: Liever.com
Allow users to put their scrapbook on
their phone.
How?
a) An application
b) Web
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.
Case study: Liever.com
Web problems:
- Browsers. That's fundamentally
nothing new, but the details are
different.
- Connections
Connections
If the guy next to you is downloading a
few movies
your network connection will slow down
regardless of how good it's supposed to
be.
I don't see this problem disappearing
any time soon.
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 site
and caching isn't always reliable.
Connections
Solution:
Put the core files on your mobile phone
so that you only need to download the
data. Saves a lot of network traffic.
Apps do that. Websites don't.
Enter W3C Widgets.
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.
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
W3C Widgets
Besides...
If I have a W3C Widget on my S60 phone
and you have a Windows Mobile phone
I can send the widget via Bluetooth
and It Just Works
(Really; I've done it)
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)
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
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
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)
Device APIs
- JIL (Vodafone, China Mobile)
- W3C Device API Working Group (just
started)
- BONDI
- PhoneGap (iPhone, Android,
Blackberry); temporary solution
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.
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.
Thank you!
Questions?
http://quirksmode.org
http://twitter.com/ppk

More Related Content

What's hot

The Mobile Platform World
The Mobile Platform WorldThe Mobile Platform World
The Mobile Platform WorldMatt Evans
 
Jedna sieć na każdym urządzeniu - Sebastian Baberowski i Paweł Miniewicz, Opera
Jedna sieć na każdym urządzeniu - Sebastian Baberowski i Paweł Miniewicz, OperaJedna sieć na każdym urządzeniu - Sebastian Baberowski i Paweł Miniewicz, Opera
Jedna sieć na każdym urządzeniu - Sebastian Baberowski i Paweł Miniewicz, OperaBiznes 2.0
 
Philly ete-2011
Philly ete-2011Philly ete-2011
Philly ete-2011davyjones
 
Developing for Mobility
Developing for MobilityDeveloping for Mobility
Developing for MobilityScotty Logan
 
Designing for mobile devices
Designing for mobile devicesDesigning for mobile devices
Designing for mobile devicesFahd Alhazmi
 
Web Apps and Responsive Design for Libraries
Web Apps and Responsive Design for LibrariesWeb Apps and Responsive Design for Libraries
Web Apps and Responsive Design for LibrariesMatt Machell
 
OS3 - Enterprise Ireland - Approaches To I Phone Development & The Irish iPho...
OS3 - Enterprise Ireland - Approaches To I Phone Development & The Irish iPho...OS3 - Enterprise Ireland - Approaches To I Phone Development & The Irish iPho...
OS3 - Enterprise Ireland - Approaches To I Phone Development & The Irish iPho...Damian OSuilleabhain
 
Go Mobile With WordPress (2012)
Go Mobile With WordPress (2012)Go Mobile With WordPress (2012)
Go Mobile With WordPress (2012)BraveNewCode Inc.
 
Android101 Intro to Android for the enterprise, IdoSphere
Android101 Intro to Android for the enterprise, IdoSphereAndroid101 Intro to Android for the enterprise, IdoSphere
Android101 Intro to Android for the enterprise, IdoSphereDennis Heinle
 
Stivanson cody assignment4
Stivanson cody assignment4Stivanson cody assignment4
Stivanson cody assignment4cstivanson
 
PhoneGap Slides from HTML5 Next and Now
PhoneGap Slides from HTML5 Next and NowPhoneGap Slides from HTML5 Next and Now
PhoneGap Slides from HTML5 Next and NowSteve Gill
 
Web App vs Web Site
Web App vs Web SiteWeb App vs Web Site
Web App vs Web SiteMatt Evans
 
Responsive Design & Beyond [Code & Creativity Workshop]
Responsive Design & Beyond [Code & Creativity Workshop]Responsive Design & Beyond [Code & Creativity Workshop]
Responsive Design & Beyond [Code & Creativity Workshop]Aaron Gustafson
 
Mobile WordPress: Dale Mugford of BraveNewCode
Mobile WordPress: Dale Mugford of BraveNewCodeMobile WordPress: Dale Mugford of BraveNewCode
Mobile WordPress: Dale Mugford of BraveNewCodeBraveNewCode Inc.
 

What's hot (18)

The Mobile Platform World
The Mobile Platform WorldThe Mobile Platform World
The Mobile Platform World
 
Mobile Internet
Mobile InternetMobile Internet
Mobile Internet
 
Jedna sieć na każdym urządzeniu - Sebastian Baberowski i Paweł Miniewicz, Opera
Jedna sieć na każdym urządzeniu - Sebastian Baberowski i Paweł Miniewicz, OperaJedna sieć na każdym urządzeniu - Sebastian Baberowski i Paweł Miniewicz, Opera
Jedna sieć na każdym urządzeniu - Sebastian Baberowski i Paweł Miniewicz, Opera
 
chapter2
chapter2chapter2
chapter2
 
Philly ete-2011
Philly ete-2011Philly ete-2011
Philly ete-2011
 
Developing for Mobility
Developing for MobilityDeveloping for Mobility
Developing for Mobility
 
Designing for mobile devices
Designing for mobile devicesDesigning for mobile devices
Designing for mobile devices
 
Web Apps and Responsive Design for Libraries
Web Apps and Responsive Design for LibrariesWeb Apps and Responsive Design for Libraries
Web Apps and Responsive Design for Libraries
 
OS3 - Enterprise Ireland - Approaches To I Phone Development & The Irish iPho...
OS3 - Enterprise Ireland - Approaches To I Phone Development & The Irish iPho...OS3 - Enterprise Ireland - Approaches To I Phone Development & The Irish iPho...
OS3 - Enterprise Ireland - Approaches To I Phone Development & The Irish iPho...
 
Go Mobile With WordPress (2012)
Go Mobile With WordPress (2012)Go Mobile With WordPress (2012)
Go Mobile With WordPress (2012)
 
Android101 Intro to Android for the enterprise, IdoSphere
Android101 Intro to Android for the enterprise, IdoSphereAndroid101 Intro to Android for the enterprise, IdoSphere
Android101 Intro to Android for the enterprise, IdoSphere
 
mobile presentation
mobile presentationmobile presentation
mobile presentation
 
Stivanson cody assignment4
Stivanson cody assignment4Stivanson cody assignment4
Stivanson cody assignment4
 
PhoneGap Slides from HTML5 Next and Now
PhoneGap Slides from HTML5 Next and NowPhoneGap Slides from HTML5 Next and Now
PhoneGap Slides from HTML5 Next and Now
 
Web App vs Web Site
Web App vs Web SiteWeb App vs Web Site
Web App vs Web Site
 
Responsive Design & Beyond [Code & Creativity Workshop]
Responsive Design & Beyond [Code & Creativity Workshop]Responsive Design & Beyond [Code & Creativity Workshop]
Responsive Design & Beyond [Code & Creativity Workshop]
 
01 Mobile Jungle
01 Mobile Jungle01 Mobile Jungle
01 Mobile Jungle
 
Mobile WordPress: Dale Mugford of BraveNewCode
Mobile WordPress: Dale Mugford of BraveNewCodeMobile WordPress: Dale Mugford of BraveNewCode
Mobile WordPress: Dale Mugford of BraveNewCode
 

Similar to The Mobile Web - Fronteers 2009

Google presentation: The Open Web goes mobile
Google presentation: The Open Web goes mobileGoogle presentation: The Open Web goes mobile
Google presentation: The Open Web goes mobilePeter-Paul Koch
 
Mobile Phone Publishing Terminalfour Presentation V3
Mobile Phone Publishing   Terminalfour Presentation V3Mobile Phone Publishing   Terminalfour Presentation V3
Mobile Phone Publishing Terminalfour Presentation V3David Miller
 
Best practices for delivering quality web experiences
Best practices for delivering quality web experiencesBest practices for delivering quality web experiences
Best practices for delivering quality web experiencesBen Mantooth
 
Singapore Mobile 2.0 & Ux Trends 2009: Scott Weiss
Singapore Mobile 2.0 & Ux Trends 2009: Scott WeissSingapore Mobile 2.0 & Ux Trends 2009: Scott Weiss
Singapore Mobile 2.0 & Ux Trends 2009: Scott WeissYOGESH TADWALKAR
 
The near future of real web applications
The near future of real web applicationsThe near future of real web applications
The near future of real web applicationsX.commerce
 
Testing Mobile JavaScript
Testing Mobile JavaScriptTesting Mobile JavaScript
Testing Mobile JavaScriptjeresig
 
Widgets, 360s and Androids
Widgets, 360s and AndroidsWidgets, 360s and Androids
Widgets, 360s and AndroidsSales Hub Pro
 
Introduction to mobile technology
Introduction to mobile technologyIntroduction to mobile technology
Introduction to mobile technologyGautam Krishnan
 
Mobile Web Best Practices
Mobile Web Best PracticesMobile Web Best Practices
Mobile Web Best PracticesWoody Pewitt
 
Apps vs. Sites vs. Content - a vendor-agnostic view on building stuff for the...
Apps vs. Sites vs. Content - a vendor-agnostic view on building stuff for the...Apps vs. Sites vs. Content - a vendor-agnostic view on building stuff for the...
Apps vs. Sites vs. Content - a vendor-agnostic view on building stuff for the...Kai Koenig
 
The future of the mobile web
The future of the mobile webThe future of the mobile web
The future of the mobile webPeter-Paul Koch
 
Why HTML5 is getting on my nerves…
Why HTML5 is getting on my nerves…Why HTML5 is getting on my nerves…
Why HTML5 is getting on my nerves…Avenga Germany GmbH
 
The challenges of building mobile HTML5 applications - FEEC Brazil 2012 - Recife
The challenges of building mobile HTML5 applications - FEEC Brazil 2012 - RecifeThe challenges of building mobile HTML5 applications - FEEC Brazil 2012 - Recife
The challenges of building mobile HTML5 applications - FEEC Brazil 2012 - RecifeCaridy Patino
 
Telecoms 2.0: Understanding the Impact of Open Mobile
Telecoms 2.0: Understanding the Impact of Open MobileTelecoms 2.0: Understanding the Impact of Open Mobile
Telecoms 2.0: Understanding the Impact of Open MobileMobileMonday Norway
 
Mobile development : reaching critical mass
Mobile development : reaching critical massMobile development : reaching critical mass
Mobile development : reaching critical massAlessandro Thellung
 
The death of Silverlight, the triumph of HTML5, and the future of software de...
The death of Silverlight, the triumph of HTML5, and the future of software de...The death of Silverlight, the triumph of HTML5, and the future of software de...
The death of Silverlight, the triumph of HTML5, and the future of software de...Judah Himango
 
developementofmobileapplication-160412025313 (1).pptx
developementofmobileapplication-160412025313 (1).pptxdevelopementofmobileapplication-160412025313 (1).pptx
developementofmobileapplication-160412025313 (1).pptxPoooi2
 

Similar to The Mobile Web - Fronteers 2009 (20)

Samsung
SamsungSamsung
Samsung
 
Google presentation: The Open Web goes mobile
Google presentation: The Open Web goes mobileGoogle presentation: The Open Web goes mobile
Google presentation: The Open Web goes mobile
 
DDive- Giuseppe Grasso - mobile su Lotus
DDive- Giuseppe Grasso - mobile su LotusDDive- Giuseppe Grasso - mobile su Lotus
DDive- Giuseppe Grasso - mobile su Lotus
 
Mobile Phone Publishing Terminalfour Presentation V3
Mobile Phone Publishing   Terminalfour Presentation V3Mobile Phone Publishing   Terminalfour Presentation V3
Mobile Phone Publishing Terminalfour Presentation V3
 
Best practices for delivering quality web experiences
Best practices for delivering quality web experiencesBest practices for delivering quality web experiences
Best practices for delivering quality web experiences
 
Singapore Mobile 2.0 & Ux Trends 2009: Scott Weiss
Singapore Mobile 2.0 & Ux Trends 2009: Scott WeissSingapore Mobile 2.0 & Ux Trends 2009: Scott Weiss
Singapore Mobile 2.0 & Ux Trends 2009: Scott Weiss
 
JSON over SMS
JSON over SMSJSON over SMS
JSON over SMS
 
The near future of real web applications
The near future of real web applicationsThe near future of real web applications
The near future of real web applications
 
Testing Mobile JavaScript
Testing Mobile JavaScriptTesting Mobile JavaScript
Testing Mobile JavaScript
 
Widgets, 360s and Androids
Widgets, 360s and AndroidsWidgets, 360s and Androids
Widgets, 360s and Androids
 
Introduction to mobile technology
Introduction to mobile technologyIntroduction to mobile technology
Introduction to mobile technology
 
Mobile Web Best Practices
Mobile Web Best PracticesMobile Web Best Practices
Mobile Web Best Practices
 
Apps vs. Sites vs. Content - a vendor-agnostic view on building stuff for the...
Apps vs. Sites vs. Content - a vendor-agnostic view on building stuff for the...Apps vs. Sites vs. Content - a vendor-agnostic view on building stuff for the...
Apps vs. Sites vs. Content - a vendor-agnostic view on building stuff for the...
 
The future of the mobile web
The future of the mobile webThe future of the mobile web
The future of the mobile web
 
Why HTML5 is getting on my nerves…
Why HTML5 is getting on my nerves…Why HTML5 is getting on my nerves…
Why HTML5 is getting on my nerves…
 
The challenges of building mobile HTML5 applications - FEEC Brazil 2012 - Recife
The challenges of building mobile HTML5 applications - FEEC Brazil 2012 - RecifeThe challenges of building mobile HTML5 applications - FEEC Brazil 2012 - Recife
The challenges of building mobile HTML5 applications - FEEC Brazil 2012 - Recife
 
Telecoms 2.0: Understanding the Impact of Open Mobile
Telecoms 2.0: Understanding the Impact of Open MobileTelecoms 2.0: Understanding the Impact of Open Mobile
Telecoms 2.0: Understanding the Impact of Open Mobile
 
Mobile development : reaching critical mass
Mobile development : reaching critical massMobile development : reaching critical mass
Mobile development : reaching critical mass
 
The death of Silverlight, the triumph of HTML5, and the future of software de...
The death of Silverlight, the triumph of HTML5, and the future of software de...The death of Silverlight, the triumph of HTML5, and the future of software de...
The death of Silverlight, the triumph of HTML5, and the future of software de...
 
developementofmobileapplication-160412025313 (1).pptx
developementofmobileapplication-160412025313 (1).pptxdevelopementofmobileapplication-160412025313 (1).pptx
developementofmobileapplication-160412025313 (1).pptx
 

More from Peter-Paul Koch

Rethinking the mobile web
Rethinking the mobile webRethinking the mobile web
Rethinking the mobile webPeter-Paul Koch
 
The touch events - WebExpo
The touch events - WebExpoThe touch events - WebExpo
The touch events - WebExpoPeter-Paul Koch
 
Voices That Matter: JavaScript Events
Voices That Matter: JavaScript EventsVoices That Matter: JavaScript Events
Voices That Matter: JavaScript EventsPeter-Paul Koch
 
The Ajax Experience: State Of The Browsers
The Ajax Experience: State Of The BrowsersThe Ajax Experience: State Of The Browsers
The Ajax Experience: State Of The BrowsersPeter-Paul Koch
 
An Event Apart Boston: Principles of Unobtrusive JavaScript
An Event Apart Boston: Principles of Unobtrusive JavaScriptAn Event Apart Boston: Principles of Unobtrusive JavaScript
An Event Apart Boston: Principles of Unobtrusive JavaScriptPeter-Paul Koch
 
Yahoo presentation: JavaScript Events
Yahoo presentation: JavaScript EventsYahoo presentation: JavaScript Events
Yahoo presentation: JavaScript EventsPeter-Paul Koch
 

More from Peter-Paul Koch (9)

Rethinking the mobile web
Rethinking the mobile webRethinking the mobile web
Rethinking the mobile web
 
The touch events
The touch eventsThe touch events
The touch events
 
The touch events - WebExpo
The touch events - WebExpoThe touch events - WebExpo
The touch events - WebExpo
 
The touch events
The touch eventsThe touch events
The touch events
 
Vodafone Widget Camp
Vodafone Widget CampVodafone Widget Camp
Vodafone Widget Camp
 
Voices That Matter: JavaScript Events
Voices That Matter: JavaScript EventsVoices That Matter: JavaScript Events
Voices That Matter: JavaScript Events
 
The Ajax Experience: State Of The Browsers
The Ajax Experience: State Of The BrowsersThe Ajax Experience: State Of The Browsers
The Ajax Experience: State Of The Browsers
 
An Event Apart Boston: Principles of Unobtrusive JavaScript
An Event Apart Boston: Principles of Unobtrusive JavaScriptAn Event Apart Boston: Principles of Unobtrusive JavaScript
An Event Apart Boston: Principles of Unobtrusive JavaScript
 
Yahoo presentation: JavaScript Events
Yahoo presentation: JavaScript EventsYahoo presentation: JavaScript Events
Yahoo presentation: JavaScript Events
 

Recently uploaded

Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 

Recently uploaded (20)

Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 

The Mobile Web - Fronteers 2009

  • 1. 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
  • 2. 1588 The Most Catholic King is not pleased with the Queen of England. She is the only major opponent of victorious catholicism left in Europe.
  • 3. 1588 The Spanish armies are invincible. The English won't stand a chance. But England is an island. Therefore a different strategy is required.
  • 4. 1588 We'll build a fleet; one that is so large that it can't possibly fail
  • 6. The Invincible Armada 20 galleons, 4 galleys, 4 galleases, about 100 smaller and supporting ships. The first ever really big Atlantic fleet bound for the first ever really big Atlantic sea war.
  • 7. 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.
  • 8. 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't know was how to pull it off.
  • 9. Shooting These two ships can fire until all powder and balls are spent, but they'll hit each other only by luck. They're not close enough.
  • 10. Shooting It was only in the next century that they figured out ships had to approach closely, and then fire all cannon simultaneously.
  • 11. 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.
  • 12. 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.
  • 14. 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?
  • 15. 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?
  • 16. Case study: Liever.com Allow users to put their scrapbook on their phone. How? a) An application b) Web
  • 17. Case study: Liever.com Allow users to put their scrapbook on their phone. How? a) An application b) Web
  • 18. 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?
  • 19. Applications So let's write one for the iPhone And one for Android And one for Blackberry And one for Symbian And one for Windows Mobile And one for Linux etc.etc. Interoperability: 0
  • 20. Case study: Liever.com Allow users to put their scrapbook on their phone. How? a) An application b) Web
  • 21. 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!
  • 22. 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
  • 23. 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
  • 24. 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
  • 25. 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 Blackberry and Palm and Bolt, Ozone, Teashark, and a few more These WebKits are all different.
  • 26. There is no WebKit on Mobile. Exhibit A: http://quirksmode.org/m
  • 27. 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.
  • 28. 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
  • 30. Safari iPhone 2.2 Zooms out and shows entire page. Width about 900px
  • 33. NetFront 3.2 on Samsung F700 Yeah ... right ... But what if we switch it to landscape mode?
  • 34. NetFront 3.2 on Samsung F700 landscape
  • 35. Opera Mobile 9.5 on HTC Touch Diamond (Win Mob 6.1) Footer not visible; otherwise OK.
  • 36. 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.
  • 37. Opera Mobile 9.5 on HTC Touch Diamond (Win Mob 6.1) in mobile mode. Totally different.
  • 38. Opera Mobile 9.5 on HTC Touch Diamond (Win Mob 6.1) in desktop mode. Basic CSS.
  • 39. Opera Mobile 9.5 on HTC Touch Diamond (Win Mob 6.1) in mobile mode. Basic CSS.
  • 41. Android 1.5 portrait, in mobile mode. The 300px wide box is smaller than the 330px wide box.
  • 42. Case study: Liever.com Allow users to put their scrapbook on their phone. How? a) An application b) Web
  • 43. 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.
  • 44. Case study: Liever.com Web problems: - Browsers. That's fundamentally nothing new, but the details are different. - Connections
  • 45. Connections If the guy next to you is downloading a few movies your network connection will slow down regardless of how good it's supposed to be. I don't see this problem disappearing any time soon.
  • 46. 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 site and caching isn't always reliable.
  • 47. Connections Solution: Put the core files on your mobile phone so that you only need to download the data. Saves a lot of network traffic. Apps do that. Websites don't. Enter W3C Widgets.
  • 48. 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.
  • 49. 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
  • 50. W3C Widgets Besides... If I have a W3C Widget on my S60 phone and you have a Windows Mobile phone I can send the widget via Bluetooth and It Just Works (Really; I've done it)
  • 51. 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)
  • 52. 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
  • 53. 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
  • 54. 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)
  • 55. Device APIs - JIL (Vodafone, China Mobile) - W3C Device API Working Group (just started) - BONDI - PhoneGap (iPhone, Android, Blackberry); temporary solution
  • 56. 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.
  • 57. 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.