My first few searches turned up some fairly unpolished methods of accessing Google Maps from Ruby. I’m definitely using Ruby as a starting point in this challenge, its the language I’m most comfortable with. That’s not to say that I’m not going to do any other languages. I do want to do a Python/Django project at some point, just to get it out of the way.
After bit of digging around I discovered the YM4R gem. YM4R provides access to the Google Maps and the Yahoo! Maps Building Block API’s. Before we go any further lets just get a Google Map on the page and point it at a location. The gem also comes as a plugin for rails, which I’m about to find out has some different capabilities (more on that later).
To do that we need to get an API key here. Making sure to put in whatever url you will be using to access your application, in my case, at least for the example application, that’s http://localhost:4567. If you’re familar with the port number then you know that I’m using Sinatra rather than Rails, this means, is that I can’t use the YM4R/GM rails plugin (at least without hacking it up) & unlike the plugin the gem doesn’t contain the code to actually generate the map code. So I’m back to the drawing board.
Taking a step back I have a look at how difficult it is to just get it onto the page without a helper, which as it turns out is ‘not very’. Lets look at the code to get a minimal example happening:
And the view:

Google Maps Example Application Screenshot
As you can see, It’s pretty simple to get a nice looking Google Map onto the page. In the next post I’ll go into the details of how to start manipulating the map for our purposes.
One of my favorite finds this year is Programmable Web, a site dedicated to APIs and Mashups that are the lifeblood of web 2.0. Having just watched the movie Julie & Julia, which I highly recommend, I think that its only appropriate that I set myself a similar challenge. Take the top 50 apis, and within the next year develop a non trivial application for each of them (in no particular order). I’ve set myself a couple of rules:
First up:
You’ll be hearing from me soon. In the meantime I welcome anyone that wants to participate. Just leave a comment on this post, with your details. If it proves to be popular then I’ll get some kind of signup/participant website going.
If you’d said the word Zillow before lunch today I would have looked at you strangely. At lunch my iGoogle home page revealed a travesty taking place. A user of Hacker News was asking for advice regarding Zillow offering $250 for the his domain (and threatening to cut off API access). It would seem from reading the thread, that Zillow (a real estate site), had decided that Auston Brunson (and his domain iZillow.net) had out lived their usefulness.
iZillow has an iPhone app up on the app store that suddenly became a competitor to Zillow’s own newly released iPhone app. To make things worse there is clearly trademark issues, not to mention that Auston’s app relies on a public API supplied by Zillow. The advice from Hacker News users ranges from “time to play hardball” to “lets start a negative PR campaign on twitter (#zillowfail)”.
Why shouldn’t Zillow shutdown someone that is infringing on their trademark? After all, what right does iZillow.net have to use the name? If it was a clear cut case of trademark infringement, then I wouldn’t be posting this, I’ve had these kind of discussions with Etsy about my former site EtsyTools (the death of which had nothing to do with trademarks). Without going into to much detail, Etsy was outstandingly reasonable in the protection of their trademark, since it’s a case of protect their trademark or risk losing it (so fair enough).
It seems like from Zillow’s perspective at least it is a clear cut issue. A comment from Drew Meyers (representing Zillow) has suggested that this is indeed what the communication is about.
Drew Meyers on April 30, 2009 11:34 pm
I’ve been in contact with Mr Bunson about the issue being discussed on Hacker News. I don’t think it’s appropriate to discuss our conversation in public, however, I will say that what is described here is not a complete representation of the conversation. Mr Bunson is welcome to continue to use the API as long as he doesn’t infringe upon our trademark and use our brand name “Zillow” on his website.
I would agree with this except its taken them a whole year to get around to ‘protecting’ their trademark, and it comes suspiciously around when their releasing their own iPhone app. There is nothing stopping Zillow from using trademark and API access to effectively shutdown their competitor, that doesn’t make it right. Whether he’s right or wrong in his actions, Auston has built up a user base, and invested a large amount of effort into the site.
I can’t help but wonder if going to Hacker News will help or hinder. Certainly the wrath of an incensed mob is nothing to be ignored, but by bringing it out Auston Brunson may have aggravated Zillow. I certainly hope that Zillow will reconsider it’s initial position.
Update:
David and Drew (from Zillow) have been very agressive in maintaining that this is just a trademark issue. They also maintain (this has been confirmed by Auston) that the $250 figure was Auston’s number. According to Auston they offered “a couple of hundred bucks”.
It’s not, and it never will be just a trademark issue, not to Auston anyway. He’s been running iZillow.net since May last year (and all the sweat and blood that comes with that). Has built up a user base & links from the rest of the internet (NYTimes, blogs, etc). Claiming it’s just a trademark issue, will give little comfort to anyone else using Zillows API. The timing is just too close to the release of their own product.
Regardless of who put the figure on the table, I would like to see Zillow rise above and put a large figure on the table. They need to think about the impact that they’re having on an individual.
For those that are interested I’ve decided to release the work I did on accessing information from etsy’s backend. I have two copies one that is a ruby gem and based on a custom hacked rubyamf implementation (since it doesn’t support being a client) and one written in PHP that relies on SabreAMF (the copy that I gave to juln and that runs the heartomatic), and put that up as well. The url you want for my new code is:
http://www.github.com/vertis/etsy_api
And the one for my old (possibly broken) php code is:
http://www.github.com/vertis/etsy_api-php
If people are interested in collaborating on these projects let me know (sign up for github) and I’ll see about adding you.