SlideShare a Scribd company logo
1 of 58
Download to read offline
Hell is other browsers - Sartre




The Open Web
   goes Mobile
   Peter-Paul Koch (ppk)
  http://quirksmode.org
  http://twitter.com/ppk
   Google, 24 April 2009
The mobile web
Four problems with making a
website work well on a phone:
- Small memory
- Small display
- Flaky browsers
- Flaky connections
The mobile web
Four problems with making a
website phone-compatible:
- Small memory

Performance tests are necessary.

And I'll leave it at that.
The mobile web
Four problems with making a
website phone-compatible:
- Small memory
- Small display

This problem has been recognized years
ago, and people are thinking about it.
Small display
CSS: solve it with media queries

@media all and (max-width: 300px) {
  div#container {
    // special styles for small displays
  }
}

Supported by Opera, iPhone, Bolt and Iris.
Small display
JS: solve it with offsetWidth

if (document.body.offsetWidth < 300) {
   // special scripts for small displays
}

offsetWidth and offsetHeight seem well
supported (except on Blackberry).
The mobile web
Four problems with making a
website phone-compatible:
- Small memory
- Small display
- Flaky browsers
- Flaky connections
Mobile browsers
Thanks to Vodafone's generous
support I'm now able to deliver a
preliminary report on the State of the
Mobile Browsers.
Mobile browsers
- Android WebKit
- Opera Mobile
- NetFront
- Safari
- Opera Mini
- Blackberry
- S60 WebKit
- IE Mobile
- Iris, Bolt, Skyfire, Obigo, OpenWeb, Nokia S40,
 Palm Blazer, Fennec, Teashark etc. etc.

You may groan now.
Mobile browsers
All these browsers have their own
problems with advanced CSS and
JavaScript.

Worse, you have to test really basic
stuff, too
such as font-style: italic
Opera Mobile
9.5 on HTC
Diamond Touch

Supported
but only in
desktop
mode
S60 WebKit on
Nokia E71

Supported,
but error in
font-variant
Opera Mini 4.2
on Nokia E71

Supported
except for
letter-
spacing
NetFront on
Sony Ericsson
C510

Basics
supported
Opera Mobile
8.00 on
Motorola V3xx

Only color
and text-
transform
supported
Mobile browsers
The current top level mobile browsers
are:
- Android WebKit
- Safari
- Opera Mobile
Mobile browsers
Top level:
Android WebKit, Safari, Opera Mobile

Mid level:
- S60 WebKit
- Blackberry
- Opera Mini
Mobile browsers
Top level:
Android WebKit, Safari, Opera Mobile

Mid level:
S60 WebKit, Blackberry, Opera Mini

Bottom level:
- NetFront
- IE Mobile (old)
Mobile browsers
Top level:
Android WebKit, Safari, Opera Mobile
Mid level:
S60 WebKit, Blackberry, Opera Mini
Bottom level:
NetFront, IE Mobile (old)

Other default browsers (old):
- OpenWeb, Nokia S40, Palm Blazer
Mobile browsers
Top level:
Android WebKit, Safari, Opera Mobile
Mid level:
S60 WebKit, Blackberry, Opera Mini
Bottom level:
NetFront, IE Mobile (old)
Other default browsers (old):
OpenWeb, Nokia S40, Palm Blazer
Other browsers (non-default):
- Iris, Bolt, Skyfire, Obigo, Fennec, Teashark etc. etc.
The mobile web
Four problems with making a
website phone-compatible:
- Small memory
- Small display
- Flaky browsers
- Flaky connections
The mobile web
Four problems with making a
website phone-compatible:
- Small memory
- Small display
- Flaky browsers
- Flaky connections
Flaky 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.
Flaky connections
This is a serious problem for 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.
Flaky connections
Solution:
Put the core files on your mobile phone

so that you only need to download the
data.
Flaky connections
W3C Widgets offer this solution:
- Local applications
- HTML/CSS/JavaScript
- Run in a browser (any browser)
- Can handle Ajax requests
Flaky connections
The same approach is taken by all
app systems:
- iPhone apps
- Windows Mobile apps
- Blackberry apps
- Android apps
- etc.
Flaky connections
The same approach is taken by all
app systems:
- iPhone apps (proprietary)
- Windows Mobile apps (proprietary)
- Blackberry apps (proprietary)
- Android apps (proprietary)
- etc. (probably proprietary)
Open standards
If a company wants to put data on
mobile phones, it can
- create a website (which may be slow
  to load)
