Innovation Blog

14.3.05

Google Maps pushes the envelope

Google Maps pushes the envelope
New service is a showcase of DHTML and XML techniques

By Jon Udell
February 18, 2005

The instant Google Maps appeared, a lot of us knew right away that we’d
never use MapQuest again. Google’s (Profile, Products, Articles) mapping
and direction-finding service is a stunning improvement.

The maps are gorgeously readable, and they fill as much of the screen (or
the printed page) as you give them. Scrolling the map works in the most
natural way, by dragging the image. The mapping service dovetails with
local.google.com, which finds businesses by city or ZIP code. In
direction-finding mode, each step along the route offers a link that, when
clicked, pops up an enlarged view of the intersection.
What rich and smart client technologies enable this magic? DHTML,
JavaScript, CSS, XML, and XSLT.
As is the tradition when Google launches a new service, curious hackers
immediately took Google Maps apart to see how the magic was done. The best
early analysis came from Joel Webber, who worked out the details of image
tiling, dynamic updating, and route plotting (infoworld.com/2533). Among
other interesting discoveries, he found that the application uses the
browser’s built-in XSLT engine to transform packets of XML received from
the server into search results, displayed as HTML.
This explains why Google Maps supports only Internet Explorer or
Mozilla-based browsers. The others, notably Safari and Opera (Overview,
Articles, Company), lack built-in XSLT processors.
Commenting on Webber’s post, one reader noted that no W3C standard defines
this capability. As is the related XMLHttpRequest object, which enables
the browser to programmatically fetch XML from the server and parse it,
the built-in XSLT processor was a Microsoft (Profile, Products, Articles)
innovation that was later copied by Mozilla. Safari and Opera do support
XMLHttpRequest, by the way, which is why they can run Google Suggest, the
experimental version of Google’s search that dynamically expands partially
typed queries into lists of choices.
The W3C can bless this approach or not, but with Google Suggest and now
Google Maps, Google has thrown down the gauntlet. The modern browser is an
XML-aware client. Savvy Web developers have known about these features for
a while, but now Google has legitimized them and pushed them squarely into
the mainstream. My guess is that we’ll see an explosion of pent-up
creativity as more Web developers discover, and begin to exploit, the full
power available to them.
But wait, there’s more. If you append the term “output=xml” to any Google
Maps URL, the server will send back an XML packet. APIs? We don’t need no
stinking APIs. In 20 minutes I was able to build a proof-of-concept app --
made from snippets of HTML, JavaScript, and XSLT -- that accepts city
names or ZIP codes and displays information about local businesses.
(Unfortunately, the XML feature has since been disabled.)
I didn’t need to publish any new services to do that. Because the app uses
the W3C’s hosted XSLT transformer in tandem with Google Maps, I was able
to “deploy” it in any browser simply by posting an HTML/JavaScript snippet
to my Weblog.
Google Maps’ killer integration hook is the latitude/longitude data woven
into its queries and responses, which can tie into any geo-aware app. We
don’t yet know how Google plans to control or monetize this capability,
but it shows what can happen when all the pieces of Web technology come
together in the right way.

Strategic Developer
Annotating the planet with Google Maps
Open, XML-based design makes it a service factory for the geospatial Web

By Jon Udell
March 04, 2005

My previous column on Google (Profile, Products, Articles) Maps provoked
an unusually strong response. First up was Wil Rivers, who pointed out
that Telcontar’s Drill Down Server is the engine that does the heavy
lifting on the back end. Next was a series of gripes about data quality
and completeness.

“The map location came right up, but the address was off by a half mile,”
one reader said.
“Wake me up when it covers the scope of MapQuest and MultiMap -- i.e.,
this planet and not just one country,” said another.
“There was a road that doesn’t really exist,” yet another said. “If the
database is this out of whack with reality, it’s not going to be very
useful.”
Before I could respond to these points, all of which are completely valid,
Craig Thrall sent me the bombshell that blew up my schedule for the next
24 hours. “A friend of mine figured out how to download Google directions
into his GPS,” Craig wrote, “and also use the Google Maps front end to
display his GPS.”
The friend is Matt King, and his proof of concept is a JavaScript
bookmarklet that uses Google Maps to display a walking tour of Beverly
Hills, with waypoints labeled and linked to photos. If you try it, be sure
to check out the black-and-white bunny sitting on the tree lawn of N.
Rodeo Drive between Park and Carmelita.
I always knew there would come a moment when I had to have a GPS receiver.
This was it. My first thought was to use my LG VX4400 cellphone, which has
a built-in GPS chip. Although Roger Binns has open-sourced every other
aspect of that phone with BitPim, I’ve yet to find a way to display and
remember GPS waypoints. So while I’m not normally an impulse gadget buyer,
I picked up a Garmin Geko 101 and went for a walk.
When I finished making the interactive version of my neighborhood tour,
along with a screencast, it was clear that Google Maps is every bit as
revolutionary as my first instincts told me. Not because Google invented a
new geospatial engine or compiled better data. They didn’t. But simply --
and yet profoundly -- because Google Maps is a framework we can all use to
annotate the physical world.
In the very near future, billions of people will be roaming the planet
with GPS devices. Clouds of network connectivity are forming over our
major cities and will inevitably coalesce. The geoaware Web isn’t a
product we buy; it’s an environment we colonize. There will always be
markets for proprietary data. But the real action will be in empowering
people to create their own services, with their own data, for their
friends, family, and business associates. Google Maps isn’t just a
service, it’s a service factory.
Radical openness is the key. It’s been only two weeks since it launched
and already the colonization has begun. Thanks to open XML data formats
and open Web programming interfaces, people have figured out how to
animate routes, create custom routes with their own GPS data, and display
GPS data in real time.
Microsoft (Profile, Products, Articles) could have enabled these same
kinds of things years ago. Its TerraServer has been up and running since
1998. But despite Steve Ballmer’s infamous monkey-dance chant, developers
haven’t flocked to TerraServer. What’s Google’s secret? Web DNA and no
Windows tax.