The free Android phone was a splash at the 2009 Google I/O Conference, but the company's introduction of six novel technologies was something more like a tidal wave. Here's Linux Magazine's report. The future starts now.
If you ask any of the 4,000 coders that attended the 2009 Google I/O Conference to recount what took place, you are likely to hear about the Great Google Gadget Giveaway. In an enthusiastic style reminiscent of Oprah Winfrey, Vic Gundotra, Google’s Vice President of Developer Products, ended the first day’s keynote address by giving away a working Android phone to each and every developer, shouting “[An Android] for YOU! and YOU! and YOU!”
Surely, programmers love spanking new gadgets, and the phones made quite a splash. However, the real news—the announcements and developments sure to ripple the Internet for the foreseeable future—came after the bonanza, as Google’s technologists revealed a number of groundbreaking technologies over the course of two days.
Each of Google’s initiatives represents a major step forward in web applications. Some of the software is already available, while others are still in development. Some are free, while others remain proprietary. But all of the Google inventions are worthy of your attention.
- Google Wave is nothing short of a revolution in personal communications and collaboration. The Wave application is still in development, but Google is granting access to Wave’s API to select developers.
- Google Web Elements are free Google applications that can be embedded into any Web page via cut-and-paste. The Web Elements are available for immediate use.
- Google Android 2.0 is a new, Linux-based operating system for Android-powered devices. Scheduled for release in late 2009.
- Google App Engine is a high-performance cloud computing solution for enterprise applications. Previously available for Python coders, the Engine is now open to all Java developers, and costs nothing for resource-limited apps.
- O3D is a development framework for building 3-D apps capable of running in a browser. The tool set and code is freely available.
The next few sections describe each technology in more detail.
At first glance, Google Wave looks like a regular email client. It has panels for folders, contacts, and received messages, and an editor to compose and send new messages. But the Wave application also serves as an instant messaging client, connecting users in real-time exchanges, and can also share forms and any document-based data. Combined, all that media forms a conversation, or wave, among a group. Waves can contain much more than text, and accept attachments including images.
Unlike regular email, a wave can be inserted into other waves and can be organized into a tree hierarchy. Wave content can be directly transferred to other web applications, too, such as a blog entry tool or micro-blog (Twitter). And as if that weren’t impressive enough, multiple users can access a wave simultaneously, allowing for group review and collaboration.
The thought of managing email, instant messages, blog entries, and tweets from a single Web application may seem daunting at first, but the Wave user interface, built on top of HTML 5 and the Google Web Toolkit, makes the tasks surprisingly straightforward. With simple drag-and-drop operations, you can add new text to old waves, insert attachments, or organize contacts in a multi-part conversation.
Screenshot of the Google Wave application
During Thursday’s keynote address, Lars and Jens Rasmussen, creators of Google Maps and now Google Wave, joined Program Manager Stephanie Hannon to demonstrate Wave. The audience watched with rapt attention, and when Rosy, the application’s translation robot, converted a German message to English as it was being typed, the audience burst into applause. Lars Rasmussen also demonstrated mobile applications to manage waves on Apple and Android phones.
The Wave application is impressive, but the concept and ambition behind it is truly awe-inspiring. Put simply, Google wants the Wave protocol, based on the eXtensible Messaging and Presence Protocol (XMPP), to overturn email as the Internet’s dominant method of communication. In fact, the Wave protocol is a superset of the Simple Mail Transfer Protocol (SMTP): It allows for point-to-point message passing between individuals, but also enables multiple users to collaborate in real time.
In addition to Google’s own Wave application, other Web applications can interact with waves, and Google has promised to make the Wave source code and protocol available at no charge.
The full Wave application won’t be released until late 2009, but as of May 28, you can apply for early access to the underlying API and development tools. For more information on the Wave application and its API, visit Google’s main site.
Google Web Elements
Plenty of sites provide free clip art and scripts, but what if you want to embed a spreadsheet into your web site? How about a news feed? During the I/O conference, Google announced the free availability of these and other embeddable Web apps, now collected in a group called Google Web Elements. Some Elements have been made available previously, but now Google has created a common, simple means of customizing each one. There are eight elements.
- Calendar presents time as a monthly calendar or a daily agenda.
- Conversation interfaces with Google Friend Connect and posts comments from multiple participants.
- Custom search adds a search bar that can peruse a single site using Google or another engine.
- Map displays a location using either the street, satellite, hybrid, or terrain view.
- News inserts a news feed containing articles on a specific subject.
- Presentations displays slides from a presentation created with Google Docs.
- Spreadsheets presents the content of a spreadsheet created with Google Docs.
- YouTube News plays a video from a YouTube news provider (such as The New York Times or The Associated Press).
Screenshot of Google Web Elements
To see these applications in action, visit the Google Web Element site. Then, after you’ve selected a Web Element, you can customize its size and content. Once you finish tinkering, Google generates HTML that you can copy-and-paste into your page. That’s all there is to it.
There are two caveats: Google Web Elements do not interact with Google Wave (yet), and there is no way to create a wholly new Web Element. You must use one of the eight components provided, though it’s hoped Google will release more.
The Linux-based Android platform is becoming more and more popular, and three new manufacturers have stepped up to start building new systems. At the conference, Google anounced Android 2.0, code-named “Donut”, which expands the capabilities of the nascent platform. While the 2.0 software is not yet ready for release, Google previewed the environment to attendees.
The new user interface supports a more powerful and intelligent search engine, which can not only locate data across the Internet, but can also access data from applications installed on the system. Additionally, Android 2.0 will support gesture recognition and an open-source text-to-speech capability whose language/accent enhancements allow for international deployment.
In addition, Google launched the Second Android Developer Challenge (ADC 2). during the conference. The full terms and conditions haven’t been released yet, but three points have been made clear: competing applications should target Android 1.5 (not 2.0); community opinion will decide a large portion of the outcome; and there are three prizes to be awarded in ten different categories. The winner in each category will receive a total of $250,000. You can find the contest details at the ADC 2 main site.
Next: The Google App Engine and Java