- or create 4 or more separate
  applications (which is certainly
  expensive)
Open standards
If a company wants to put data on
mobile phones, it can
- create a website (which may be slow
  to load)
- or create 4 or more separate
  applications (which is certainly
  expensive)
- use W3C Widgets
W3C Widgets
Widgets are better than websites
because they download only the data;
and not the core files.

Widgets are better than app systems
because you don't have to write 4, 5, or
10 of them. Just the one is enough.
W3C Widgets
Eventually, I'll be able to share a
widget with a friend via Bluetooth,
even if I use an Android
and he uses a Nokia S60
or a HTC Windows Mobile
or a Blackberry

and It Just Works
W3C Widgets
Wouldn't that be
totally
astoundingly
absolutely
inconceivably
interoperable?
W3C Widgets
And hundreds of thousands of web
developers already know how to create
widgets.

It's just HTML/CSS/JavaScript, after
all.
W3C Widgets
- Create 1 HTML page with as much
 CSS, JavaScript, and images you
 need.
- Add an icon and a config.xml
- Zip the lot
- Change extension to .wgt
- It Just Works.
W3C Widgets
Widgets will open the web faster and
for more people than any other system.

If people can easily create them
and share them with their friends
and They Just Work
why do we need anything else?
Application systems

An app system may remain more
suited for some forms of applications:

- animation-heavy games
- secure applications
- more ... ?
Application systems

Besides, native app systems can foster
innovation, too, and eventually W3C
Widgets will profit from that.

Proprietary systems are fine
as long as you also support the
standard.
W3C Widgets
It Just Works.

But not quite yet, unfortunately.

That's one of the reasons I'm here
today.
W3C Widgets
It Just Works

in the Vodafone Widget Manager for
S60 phones.
W3C Widgets
It Just Works
S60

in the Opera/T-Mobile Widget
Manager for (probably) Windows
Mobile phones.
W3C Widgets
It Just Works
S60
Windows Mobile

in the Nokia Widget Runtime on S60
(as long as you add an info.plist file)
W3C Widgets
It Just Works
S60 (2x)
Windows Mobile

Otherwise, though, there's no support.

Yet.
W3C Widgets
It Just Works.
S60 (2x)
Windows Mobile
Google Android?
W3C Widgets
It Just Works
in Google Android?
I came here to ask if it's possible
Google Android will support W3C
Widgets
not instead of
but in addition to its own app system.
W3C Widgets
We need:
- a browser (Android WebKit will do perfectly
 fine, thanks)
- a way of associating .wgt files with
  this browser OR an installation
  mechanism
- JavaScript device APIs
JavaScript Device APIs
are APIs that grant access to phone
functionality
- camera
- contact list
- text messages
- etc.
JavaScript Device APIs
are necessary for a true mobile
experience.

W3C widgets should be able to tie into
phone functionality.
JavaScript Device APIs
- BONDI specification
(not yet implemented)
- Phonegap library
(Android, Blackberry, iPhone)
- Opera/T-Mobile widget manager
(Windows Mobile)
JavaScript Device APIs
Security

If I receive a widget from someone
and it uses device APIs
how do I know it's not going to try to
steal my contact list?
JavaScript Device APIs
Security

This problem will probably be solved
by signed widgets and security levels.

On the lowest security levels, phone
users will be prompted for every device
API call the widget wants to perform.
Higher levels do it automatically.
JavaScript Device APIs
Security

Still, this problem will remain pretty
serious and more research is
necessary.

Google can certainly help us figure out
a good answer.
W3C Widgets
Security

JavaScript's same-source policy is not
implemented in widgets,
because they have to be able to request
data from any source.

This, too, requires more thought.
W3C Widgets
Pros
- Open standards
- Countless people can already create
  them
- Interoperability on a massive scale
- They'll open the Web more quickly
  than any other system
W3C Widgets
Cons
- Other systems may remain better
  suited for certain applications
- As yet moderately supported
- Security issues
W3C Widgets
The pros heavily outweigh the cons.

So let's get to work.
Thank you
for your attention
Questions?
Ask away.
Or ask me on Twitter
http://twitter.com/ppk
or on my site
http://quirksmode.org

More Related Content

Viewers also liked

Natura
NaturaNatura
NaturaMagbbb
 
