Google I/O conference

I'm just back from the Google I/O developer conference, where there were a lot of new announcements around the Android platform.  Here are some highlights:

1. Google is putting their support behind HTML5.  This is the next generation of HTML and it will work across both web and mobile.  Once HTML5 is established, anyone will be able to develop mobile apps easily, without having to write specific mobile code or go through the submit process in app stores.  The challenge will be to make sure that all companies make compatible HTML5 browsers for PC (Firefox, Internet Explorer) and mobile phones (Apple, Nokia, Opera, etc).

There are five key areas of HTML5 that Google is focusing on:
– Canvas:  Provide high quality graphics including 3D using HTML and Javascript.
– Video:  A simple html tag for embedding video, similar to the 'image' tag.
– Geolocation:  Using multiple location sources such as GPS, WiFi, and Cell towers and making them accessible through Javascript.
– Local storage:  Provide application data storage and a database within the browser.
– Web workers:  Create ways for Javascript to perform better, and not crash or freeze the browser.

2. Google announced there will be 18 to 20 new Android handsets released this year.  That's a lot!

3.  Google announced the 'wave'.  This is a new platform for communication that combines email, chat, photo sharing, twitter, and more.  It's going to be free, and they will offer it to enterprises.  Microsoft better watch out.

Here are my detailed notes — not posting this because I think anyone else will read it, but just so I don't forget 😉

Keynote at Google I/O.  It's all about HTML5.

Five areas of focus:

1. Canvas.  Drawing and animation with pixel level control.  canvastag and javascript.  Examples of canvastag:  Bespin is IDE for html/javascript dev.  Profiling tool provides graph of performance, dynamic graphs.  Also can do 3D.  Demo's.  Moving water adn fly through 'beach demo', open source.  Runs within the GPS, not CPU, for less load on performance.  You can edit and test code on your machine.  Requires all browser vendors to standardize, no mention of IE.  Today this is a plugin, but will be built into browser.

2. Video.  Currently different codecs make it hard.  html5 has simple 'video' tag, like 'image'.  Javascript controls to play and stop and rotate.  Demo of YouTube

3. Geolocation.  Everything is better with location:  crm, social, advertising, games, photos.Currently too slow, too constrained, too fuzzy.  Cell ID and Wifi solve the problem, companies like skyhook and google.  Browsers are now location enabled, w3c geolocation api is implemented across browsers.  Jay Sullivan from Mozilla.  Firefox 3.5 will have much better Javascript performance, 3x improvement.  Geolocation API support.  Demo of google maps in firefox with button for 'my location' using wi-fi hotspots, uses specific opt-in per hostname.  Demo of Latitude on iPhone within the browser, next generation of iPhone uses geolocation API in html5 safari browser.

4. Local storage.  Database and app cache store user data and app resources locally.  SQLite storage for Sticky note app.  You can use pointers to local file storage within the browser.  Demo on Android phone of Gmail within Webkit when it's offline, this is Google's first offline app.  Michael Abbott, SVP, Palm.  Palm is here b/c of focus on webOS, using cloud and device services and webkit as core rendering engine.  Mojo framework allows you to style but keep good performance.  Palm demo's of canvas tag in calendar scrolling, css transformation in the music app for album artr, html5 db for storing user history in browser, accelerometer api in browser javascript.

5. Web workers.  Challenge of keeping javascript performance from freezing the machine.  Background scripts is the solution.  Demo of calculating prime numbers in separate thread, UI is responsive while calculating prime numbers and other tabs work.  Demo of video with canvas tag, woman crosses screen and motion detector operates in realtime as background process.

App engine and google web toolkit (gwt):
App engine lets google do the hosting.  gwt lets you write in java and push down javascript across multiple browsers.  Kevin Gibbs and Andrew Bowers of Google.  200k developers signed up for google ap engine, and 80k apps deployed.  Announcing Open Javav signups immediately.  Demo of end to end solution.  2.5 minutes to set up.  Open project in GWT and App Engine.  Coming in 2.0 will be in-browser debugging.  Next version of GWT has features for html5 heavy-javascript apps, allows you to split javascript and download it asynchronously.  Example of 7x decrease in initial download size using runAsync() in a web app.

Google services:
Today they crossed the 4 billion daily api calls.  DeWitt Clinton.  Google Elements copy and paste into web browser.  Demo, pull in web element for google headline news.

