Begin main content

Macy's Brand to replace Filenes []

I hope the Filenes automatic discount basement will still be there next time I get to Boston.

09:03 PM, 28 Jul 2005 by Mark Aufflick Permalink | Comments (0)

Lars Rasmussen - Google Maps

I'm on the train on my way back from today's keynote presentation at The 5th International Conference on Web Engineering (ICWE2005) by Lars Rasmussen, one of the key developers with Google Maps. I know at least some readers will be interested in this, so I thought I would share some of my (very unstructured) notes.

Google maps came from a startup acquisition where Lars worked with his brother and two other developers. They were developing a native windows map navigation application and had been looking for funding. There is an interesting story about how they ended up being acquired by Google rather than recieving wad loads of VC funding, but I will wait for Lars' approval before I post that one.

The thing is, Google is a web company so Larry Page (Google co-founder) asked what they could do with mapping on the web. In a way perhaps not dissimilar to "sound by monday", they had to come up with something fast. Split into two teams of two, while one pair investigated a plugin route, Lars and his brother investigated what could be done using DHTML and javascript. That prototype became Google maps as we know it today.

Out of that history, Lars has an interesting viewpoint on the difference between producing a native application versus a rich web application. Here are some bullet points paraphrased from his slides and talk:

  • Consider integration between native app and web app to deliver both convenience and richness
  • The native sexiness not available to web apps will shrink
  • Explosive growth in 1 day is unlikely for downloadable applications
  • Google: The only thing that is required is that something is useful to users
  • If you can attract large numbers of users, there will always be a way to monetise it

  • End user is royalty
  • Go beyond the browser Lowest common denominator - the functionality and implementation doesn't have to be the same for all browsers
  • eg: overlay direction lines: in firefox is a generated at the backend as a transparent png; in IE it is done with vml
  • Do what it takes! Harness the power of optimism. If you're not crashing the browser, you're not pushing it hard enough.
  • Launch early & often; harness the power of your users to get attention and market feedback - Google maps got around 5,000 emails a day when it launched
  • Web applications allow rapid fault resolution
  • The pain of cross platform/browser web development is still far less than the pain of cross platform native application development
  • Web deployment allows rapid deployment of bug fixes which in turn allows earlier (ie. riskier) releases

Lars then gave us a short insight into some of the implementation details including the map tiling and hidden iframe based navigation.

  • A problem is that you are doing things beyond the design intentions of the browser eg. forward/back/print buttons
  • When you are implementing application sexiness, you need to be careful not to break the simplicity of the browsing experience.
  • Harness/Link the forward and back buttons to what the user would expect - try it in IE/google maps. Removes the need for popups

  • Google implementation: content navigation happens in an iframe - the iframe browsing history are recorded within the IE history, as does the content of edit fields (not true in all browsers)
  • attached an event handler to the iframe, when it changes, put that content into the main page, hide the iframe (I assume the link still needs to target the iframe), also need handler to copy the input field from the copy back into the iframe
  • when copying the content, the urls are rewritten to target the iframe

Lars also spoke about the rise of google map hacks, the problems that lead to with their content providers and, as we know, the happy ending that is the google map API. There are some interesting outcomes of public access to your code (which is unavoidable with a jaascript based product).

  • bloggers will describe your design more accurately than your design document
  • you WILL be reverse engineered - design your models and publish an API to avoid the pain & encoourage a community to build around you [Mark's thought, not from Lars' slides]
  • rss feed to featured project link
  • after 3 weeks of the api being published, there are 2,500 developers in the discussion group

Future Gazing

Short term

  • renewed interest in AJAX

Long term

  • increased access to host machine resources
  • better development tools
  • secure 'greasemonkey' like extensions (loaded javascript has the same access as the viewed page eg. cookies) - the browser needs a richer security model
  • need more flexibility to control the behaviour of the next/back/print/save buttons etc.
  • But: need to maintain the simplicity of 'surfing' experience !!

  • Choose a development model that suits your application

  • demo's have a much bigger impact within google that requirements document
  • the process becomes more formal as the product becomes more mature (& therefore has more to protect)

  • Google mission statement: organising information.

Sorry for the unstructured nature of these notes - they are a copy/paste from my outliner - I will try to improve them soon!.

Update: CNet have posted an article on Lars' keynote ( Google mapper: Take browsers to the limit). It reads nicer, just like a real journalist wrote it (as opposed to me!). It always astounds me though, just how innacurate an image you can get of someone's message when it is wrapped with hyperbole like "As such, Rasmussen remains disappointed with Google Earth" (which he is not) and inserted words like "Google is looking for Web mapping experts to beef up its Sydney office" (all he said during the keynote is that they are hiring, and actually they are looking for machine learning and data mining experts).

05:15 PM, 28 Jul 2005 by Mark Aufflick Permalink | Comments (0)

As per my ad in, I am parting ways with my beloved car (sob)! I'm a sensible married man now, with no need for a sports car to heighten my attractiveness to the opposite gender ;)

Seriously though, it is a top car - if I get time I will link to some reviews of it - but this side of the Porsche Boxter S, it's only competitor is the Nissan Z convertable (which is nice too!)

It has a Totally rad (sorry for the 80s-ism there!) custom HKS Exhaust system and air filter. Not only does it sound really sweet (gets more positive comments than my friends Porches) but other S2000 drivers have commented that you can feel more pull when you accelerate :)

Price: $36,500Reg Exp: Nov 2005
Trans: ManualReg No: AKS82M
Year: 1999 Body: 2D CONVERTIBLE
Engine Size: 2l Fuel Type: Premium Unleaded
Km's: 95494 Colour: Silver
Location: Sydney

Note: the car is sold

12:52 AM, 01 Jul 2005 by Mark Aufflick Permalink | Comments (0)


Blog Categories

software (41)
..cocoa (23)
  ..heads up 'tunes (5)
..ruby (6)
..lisp (4)
..perl (4)
..openacs (1)
mac (21)
embedded (2)
..microprocessor (2)
  ..avr (1)
electronics (3)
design (1)
photography (26) and white (6)
..A day in Sydney (18)
..The Daily Shoot (6)
food (2)
Book Review (2)


Icon of envelope Request notifications

Syndication Feed


Recent Comments

  1. Mark Aufflick: Re: the go/Inbox go/Sent buttons
  2. Unregistered Visitor: How do make a button to jump to folder
  3. Unregistered Visitor: Note I've updated the gist
  4. Unregistered Visitor: umbrello is now an available port on macPorts
  5. Unregistered Visitor: Updated version on Github
  6. Unregistered Visitor: Modification request.
  7. Unregistered Visitor: Accents and labels with spaces
  8. Unregistered Visitor: Mel Kaye - additional info
  9. Unregistered Visitor: mmh
  10. Mark Aufflick: Thank you