The document summarizes a presentation given by Patrick Chanezon on June 29, 2009 about advances in web technologies. The presentation covered how the web platform is accelerating with new features like canvas, video, geolocation, app cache, databases, and web workers being added to browsers. It also discussed how these new features are solving problems for developers and powering more advanced web applications.
2. A More Powerful Web,
Made Easier
Patrick Chanezon, chanezon@google.com
Developer Advocate, Google
June 29, 2009, Sao Paulo
#gdd
Monday, June 29, 2009
3. “If we are at 150 percent on D-Day, I don't
see which country could trouble us apart
from Brazil, obviously, because they are the
only fearsome team as they have always
been”
Zinedine Zidane
Monday, June 29, 2009
4. The Web Platform is Accelerating
Chrome 2.0:
May 21, 2009
canvas
User Experience
Firefox 3.5b4: video
Apr 27, 2009 geolocation
canvas app cache
video database
geolocation workers
app cache
Android 1.5: database
Apr 13, 2009 workers
canvas
Opera Labs: geolocation
Mar 26, 2009 app cache
Safari 4.0b: canvas database
Feb 29, 2009 video workers
canvas
geolocation
XHR iPhone 2.2: video
CSS Nov 22, app cache
DOM 2008 database
canvas workers
HTML app cache
database
native web
1990 -- 2008 Q408 Q109 Q209 ...
Monday, June 29, 2009
5. And It’s Solving Key Developer Challenges
Graphics Location Storage Speed
User Experience
XHR
CSS
DOM
HTML
native web
1990 -- 2008 Q408 Q109 Q209 ...
Monday, June 29, 2009
10. Cautionary Tales of Latent Lemonade
AJAX (2004)
xml (1998)
css xhr
(1996) (1999)
Monday, June 29, 2009
11. HTML 5: A Chance to Do Things Differently
Monday, June 29, 2009
12. canvas video geolocation app cache & web workers
database
Monday, June 29, 2009
13. Until Recently, You Couldn’t Draw on the Web
0
0 X
y
x
height
Y width
Monday, June 29, 2009
14. And Graphics Weren’t Very Interactive
javascript:onClick(Draw());
Monday, June 29, 2009
15. The Usual Options Do This...
Silverlight
VML
Flash
Monday, June 29, 2009
16. ... But canvas is Intrinsic to the Web
Document Object Model (DOM) Specification
Original: http://www.w3.org/TR/REC-DOM-Level-1/
Latest: http://www.w3.org/TR/DOM-Level-3-Core/
Contributors: Netscape, Sun, Microsoft, W3C, IBM,
DOM Novell, JavaSoft, SoftQuad Inc., Inso EPS, Texcel
Research, Arbortext
Transparent Stack
Hypertext Markup Language (HTML)
Original: http://tools.ietf.org/html/rfc1866
Latest: http://www.w3.org/TR/html5/
HTML Contributors: T. Berners-Lee, D. Connolly, L. Masinter,
MIT, W3C, AT&T, IBM, Microsoft, Netscape, Novell,
SoftQuad, Spyglass, Adobe, Lotus, CWI, Reuters,
JavaSoft, HP, GRIF, Sun, Opera, Mozilla, Google, Apple
Hypertext Transfer Protocol (HTTP)
Original: http://tools.ietf.org/html/rfc1945
Latest: http://tools.ietf.org/html/rfc2616
Contributors: UC Urvine, Compaq, MIT, Xerox,
HTTP Microsoft, W3C, T. Berners-Lee, R. Fielding, J. Gettys,
J. Mogul, H. Frystyk, L. Masinter, P. Leach
Monday, June 29, 2009
17. // canvas
defines drawing
and animation
APIs with pixel-
level control
Monday, June 29, 2009
39. HTML 5 Support
Chrome Firefox Safari Opera
canvas
video
geolocation
(iPhone)
app cache
database
workers
Monday, June 29, 2009
40. canvas video geolocation app cache & web workers
database
Monday, June 29, 2009
41. Web Apps Need to Work Everywhere
Monday, June 29, 2009
42. // database and
app cache store
user data and
app resources
locally
Monday, June 29, 2009
43. app cache & database demos
Monday, June 29, 2009
44. HTML 5 Support
Chrome Firefox Safari Opera
canvas
video
geolocation
(iPhone)
app cache
(mobile)
database
(mobile)
workers
Monday, June 29, 2009
45. canvas video geolocation app cache & web workers
database
Monday, June 29, 2009
46. A More Powerful Web == More Powerful Apps
Monday, June 29, 2009
47. But More Power == More Responsibility
I will not hose the browser with JavaScript
I will not hose the browser with JavaScript
I will not hose the browser with JavaScript
I will not hose the browser with JavaScript
I will not hose the browser with JavaScript
I will not hose the browser with JavaScript
Monday, June 29, 2009
48. // web workers
defines an API
for running
background
scripts
Monday, June 29, 2009
50. HTML5 Support
Chrome Firefox Safari Opera
canvas
video
geolocation
(iPhone)
app cache
(mobile)
database
(mobile)
workers
(mobile)
Monday, June 29, 2009
51. Open Standards in IE?
• IE does not implement html5 or SVG
• But there are open source projects which implement these
functionalities in IE on top of Flash or VML
– Canvas: Erik Arvidsson’s ExplorerCanvas
• http://code.google.com/p/explorercanvas/
– SVG: Brad Neuberg’s SVG Web
• http://code.google.com/p/sgweb/
– Video: Kroc Camen’s Video for Everybody
• http://camendesign.com/code/video_for_everybody
– Dean Edward’s html5.js
• not yet released
• These Javascript libraries allow developers to start using
Openweb technologies NOW!
51
Monday, June 29, 2009
60. Google FriendConnect
• Uses OpenSocial
(gadgets, REST/RPC)
• Allows site owners to
mix in social data to
existing sites
• Cut and paste or
• Deep integrations
Monday, June 29, 2009
65. 80,000+ Applications
700
9:30am EST:
WhiteHouse.gov Queries Per Second (QPS)
Deadline for
submissions
600
5:00pm EST:
Link on Google
homepage
500
11:30am EST:
Townhall begins
400
Afternoon EST:
NPR, NYTimes,
CNN coverage
300
200 6:45pm EST:
WhiteHouse.gov
kick-off blog post 5:00pm EST:
WhiteHouse.gov
wrap-up blog post
100
0
18:00 21:00 24:00 3:00 6:00 9:00 12:00 15:00 18:00 21:00 24:00 3:00 6:00 9:00 12:00 15:00 18:00 21:00 24:00 3:00
Monday, June 29, 2009
66. Launched in the Last 12 Months
X memcache API
X SSL support
X system status
X paid quota
X cron support
X database import
X java runtime
Monday, June 29, 2009
67. • Background processing
• Large object store
• Database export
• XMPP
• Incoming email
Monday, June 29, 2009
77. Coming in GWT 2.0: runAsync()
// example
public void onMySettingsLinkClicked() {
GWT.runAsync(new RunAsyncCallback() {
public void onSuccess() {
new MySettingsDialog().show();
}
public void onFailure(Throwable ohNoes) {
// indicate that something went wrong,
// usually a connectivity or server
problem
}
});
}
Monday, June 29, 2009
78. runAsync() Helps Apps Startup More Quickly
1500
1400 KB
Size of Initial JavaScript Download (KB)
1125
750
7x Decrease In
Initial Download Size
with runAsync()
375
200
KB
0
26-Nov 29-Apr 18-Jun 28-Jul 12-Sep 27-Oct 24-Dec 16-Mar
Monday, June 29, 2009
80. Google Product APIs
Easier to Add Content and Services To Your Website
Search Feeds Translation Calendar Video Comments News
Maps Charts Contacts Spreadsheets Photos Documents Auth
Monday, June 29, 2009
81. Low-Level API Access Serves Many Needs...
5
4
Over 4B Google API
Daily API Hits (B)
Hits Every Day
3
2
1
May Jun Jul Aug Sept Oct Nov Dec Jan Feb Mar Apr May
Monday, June 29, 2009
82. ...But Imagine AdSense for Everything Else
Search Spreadsheets
Video Calendars Maps
Monday, June 29, 2009
86. Android: Seven Months, By The Numbers
• 10 carriers in 12 countries
• 5,000+ applications in the Android Market
• 40+ app downloads per user
• #2 in U.S. mobile web browsing
• 3 platform releases, and counting...
Monday, June 29, 2009
87. Google Technology User Groups (GTUGs)
• Only one in Brazil: Minas Gerais (MG)
• Get one started in Sao Paulo!
www.gtugs.org/
87
Monday, June 29, 2009