Lijit does Open Hack
This post is by our very own Derek Greentree, who visited the Yahoo! campus for a field trip. In addition to using his business cards for the first time while on this trip, he was also very excited about being the recipient of developer swag. And he was nice enough to share it with the rest of us in the office.
Two weeks ago, I flew out to sunny California to attend Yahoo! Open Hack Day, an interesting developer event periodically held by Yahoo!. Attendees get access during the event to up-and-coming APIs (and other technology) in development at Yahoo!, and are given a challenge to create a mashup or other interesting hack and demo it at the end of the event. You can find information about the hacks that were demoed at the hack day blog.
If you’ve never been to the Yahoo! Sunnyvale campus, you probably won’t know quite what to think, as it’s filled with purple carpet, exclamation points on the walls, and emoticons everywhere. It’s interesting to see a very large corporation try to promote a youthful and exuberant appearance at a corporate headquarters with security guards, a cafeteria, fountains, volleyball courts, outside dining, and multiple buildings. I arrived Friday morning and was also surprised at how organized the event was; after entering, I was always greeted with friendly faces willing and able to help me find what I needed.
The theme of the weekend was APIs and openness. First, I’m happy to see that Yahoo! is getting behind OAuth, an open standard for API authentication. I wish everyone supported this simple mechanism (*cough* Facebook *cough*), as the various APIs offered by services out there desperately need to settle on a single, well-understood mechanism for allowing users to grant access to private data.
The second most exciting thing demoed (for me) that weekend was YQL, which will be a single URL that takes a SQL-like query and returns data from many Yahoo! services–like Flickr, mybloglog, Yahoo! Messenger, Yahoo! Mail, and others. Currently, each of these services has a different API and a different authentication mechanism, which means that supporting them is a pain. Having one mechanism for authenticating to the Yahoo! API (OAuth) and for querying any data within it will greatly simplify the code base we use here to interface with external services.
Next was Yahoo! BOSS, a search API. Many services (like Google and even Yahoo!, using yet another API) expose search services to external users, but BOSS is special. The problems with all the major existing APIs out there is draconian usage restrictions. Many of them, for example, don’t allow you to:
- Reorder search results
- Change the display of search results
- Use the API more than a certain (low) number of times per day
- Inject advertising of your own into search results
This is a mistake: allowing services to use your search data in unique and interesting ways is a win-win for the service and the search provider. With BOSS, on the other hand:
“BOSS (Build your Own Search Service) is different–it’s a truly open API with as few rules and limitations as possible. With BOSS, developers and startups now have the technology and infrastructure to build next generation search solutions that can compete head-to-head with the principals in the search industry. BOSS will grow and evolve with a focus on providing additional functionality, tools, and data for developers.”
I attended an excellent presentation by Vik Singh, a member of the BOSS team, on some example usage. He’s also developed a very cool Python library called the BOSS Mashup Framework that lets you whip up interesting mashups using Yahoo! Search with simple, elegant code. If you’re a developer and into this stuff, you definitely should check things out.
Perhaps most importantly, the weekend made me think about APIs that Lijit wants to offer (or could offer) to the outside world. We have access to a lot of interesting and unique data here, and I’ve seen more than a few startups that would benefit by having access to the work we’ve done. Look for more on this in the future, but I think providing access to Lijit’s data via a set of APIs could produce some very interesting mashups, and help Lijit grow in cool and unique ways.
[Photos found on Flickr and used via CC license: freshelectrons, Jinho.Jung, and bluesmoon]










