Ian Fette, Alex Komoroske, and Alex Russell presented at Google I/O on “HTML5 and What’s Next”. The presentation was an insightful step-by-step tour of the future of Chrome and likely the web. Google has obviously decided that waiting for standards bodies or other browser vendors to determine the future of the web is neither timely nor in their best interest.
Due to the lack of immediate project applicability, many of my peers dislike (and even avoid) these type of presentations. Their grumbling disapproval is often accompanied by comments alleging new features’ lack of availability until 2015. But the rate at which browsers implement new features is not where it was in 2005.
Here are my notes on the presentation. I have the times in parenthesis on the right so that you may quickly jump to sections that are of particular interest.
Filesystem API (4:00)
- Introduced in Chrome 8
- Applied to Chrome Apps and Extensions
- Chrome 13 will extend API to all web applications (5:54)
Offline Storage (6:10)
- 5MB is not adequate
- New quota system: (6:55)
- Temporary Storage (7:32)
- Will not prompt the user
- Space is managed by the browser
- Data may be evicted when space is needed
- Persistent Storage (8:49)
- Will prompt the user
- Space is managed by the browser
- Data may be evicted when space is needed
Web Sockets (9:50)
- Multiplexed
3D (10:50)
- WebGL
- CSS Transforms
Cognitive overhead and complexity (15:00)
CSS Refactoring (16:58)
- Variables
CSS Mixins (18:45)
- Style groups
- Macro (?)
CSS Nesting Hierarchy (22:30)
- Shortens sub-rules
- Works with variables and mixins
- Shrinks CSS
JSConf mentioned (23:55)
CSS Animations and Transitions (24:43)
- New animation syntax (27:42)
- “interrupt: reverse” backs out animation
CSS Customization and Calculation (29:24)
JSConf & NodeConf mentioned (31:53)
Other CSS Improvements (32:21)
JavaScript improvements and Traceur (33:20)
Model-driven view (34:13)
- Templates and databinding
- Template element (36:03)
- (Looks like Mustache syntax)
- ECMAScript Harmony proxies (37:00)
- Listening on data changes
- Model property added to all elements (37:37)
- Recursive template example (38:24)
Available today via prototypes (42:15)
Call to Browsers (42:30)
- Implement early (extensions)
- Standards will follow
Questions (43:45)
- App engine channel API? (44:05)
- When is the DOM updated by templates? (46:06) Template disconnect issue!
- How does filesystem interact with HTML5 Audio? (47:38)
- Microphone and Camera access? (49:46)
- SEO issues with templates? (52:00)
- (inaudible) Platform vs. libraries? (53:19)
- Programmatic description in the templates? (54:10)
- Status of IndexedDB? (55:13)
- Background pages vs. web workers? (56:31)