Tuenti Release Workflow v1.1
Tuenti Release Workflow v1.1Tuenti Release Workflow v1.1
Tuenti Release Workflow v1.1Tuenti
 
GlobalLogic Joins the Linux Foundation
GlobalLogic Joins the Linux FoundationGlobalLogic Joins the Linux Foundation
GlobalLogic Joins the Linux FoundationGlobalLogic, Inc.
 
Tuenti Mobile Development
Tuenti Mobile DevelopmentTuenti Mobile Development
Tuenti Mobile DevelopmentTuenti
 
C3 웹기술로만드는모바일앱
C3 웹기술로만드는모바일앱C3 웹기술로만드는모바일앱
C3 웹기술로만드는모바일앱NAVER D2
 
State of the Mobile Browsers
State of the Mobile BrowsersState of the Mobile Browsers
State of the Mobile BrowsersPeter-Paul Koch
 
Tu: Telco 2.0 at FICOD 2011
Tu: Telco 2.0 at FICOD 2011Tu: Telco 2.0 at FICOD 2011
Tu: Telco 2.0 at FICOD 2011Tuenti
 

Viewers also liked (7)

Natura
NaturaNatura
Natura
 
Tuenti Release Workflow v1.1
Tuenti Release Workflow v1.1Tuenti Release Workflow v1.1
Tuenti Release Workflow v1.1
 
GlobalLogic Joins the Linux Foundation
GlobalLogic Joins the Linux FoundationGlobalLogic Joins the Linux Foundation
GlobalLogic Joins the Linux Foundation
 
Tuenti Mobile Development
Tuenti Mobile DevelopmentTuenti Mobile Development
Tuenti Mobile Development
 
C3 웹기술로만드는모바일앱
C3 웹기술로만드는모바일앱C3 웹기술로만드는모바일앱
C3 웹기술로만드는모바일앱
 
State of the Mobile Browsers
State of the Mobile BrowsersState of the Mobile Browsers
State of the Mobile Browsers
 
Tu: Telco 2.0 at FICOD 2011
Tu: Telco 2.0 at FICOD 2011Tu: Telco 2.0 at FICOD 2011
Tu: Telco 2.0 at FICOD 2011
 

Similar to Google presentation: The Open Web goes mobile

Open Source to the Rescue of Mobile App and Mobile Web Fragmentation
Open Source to the Rescue of Mobile App and Mobile Web FragmentationOpen Source to the Rescue of Mobile App and Mobile Web Fragmentation
Open Source to the Rescue of Mobile App and Mobile Web FragmentationTom Deryckere
 
The Mobile Web - Fronteers 2009
The Mobile Web - Fronteers 2009The Mobile Web - Fronteers 2009
The Mobile Web - Fronteers 2009Peter-Paul Koch
 
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
 
Mobile Web High Performance
Mobile Web High PerformanceMobile Web High Performance
Mobile Web High PerformanceAmjad Rafique
 
HTML5 Can't Do That
HTML5 Can't Do ThatHTML5 Can't Do That
HTML5 Can't Do ThatNathan Smith
 
I like i phone and android but know .net
I like i phone and android but know .netI like i phone and android but know .net
I like i phone and android but know .netChris Love
 
European SharePoint Conference: Mobile Applications for SharePoint using HTML5
European SharePoint Conference: Mobile Applications for SharePoint using HTML5European SharePoint Conference: Mobile Applications for SharePoint using HTML5
European SharePoint Conference: Mobile Applications for SharePoint using HTML5Christian Heindel
 
Creating mobile apps without native code
Creating mobile apps without native codeCreating mobile apps without native code
Creating mobile apps without native codeJoakim Kemeny
 
Building Mobile Websites with Joomla
Building Mobile Websites with JoomlaBuilding Mobile Websites with Joomla
Building Mobile Websites with JoomlaTom Deryckere
 
Philly ete-2011
Philly ete-2011Philly ete-2011
Philly ete-2011davyjones
 
Seminar Android - Pengenalan PhoneGap
Seminar Android - Pengenalan PhoneGapSeminar Android - Pengenalan PhoneGap
Seminar Android - Pengenalan PhoneGapNur Hidayat
 
Fixing the mobile web - Internet World Romania
Fixing the mobile web - Internet World RomaniaFixing the mobile web - Internet World Romania
Fixing the mobile web - Internet World RomaniaChristian Heilmann
 
