Tuesday, October 25, 2011

API Developer Interview: Jonathan Isabelle of Jack of Cars

Over a month ago, the Edmunds API was released. Today, we have 100+ developers on the platform who have made in excess of 1 million API calls. One of those awesome developers is Jonathan Isabelle of Jack of Cars. Here's our interview with Jonathan:

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

My name is Jonathan Isabelle. I have been a programmer since the early 80's--yes, I learned to code on the TRS-80 :P--and have been loving it as a creative outlet ever since. Most recently I work as a Software Architect for desktop software and develop phone apps in the wee hours of the night.

What is Jack of Cars?

Jack of Cars is an app for Windows Phone 7 that leverages the Edmunds API to allow users to look up car details, prices, pictures, and dealers.

Why did you build it?

There have been so many times where I stop to look at a car on the side of the road or at a dealer and just want to quickly look up and find out the engine size, the cost, and the private party or retail value. I've had friends call me from the road to look up similar information on line.

How many people use your site on average?

Jack of Cars released only 8 days ago but has had been used over 3,000 times.

How did you hear about the Edmunds API?

I heard about the Edmunds API in Mashery's "New APIs" notification and immediately got excited.

What do you think of it so far?

The API is amazingly detailed and has many different ways of drilling down into the data. I use the Vehicle API and the Dealer API. Most interfaces are flexible allowing a minimum amount of required data and multiple optional parameters. The docs are very good and consistent providing formats as well as example requests and results.

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

Some results include detailed lists like options but don't have user-friendly names. Although these generally have easy to use links to get further detail, if one were follow all these links to fill a list for the user to choose from, you might be making 5 or more API calls. Including a user friendly name in the brief lists would allow the application developer to build a list from a single request and then only drill down into the data the user selects.

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

I had no difficulty locating services to fulfill all my app's needs.

How easy was it to implement it?

Building the URIs to make the calls is very straightforward and readable. Since the data comes back in JSON, it's easy to try a call and peruse the results to get an idea of what to expect. The only thing that was tedious for me was building the JSON description for my JSON deserializer. Still, it was a small effort for access to so much data.

How many 3rd-party APIs do you used in Jack of Cars?

I am currently using three 3rd-party APIs. Obviously, I use Edmunds Vehicle API to look up car details, photos, and values. I use Edmunds Dealer API to find dealers. I use Telerik's RAD Controls for Windows Phone for interpage transitions and busy indicators.

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

At first, I misunderstood the Inventory API and thought it could return details on a particular car like links to its history. I think this would be a good bridge between applications built on the Edmunds API and the Edmunds site itself. I'm not sure if that data is available.


* To find out more about Jack of Cars or contact the developer, please visit us on Facebook.

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.