2. Browser, Mobile, Cloud, Social, Geo
Portrait of the developer as a kid in a candy store
Patrick Chanezon
Developer Advocate, Google
http://twitter.com/chanezon
November 17, 2009
Argentina
#devfest09
Source Marshall Astor http://www.flickr.com/photos/lifeontheedge/711086777/sizes/l/#cc_license
Wednesday, November 18, 2009
3. Las calles de Buenos Aires ya son mi entraña
“A mi se me hace cuento que empezo Buenos Aires:
La juzgo tan eterna como el agua y el aire.”
“Hard to believe Buenos Aires had any beginning.
I feel it to be as eternal as air and water”
Fervor de Buenos Aires (1923)
Photo public domain http://commons.wikimedia.org/wiki/File:Jorge_Luis_Borges_Hotel.jpg
Wednesday, November 18, 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
XHR iPhone 2.2: video geolocation
CSS Nov 22, 2008 app cache
DOM canvas database
app cache workers
HTML
database
native web
1990 -- 2008 Q408 Q109 Q209 ...
Wednesday, November 18, 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 ...
Wednesday, November 18, 2009
10. Cautionary Tales of Latent Lemonade
AJAX (2004)
xml (1998)
css xhr
(1996) (1999)
Wednesday, November 18, 2009
11. HTML 5: A Chance to Do Things Differently
Wednesday, November 18, 2009
12. canvas video geolocation app cache & web workers
database
Wednesday, November 18, 2009
13. Until Recently, You Couldn’t Draw on the Web
0
0 X
y
x
height
Y width
Wednesday, November 18, 2009
14. And Graphics Weren’t Very Interactive
javascript:onClick(Draw());
Wednesday, November 18, 2009
15. The Usual Options Do This...
Silverlight
VML
Flash
Wednesday, November 18, 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
Wednesday, November 18, 2009
17. // canvas
defines drawing
and animation
APIs with pixel-
level control
Wednesday, November 18, 2009
44. webOS and HTML 5
• CSS Transformations
• HTML 5 database for history & bookmarks
• Canvas in calendar application
• Extensions
- Accelerometer
- ...
Wednesday, November 18, 2009
45. webOS Accelerometer API
• Shake: distinct start, stop with magnitude
• Orientation
• Raw acceleration
- Individual acceleration per axis
- Individual Pitch, Roll, and Yaw
• ... all available from JavaScript using the
DOM Level 2 interface
Wednesday, November 18, 2009
47. webOS and HTML 5
Converge mobile and desktop
web application development
Wednesday, November 18, 2009
48. HTML 5 Support
Chrome Firefox Safari Opera
canvas
video
geolocation
(iPhone)
app cache
(mobile)
database
(mobile)
workers
Wednesday, November 18, 2009
49. canvas video geolocation app cache & web workers
database
Wednesday, November 18, 2009
50. A More Powerful Web == More Powerful Apps
Wednesday, November 18, 2009
51. 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
Wednesday, November 18, 2009
52. // web workers
defines an API
for running
background
scripts
Wednesday, November 18, 2009
54. HTML5 Support
Chrome Firefox Safari Opera
canvas
video
geolocation
(iPhone)
app cache
(mobile)
database
(mobile)
workers
(mobile)
Wednesday, November 18, 2009
55. HTML5 and SVG not available in IE?
• ChromeFrame plugin implements HTML5 in IE
• Shim libraries using Flash or VML to implement features
– SVGWeb: SVG
– Explorercanvas: Canvas
– Video for Everybody: Video
55
Wednesday, November 18, 2009
56. Chrome Extensions
• Programs that enhance Google Chrome's functionality
• Written in HTML, CSS, and JavaScript
• Integrated using a simple API
• Developed iteratively
56
Wednesday, November 18, 2009
57. A More Powerful Web, Made Easier
Wednesday, November 18, 2009
58. Nubes
“¿Qué son las nubes? ¿Una arquitectura
del azar? Quizá Dios las necesita
para la ejecución de Su infinita
obra y son hilos de la trama oscura.
Quizá la nube sea no menos vana
que el hombre que la mira en la
mañana.”
“What are the clouds? An architecture of
chance? Perhaps they are the necessary
things
from which God weaves his vast
imaginings, threads of a web of infinite
expanse. Maybe the cloud is emptiness
returning, just like the man who watches
it this morning.”
Borges, Nubes II, Los Conjurados (1985)
Wednesday, November 18, 2009
59. App Engine and Google Web Toolkit (GWT)
Easier to Scale and Optimize Your App
Wednesday, November 18, 2009
60. 200,000+
Developers
Wednesday, November 18, 2009
61. 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
Wednesday, November 18, 2009
62. 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
Wednesday, November 18, 2009
63. Launched in the Last 2 Months
X Background processing
X XMPP
X Incoming email
X Datastore stats
Wednesday, November 18, 2009
64. • Large object store
• Database export
Wednesday, November 18, 2009
74. 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
}
});
}
Wednesday, November 18, 2009
75. 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
Wednesday, November 18, 2009
85. Google FriendConnect
• Uses OpenSocial
(gadgets, REST/RPC)
• Allows site owners to
mix in social data to
existing sites
• Cut and paste or
• Deep integrations
Wednesday, November 18, 2009
87. TIME.com Daily Specials
TIME.com’s Daily Specials provide a
trusted and entertaining perspective
on relevant current events.
These interactive specials use photo and
video galleries to engage the readers, and
topics can range from important
international events like the Pope visiting
the Middle East) to light hearted topics like
the Best iPhone Apps.
Recent Popular Daily Specials Pageviews
• top 10 disastrous letterman interviews - 7.4mm
• top 11 iphone applications - 5.9mm
•10 things you can like about $4 gas - 4.3mm
•10 essential sites - 3.0mm
Source: Omniture SiteCatalyst – Past 12 Months
Wednesday, November 18, 2009
88. Specials Traffic
176MM
From January – April 2009
Wednesday, November 18, 2009
89. Challenge
How can we make our daily Top 10’s
more fun and engaging?
Wednesday, November 18, 2009
97. 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
Wednesday, November 18, 2009
98. Data Liberation Front http://www.dataliberation.org/
Users should be able to control the data they store in any
of Google's products. Our team's goal is to make it
easier to move data in and out.
Wednesday, November 18, 2009
99. 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
Wednesday, November 18, 2009
100. ...But Imagine AdSense for Everything Else
Search Spreadsheets
Video Calendars Maps
Wednesday, November 18, 2009
101. Announcing: Google Web Elements
Copy and Paste Website Content
Wednesday, November 18, 2009
104. Android: Seven Months, By The Numbers
• 30+ carriers in 21 countries
•18-20 devices by the end of 2009
• 12,000+ applications in the Android Market
• 40+ app downloads per user
• #2 in U.S. mobile web browsing
• 4 platform releases, and counting...
Wednesday, November 18, 2009
106. Google Wave
• Real time communication and collaboration platform
• Rich set of APIs
– Embedding
– Gadgets
– Robots
– Extensions
• Open Source protocol, Wave federation
• Open Source server
104
Wednesday, November 18, 2009
108. Go language
• A systems programming language
– expressive
– concurrent
– garbage-collected
• New
• Experimental
• Fast
• Safe
• Concurrent
• Open Source
106
Wednesday, November 18, 2009
110. Enjoy the candies!
http://twitter.com/chanezon
Browser
Mobile
Cloud
Social
Geo
Demos at
http://delicious.com/chanezon/devfest09+demos
Source Marshall Astor http://www.flickr.com/photos/lifeontheedge/711086777/sizes/l/#cc_license
Wednesday, November 18, 2009