HTML5 or Android for Mobile Development?
HTML5 or Android for Mobile Development?HTML5 or Android for Mobile Development?
HTML5 or Android for Mobile Development?Reto Meier
 
Cross Platform Development Strategies with vendor review and PhoneGap case study
Cross Platform Development Strategies with vendor review and PhoneGap case studyCross Platform Development Strategies with vendor review and PhoneGap case study
Cross Platform Development Strategies with vendor review and PhoneGap case studyElegant Technologies, LLC
 
Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014
Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014
Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014Maximiliano Firtman
 

Similar to Google presentation: The Open Web goes mobile (20)

Samsung
SamsungSamsung
Samsung
 
DDive- Giuseppe Grasso - mobile su Lotus
DDive- Giuseppe Grasso - mobile su LotusDDive- Giuseppe Grasso - mobile su Lotus
DDive- Giuseppe Grasso - mobile su Lotus
 
Open Source to the Rescue of Mobile App and Mobile Web Fragmentation
Open Source to the Rescue of Mobile App and Mobile Web FragmentationOpen Source to the Rescue of Mobile App and Mobile Web Fragmentation
Open Source to the Rescue of Mobile App and Mobile Web Fragmentation
 
Vodafone Widget Camp
Vodafone Widget CampVodafone Widget Camp
Vodafone Widget Camp
 
The Mobile Web - Fronteers 2009
The Mobile Web - Fronteers 2009The Mobile Web - Fronteers 2009
The Mobile Web - Fronteers 2009
 
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
 
Mobile Web High Performance
Mobile Web High PerformanceMobile Web High Performance
Mobile Web High Performance
 
HTML5 Can't Do That
HTML5 Can't Do ThatHTML5 Can't Do That
HTML5 Can't Do That
 
I like i phone and android but know .net
I like i phone and android but know .netI like i phone and android but know .net
I like i phone and android but know .net
 
European SharePoint Conference: Mobile Applications for SharePoint using HTML5
European SharePoint Conference: Mobile Applications for SharePoint using HTML5European SharePoint Conference: Mobile Applications for SharePoint using HTML5
European SharePoint Conference: Mobile Applications for SharePoint using HTML5
 
Creating mobile apps without native code
Creating mobile apps without native codeCreating mobile apps without native code
Creating mobile apps without native code
 
Building Mobile Websites with Joomla
Building Mobile Websites with JoomlaBuilding Mobile Websites with Joomla
Building Mobile Websites with Joomla
 
Windows Phone Introduction
Windows Phone IntroductionWindows Phone Introduction
Windows Phone Introduction
 
chapter2
chapter2chapter2
chapter2
 
Philly ete-2011
Philly ete-2011Philly ete-2011
Philly ete-2011
 
Seminar Android - Pengenalan PhoneGap
Seminar Android - Pengenalan PhoneGapSeminar Android - Pengenalan PhoneGap
Seminar Android - Pengenalan PhoneGap
 
Fixing the mobile web - Internet World Romania
Fixing the mobile web - Internet World RomaniaFixing the mobile web - Internet World Romania
Fixing the mobile web - Internet World Romania
 
HTML5 or Android for Mobile Development?
HTML5 or Android for Mobile Development?HTML5 or Android for Mobile Development?
HTML5 or Android for Mobile Development?
 
Cross Platform Development Strategies with vendor review and PhoneGap case study
Cross Platform Development Strategies with vendor review and PhoneGap case studyCross Platform Development Strategies with vendor review and PhoneGap case study
Cross Platform Development Strategies with vendor review and PhoneGap case study
 
Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014
Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014
Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014
 

More from Peter-Paul Koch

Rethinking the mobile web
Rethinking the mobile webRethinking the mobile web
Rethinking the mobile webPeter-Paul Koch
 
The mobile browser world
The mobile browser worldThe mobile browser world
The mobile browser worldPeter-Paul Koch
 
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
 
The mobile browser world
The mobile browser worldThe mobile browser world
The mobile browser worldPeter-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 (12)

Rethinking the mobile web
Rethinking the mobile webRethinking the mobile web
Rethinking the mobile web
 
The mobile browser world
The mobile browser worldThe mobile browser world
The mobile browser world
 
The future of the mobile web
The future of the mobile webThe future of the mobile web
The future of the mobile web
 
The mobile browser world
The mobile browser worldThe mobile browser world
The mobile browser world
 
The touch events
The touch eventsThe touch events
The touch events
 
