Live blogging from Google I/O 2009 in San Francisco.
Yesterday say the release of a number of product enhancements and directional annoucements:
- Gmaps API v3 using an MVC programming model and optimized for fast loading on mobile devices
- Open registration for Java Apps in App Engine
- Lots of HMTL5 evangelism
- A certified developer program for Gmaps
We were left with an expectation of more announcements in today’s keynote which is about to start. We’ll blog them here as they come out.
1st up is Steven Canvin from LEGO Group (each chair this morning had 6 standard 8 ‘peg’ LEGO blocks). He asks, “How many combinations can you create from 6 blocks? (Answer: 951,103,765) He gave a short history of LEGO Mindstorm and LEGO’s use of adult enthusiasts to help feed the R&D effort. Use of open-source SDK’s has helped drive Mindstorm product adoption.
Now Vic Gundotra (Google VP of Engineering) is back up. New personal communication/collaboration tool in early form. Will be open source.
Named Google Wave
Engineered by Lars Rasmussen and others. Stephanie Hannon is the PM. Developed in Sydney Australia. I/O attendees will be given developer beta accounts. The product will launch later this year.
More info at:
- Wave assumes a ‘convsersation’ which is a shared,hosted object which represents a discussion thread
- Blends e-mail and chat paradigms into a common interface where ‘threads’ can be updated in non-real time ala e-mail or realtime ala chat depending on the connectivity of the recipients
- Because the ‘thread’ is a hosted conversation recipients can make inline comments to previous replies without copying whole messages
- Adding new participants to a thread allows then to ‘playback’ the sequential messaging up to the existing conversation ’state’
- In real-time mode, users have the option to view others’ typing live
- Private replies are supported
- Drag and Drop attachments (photos demonstrated). Has inline processing to thumbnail images and transmit to the server prior to uploading the full photos. Requires Gears for this feature.
- Can copy attachments (such as photos) from one conversation (Wave) into another or new message
- Can link automated ‘agents’ to a wave to allow direct publishing via Wave API’s. Links go both ways so responses can be sent via the blog but replied to via other interfaces
- Allows users to partipate in threads across multiple sites through a single interface by bringing active threads in the Wave Client – think Google Reader, but for discussion threads – so you can write, not just read
- Connections created via an Embed API
- Edits are carried through all instances of a Wave thread
- Can use the editing feature to provide a collaborative environment for discussions. Change markup is provided to other users. Author receives a change notification.
- Playback will provide powerful tools for filtered, reversion to prior versions, version labels, etc.
- SVN like ability to merge changes from multiple Waves into a single ‘production’ Wave
- Concurrent edits can be made with live preview by any number of users at the same time
- Multi language support, right to left languages, … supported
- Wave is built using Google Web Toolkit (GWT)
- Shared tagging, folders, subjects for Wave organization, can link to external Waves – interlinking similar to wikis
- Context-based spell checker
- Automatic link detector from plain text
- Robots act on the server to modify Waves via the collaborative editing engine
- Add links into Wave directly from inline Google Search
- Spell check, linking engine, etc. to be available as external API’s for developers
- Various Gadgets were shown using client-side Wave extensions – a Soduku game, Chess game, Collaborative Map
- Robot App for making a Poll demonstrated
- Extension for interacting with Twitter via Waves
- Robot to do live translation of Wave messages – ‘Rosie’ with support for over 40 languages
Google is planning to open source most Wave code so that others could create ‘competing’ systems. Multiple instances could cross-communicate via invitation. Private replies within Wave server instances are not communicated outside of the originating server even in the case of ’shared’ Waves.