The document discusses the challenges of developing websites for mobile browsers, including small memory, small displays, flaky browsers, and flaky connections. It proposes W3C Widgets as a solution, which are applications created with open web standards (HTML/CSS/JavaScript) that can run across different mobile platforms. W3C Widgets download only necessary data files rather than all code files on each page load. The document advocates for W3C Widgets as a cross-platform solution and calls on browser developers like Google to support them in addition to their own app systems by providing ways to associate widgets files with browsers and access to device APIs securely.
1 of 58
Downloaded 264 times
More Related Content
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
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.
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
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.
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.
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.
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