10 carriers in 12 countries.  4900+ apps in market.  40+ apps per person.  number 2 in us web browsing.  Romain Guy of Google.  v1.5 is live, and next version (Donut) is in process.

Donut has 2 new features: 

1) Search more powerful for users and developers.  Demo of search widget, looks within apps and contacts on the device, also web results.  Search UI can act as launcher for users, keeps history and does predictions including frequently used apps (like macos spotlight).  In few lines of code a developer can add results into the search api.  Demo of search for authors which pulls in book search results from external developer's data source.
2) Speech recognition in Donut.  New text to speech API.  Different language packs for text to speech.  Open source engine for text to speech in Donut.

Experiment from Android team. Demo.  Launch contacts.  You can draw on screen with your finger and it recognizes handwriting.

LBS World Forum

Been at the Marcus Evans LBS World Forum yesterday and today. Interesting stuff, it’s so rare to have a room full of people all talking about mobile LBS. Here are some take-aways:

  • WiMax is talked about as the holy grail. Apparently, it will cure all problems with mobile connectivity.
  • Rosum‘s TV location capability may be the missing piece in overcoming GPS’s problems in buildings and urban canyons. May be especially relevant for bringing 911 emergency service to VOIP (PCs, laptops, converged devices). Could be used in conjunction with a ‘2-D’ GPS fix to provide the third dimension.
  • The most common abuse of family/friend finder applications is the wife tracker. Many humorous anecdotes.
  • Use of cell phone location fix in web world is very interesting. Get the user’s cell phone location from the carrier and pre-populate their location when they do a local web search. Hard to believe Google isn’t all over this one.
  • To be truly useful, we’ll need standards and collaboration by carriers, content providers, and developers around location sharing. Especially with regard to privacy. This goes beyond the stuff the OMA is working on.
  • GPS can be spoofed…and the Iraqi insurgency has discovered how to impact smart-bomb accuracy.
  • Near-term revenue for LBS will be on the commercial side (fleet tracking, etc). Companies can afford to spend on it, and they don’t face the same barriers of privacy. Consumer mass adoption will happen a few years out, but it will be huge!
  • Consumer privacy issues are just beginning to make themselves known. For example, if someone adds an extra phone line to their wireless plan, and gives it to a friend, do they have rights to know their location at all times? The only unambiguous thing about location privacy is that the government with a warrant can get anything they want. WAP-Push Provisioning

It’s not easy to provide a good web-based interface for mobile apps. Despite lots of problems with how their mobile service works, I like the provisioning interface for the mobile app.  It’s straightforward and visually well designed.  Here’s the web-based provisioning process for Cingular:

Match1Step 1.  Intro.

Match2Step 2.  Select Carrier.

Match3Step 3.  Select Model.

Receive WAP Push via SMS:
Follow the link to Mobile Match:

Click through to provision:
Enter the following code on the registration page.  Do not continue from this card until after you have submitted the registration form on the web page.


Match4Step 4.  Activation Code.

Match5Step 5.  Complete profile.

Mobile Applications

So how can  we get more people firing up applications on their cell phones?   There are plenty of cell phones out there (138 million among the big 5 as of late last year).   Penetration of color screens is growing by leaps and bounds.

Is it just the cost?  Games or ringtones are cheap, or at least they respectively represent a means to raise status or quench addiction in a way that’s compelling to the youthful side of the audience.

So a cell phone application is too expensive for the value that it brings to a young person.  And it’s just not yet in the forebrain of the average thirties+ consumer.

Another Snowstorm

Another snowstorm, this time I’m better placed, comfortable in the coffee house across the street and blogging by EV-DO.

Took a snow day from work today but stayed online while moving from between the closely spaced bars and cafes here in Manayunk.  Not a bad way to work, but not sure I could keep it up every day.

EV-DO Broadband and Snowstorms

I had thought Verizon’s EV-DO unlimited broadband service would prove useful, but how amazing to be able to access the Internet during a 24 hour flight re-routing during the Blizzard of 2005.  There’s been  plenty of downtime, whether sitting in the plane on the tarmac, drinking coffee in my grungy (if complementary) hotel, or sitting among the stress-filled airport citizenry.

Inspired by this incredible mobile technology, I’ve started this  blog.  Full credit goes to the Indianapolis airport for the inspiration.

Just praying my plane doesn’t depart during game time.   E-A-G-L-E-S!