Google Maps
Maps is Google’s newest web application and it’s tying developers’ and users’ panties in a knot… in a good way.
(Sidebar: If you don’t know what Google Maps is yet, the hole in which you live must be both deep and well-decorated. But it’s never to late to jump on the bandwagon. Learn more by reading my Mapping tag on Feed Me Links.)
Google Maps gets mad press for two reasons: One, the simplicity+power of the mapping interface (created by Telcontar), and Two, the new uses hackers have found for it. The first point, the user-beauty of the app, has been expounded upon at length. The second, hackability, perhaps less so.
Hackability is important for the life of a technical app. Hackers are beta-testers for your technology, they stress-test your code, and they give you new ideas. They do this for free. If you don’t build hackability into your apps (scripting, hooks, comment your code, open-source it), then your app better be damn good.
You may have read Google Suggest Dissected, about the underpinnings of another Google app — XMLHTTPRequest, or AJAX (Asynchronous JavaScript And XML). AJAX is interesting mainly because it’s surprising — few people realized or exploited the power of the XMLHTTPRequest object before Google. But AJAX is a bit like a magic trick: once you know how the magician makes the lady disappear, it’s not that exciting, unless there’s revenue to be had by making ladies vanish. AJAX is server-side applications in user-space.
Google Maps is hotter.
Google Maps is built on XSL, XML, and DHTML.
Most developers are terrified of XSL. XSL is a declarative language. It rewards recursive programming, it’s verbose, and it’s almost illicit. Its entire worldview is predicated on the assumption that XML is the One True Way.
But when we adopt a language, we don’t just get a syntax and a pile of libraries. No, when we buy into a language, we buy into a community and a set of practices. XSL’s community is some smart, focused, and uncompromised developers who spent years in the XML trenches before most of us knew what an angle-bracket was. (Maybe that’s why i migrated our corporation’s biggest client to a pure XSL architecture three years ago.)
Because Google Maps uses XML and XSL with DHTML code references and div callbacks, it’s easily extended by completely external developers who are up to their own, nefarious devices.
That’s how i built an annotated map of a certain weekend, overlaid with my own most relevant data. (link removed)
Happy hacking.