JSON over SMS
JSON over SMSJSON over SMS
JSON over SMS
 
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
 
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

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
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...itnewsafrica
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
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
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
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
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
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
 
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
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...itnewsafrica
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
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
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 

Recently uploaded (20)

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
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
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
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.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
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
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.
 
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...
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
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
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 

Google presentation: The Open Web goes mobile

  • 1. Hell is other browsers - Sartre The Open Web goes Mobile Peter-Paul Koch (ppk) http://quirksmode.org http://twitter.com/ppk Google, 24 April 2009
  • 2. The mobile web Four problems with making a website work well on a phone: - Small memory - Small display - Flaky browsers - Flaky connections
  • 3. The mobile web Four problems with making a website phone-compatible: - Small memory Performance tests are necessary. And I'll leave it at that.
  • 4. The mobile web Four problems with making a website phone-compatible: - Small memory - Small display This problem has been recognized years ago, and people are thinking about it.
  • 5. Small display CSS: solve it with media queries @media all and (max-width: 300px) { div#container { // special styles for small displays } } Supported by Opera, iPhone, Bolt and Iris.
  • 6. Small display JS: solve it with offsetWidth if (document.body.offsetWidth < 300) { // special scripts for small displays } offsetWidth and offsetHeight seem well supported (except on Blackberry).
  • 7. The mobile web Four problems with making a website phone-compatible: - Small memory - Small display - Flaky browsers - Flaky connections
  • 8. Mobile browsers Thanks to Vodafone's generous support I'm now able to deliver a preliminary report on the State of the Mobile Browsers.
  • 9. Mobile browsers - Android WebKit - Opera Mobile - NetFront - Safari - Opera Mini - Blackberry - S60 WebKit - IE Mobile - Iris, Bolt, Skyfire, Obigo, OpenWeb, Nokia S40, Palm Blazer, Fennec, Teashark etc. etc. You may groan now.
  • 10. Mobile browsers All these browsers have their own problems with advanced CSS and JavaScript. Worse, you have to test really basic stuff, too such as font-style: italic
  • 11. Opera Mobile 9.5 on HTC Diamond Touch Supported but only in desktop mode
  • 12. S60 WebKit on Nokia E71 Supported, but error in font-variant
  • 13. Opera Mini 4.2 on Nokia E71 Supported except for letter- spacing
  • 15. Opera Mobile 8.00 on Motorola V3xx Only color and text- transform supported
  • 16. Mobile browsers The current top level mobile browsers are: - Android WebKit - Safari - Opera Mobile
  • 17. Mobile browsers Top level: Android WebKit, Safari, Opera Mobile Mid level: - S60 WebKit - Blackberry - Opera Mini
  • 18. Mobile browsers Top level: Android WebKit, Safari, Opera Mobile Mid level: S60 WebKit, Blackberry, Opera Mini Bottom level: - NetFront - IE Mobile (old)
  • 19. Mobile browsers Top level: Android WebKit, Safari, Opera Mobile Mid level: S60 WebKit, Blackberry, Opera Mini Bottom level: NetFront, IE Mobile (old) Other default browsers (old): - OpenWeb, Nokia S40, Palm Blazer
  • 20. Mobile browsers Top level: Android WebKit, Safari, Opera Mobile Mid level: S60 WebKit, Blackberry, Opera Mini Bottom level: NetFront, IE Mobile (old) Other default browsers (old): OpenWeb, Nokia S40, Palm Blazer Other browsers (non-default): - Iris, Bolt, Skyfire, Obigo, Fennec, Teashark etc. etc.
  • 21. The mobile web Four problems with making a website phone-compatible: - Small memory - Small display - Flaky browsers - Flaky connections
  • 22. The mobile web Four problems with making a website phone-compatible: - Small memory - Small display - Flaky browsers - Flaky connections
  • 23. Flaky 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.
  • 24. Flaky connections This is a serious problem for 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.
  • 25. Flaky connections Solution: Put the core files on your mobile phone so that you only need to download the data.
  • 26. Flaky connections W3C Widgets offer this solution: - Local applications - HTML/CSS/JavaScript - Run in a browser (any browser) - Can handle Ajax requests
  • 27. Flaky connections The same approach is taken by all app systems: - iPhone apps - Windows Mobile apps - Blackberry apps - Android apps - etc.
  • 28. Flaky connections The same approach is taken by all app systems: - iPhone apps (proprietary) - Windows Mobile apps (proprietary) - Blackberry apps (proprietary) - Android apps (proprietary) - etc. (probably proprietary)
  • 29. Open standards If a company wants to put data on mobile phones, it can - create a website (which may be slow to load) - or create 4 or more separate applications (which is certainly expensive)
  • 30. Open standards If a company wants to put data on mobile phones, it can - create a website (which may be slow to load) - or create 4 or more separate applications (which is certainly expensive) - use W3C Widgets
  • 31. W3C Widgets Widgets are better than websites because they download only the data; and not the core files. Widgets are better than app systems because you don't have to write 4, 5, or 10 of them. Just the one is enough.
  • 32. W3C Widgets Eventually, I'll be able to share a widget with a friend via Bluetooth, even if I use an Android and he uses a Nokia S60 or a HTC Windows Mobile or a Blackberry and It Just Works
  • 33. W3C Widgets Wouldn't that be totally astoundingly absolutely inconceivably interoperable?
  • 34. W3C Widgets And hundreds of thousands of web developers already know how to create widgets. It's just HTML/CSS/JavaScript, after all.
  • 35. W3C Widgets - Create 1 HTML page with as much CSS, JavaScript, and images you need. - Add an icon and a config.xml - Zip the lot - Change extension to .wgt - It Just Works.
  • 36. W3C Widgets Widgets will open the web faster and for more people than any other system. If people can easily create them and share them with their friends and They Just Work why do we need anything else?
  • 37. Application systems An app system may remain more suited for some forms of applications: - animation-heavy games - secure applications - more ... ?
  • 38. Application systems Besides, native app systems can foster innovation, too, and eventually W3C Widgets will profit from that. Proprietary systems are fine as long as you also support the standard.
  • 39. W3C Widgets It Just Works. But not quite yet, unfortunately. That's one of the reasons I'm here today.
  • 40. W3C Widgets It Just Works in the Vodafone Widget Manager for S60 phones.
  • 41. W3C Widgets It Just Works S60 in the Opera/T-Mobile Widget Manager for (probably) Windows Mobile phones.
  • 42. W3C Widgets It Just Works S60 Windows Mobile in the Nokia Widget Runtime on S60 (as long as you add an info.plist file)
  • 43. W3C Widgets It Just Works S60 (2x) Windows Mobile Otherwise, though, there's no support. Yet.
  • 44. W3C Widgets It Just Works. S60 (2x) Windows Mobile Google Android?
  • 45. W3C Widgets It Just Works in Google Android? I came here to ask if it's possible Google Android will support W3C Widgets not instead of but in addition to its own app system.
  • 46. W3C Widgets We need: - a browser (Android WebKit will do perfectly fine, thanks) - a way of associating .wgt files with this browser OR an installation mechanism - JavaScript device APIs
  • 47. JavaScript Device APIs are APIs that grant access to phone functionality - camera - contact list - text messages - etc.
  • 48. JavaScript Device APIs are necessary for a true mobile experience. W3C widgets should be able to tie into phone functionality.
  • 49. JavaScript Device APIs - BONDI specification (not yet implemented) - Phonegap library (Android, Blackberry, iPhone) - Opera/T-Mobile widget manager (Windows Mobile)
  • 50. JavaScript Device APIs Security If I receive a widget from someone and it uses device APIs how do I know it's not going to try to steal my contact list?
  • 51. JavaScript Device APIs Security This problem will probably be solved by signed widgets and security levels. On the lowest security levels, phone users will be prompted for every device API call the widget wants to perform. Higher levels do it automatically.
  • 52. JavaScript Device APIs Security Still, this problem will remain pretty serious and more research is necessary. Google can certainly help us figure out a good answer.
  • 53. W3C Widgets Security JavaScript's same-source policy is not implemented in widgets, because they have to be able to request data from any source. This, too, requires more thought.
  • 54. W3C Widgets Pros - Open standards - Countless people can already create them - Interoperability on a massive scale - They'll open the Web more quickly than any other system
  • 55. W3C Widgets Cons - Other systems may remain better suited for certain applications - As yet moderately supported - Security issues
  • 56. W3C Widgets The pros heavily outweigh the cons. So let's get to work.
  • 57. Thank you for your attention
  • 58. Questions? Ask away. Or ask me on Twitter http://twitter.com/ppk or on my site http://quirksmode.org