Wednesday, October 12, 2011

API Developer Interview: Eric Sanders of findacar.us

A month ago, the Edmunds API was released. Today, we have over 100 developers on the platform who have made in excess of 500,000 API calls. One of those awesome developers is Eric Sanders of FindACar.us. We have interviewed Eric earlier in the week. Here's how that interview went:

Hi Eric, could you please tell us your full name and what you do?

My name is Eric Sanders and I am a Manager of Software Engineering at HomeFinder.com. I have been a Software Engineer since 2007 and have been a manager since 2010.

What is findacar.us?

findacar.us is a hobby site of mine, so it is 100% a work in progress, that I work on during my morning train commute. The goal is to make it a viable source for people to find information about vehicles and car dealerships.


Why did you build it?

I built findacar.us as a way to pass the time while making use of two 35 minute train rides per day. As a Software Engineer I use the site as a way to learn and use new technologies. It is the first project that I have built in the cloud as well as my first project using nginx. I also went into this hobby wanting to learn more about SEO. I have learned many aspects of SEO while experiencing significant highs and lows in the eyes of Google.

How many people use your site on average?

My site is only 13 months old at the moment and it only started getting any meaningful traffic starting in March. Since then I saw the month of June with just under 42K visitors while over the last four months I have averaged just under 20K visitors. Since I only have seven months of valuable data I am curious to see what the seasonality trends are for vehicle searches are. It will also be nice to see what my year over year numbers are to see if the site has improved or not.

How did you hear about the Edmunds API?

I heard about the Edmunds API via the September 22nd Mashery API Network notification email.

What do you think of it so far?

The API is blazingly fast. I am currently using two services and, according to Mashery, the average latency is around 88ms for the calls that I am making. I will say that the API is somewhat overwhelming. The documentation is great, however, there are a lot of endpoints to keep in mind. My biggest problem right now is deciding what it is that I want to build with the data available to me. To be honest, I find it too good to be true that all of this information is so readily available.

What would you like to see on the Edmunds API portal?

I would like to see a list of all possible attributes. I can see through calls that I may get back 20 attributes which have very different ids. I've seen these values range from 1 though 586. It is going to be hard to do any meaningful data mappings when there are so many attribute types and each call only returns a few handfuls of ids.

How easy was it to find the data you're looking?

Again, the documentation was very thorough so it was very easy to find the data I was looking for.

How easy was it to implement it?

This is where things get a little tricky. I'm finding it tedious/inefficient having to make several calls, sometimes tens of calls, to get the full details of a vehicle by make/model/year. For instance, if I do a search by make/model/year I will get back useful information for that vehicle, however, I also get an array of "links" within the equipment object. In one case I have 57 "links" that I would have to make API calls for which doesn't make a whole lot of sense. I'm guessing this is done to reduce the amount of data returned, but it is painful.

The only other piece that makes it somewhat difficult to implement is the value of the name member variables. Although "MANUFACTURER_OPTION_NAME" is meaningful it is not user friendly. It would be helpful if a user friendly version was also available. It wouldn't be too hard for me to create a mapping for these values if all possible values were made available in documentation.

How many 3rd-party APIs do you used on findacar.us?

I am currently using four 3rd-party APIs. I'm using Oodle for primary vehicle search, CityGrid for Dealership searches, the YouTube API for the vehicle details page, and most recently the Edmunds API for vehicle images on the vehicle details page.

What other Edmunds datasets are you interested in using in the future?

I can't really answer that as I don't know what other datasets are even possible. I'm sure I'll have more to say about this in the future as I build out more features for findacar.us.


* I would like to point out that I have only had to invest around $50 total for this site. All of the data that I use is freely available and I am also running this on the free micro-instance tier on AWS. I used Feedback Roulette (http://feedbackroulette.com/sites/view/27) to get some user interface feedback. If anyone has any comments/suggestions they can leave comments at http://www.facebook.com/pages/Find-a-Car/167050096657805.

No comments:

Post a Comment