Support Earthquake and Tsunami Relief Efforts

Over the past several days we’ve seen a significant increase in searches for tsunami and other earthquake-related terms on Wordnik. In light of that we’ve added a banner to the top of many of these pages linking to the American Red Cross donations page, and to the Google crisis response page, which has more detailed information about relief efforts. (The Google page also includes a form to donate directly to the Japanese Red Cross, to which Wordnik.com is making a donation.)

If you see additional words that do not have the banner that you’d like to suggest get the banner treatment, please leave a comment here … thank you!

Wordnik API has gone Beta

Wordnik API LogoThis has been fun. We’ve had the API open for over a year and have received tens of millions of calls from developers. We’ve also gotten a lot of good advice on how to make it easier to use, and in christening our API as officially in “beta” we’ve tried to incorporate as many of these ideas as possible.

Since launching our API we have made major infrastructural changes, starting with our move to MongoDB. This allowed infinitely more freedom with the types of queries we could make under the hood, and also let us add more complex processing since the entire system was so much faster.  It was a giant win for Wordnik and we owe many thanks to 10gen.

We also have rewritten our REST API in Scala. This has removed a ton of code and allowed us to reuse “traits” throughout the system. Standardization makes everyone’s lives better, and Scala has greatly facilitated this.

Finally, with Wordnik API libraries being built in most common languages (there’s even a Wordnik plugin for Emacs!) we’ve received feedback across the board about nuances in query parameters, ids, RESTful-ness, etc.

One surprise to all of us was the number of folks using the Wordnik API from mobile devices. Currently over 60% of our API traffic comes from mobile devices—double what we initially expected. So we now offer a latency-friendly Batch API to help folks out with this, and as a result we’ve been seeing great performance across both 2G + 3G mobile networks. Nowhere could this be more evident than with biNu, a company providing a dictionary app for 2G feature phones. Their Wordnik-powered application has almost 700,000 downloads since September.

The downside to mobile has become the deployment of applications. It can be a relatively slow process to move a new Wordnik API into your mobile application. Thus the stability of the API signatures that you depend upon is more important than ever, as hot-patching your app might not be as simple as a redeploy of some centralized server code. With that in mind, we’ve taken a sweep through our API signatures and formalized parameter naming, as well as deliberately put the API major version number in the URL.

So that said, we are enforcing compatibility with the API in the URL. Previously you could access /api to reach the latest production-stable API—this proved to be too confusing and made signature changes too difficult. From now on new API versions will always be deployed in a /vX path, where X is the major version. Major versions will always be compatible—if we change a signature, we’ll support the old request syntax as well—but across major versions we reserve the right to change signatures if needed. Realizing this is work for everyone (from our testing to your updates), we’ll only do this as needed.

Next, we’ve standardized our attribute naming. Ambiguous terms like “startAt” and “count” have been replaced across the board with terms like “skip” and “limit”, and at the suggestion of many developers we have moved from terms like “headword” and “wordstring” to “word”. You’ll also see that a number of “id” fields are now gone from the response. Since we’ve moved to MongoDB from relational database storage & retrieval, we can now have meaningful identifiers for data. Like the “wordObject”—you don’t really need an ID, the word itself identifies it uniquely. So less clutter in the models, less bandwidth to your client, and happiness across the board.

If you’re the HTTP-header-sniffing-type, you’ll see the Wordnik API version + build number in the response, which can help you know what you’re calling. Lots of folks have asked for this, and we’re happy to deliver it.

And last but not least, we’ve launched a new developer site. Please check out http://developer.wordnik.com for code libraries, an application showcase, support information and … drumroll… an interactive API shell. You can call the API and see raw XML/JSON against our server without having to stick a breakpoint in your code, add a println or nag your hacker buddy with wireshark. The developer site shows you live data from the API and lets you try out different parameters quickly and efficiently.

Thank you again for all your feedback and support! The communication lines are open so please feel free to reach out with any questions or further suggestions about the API.

The Wordnik Development Team

Calling All Developers: Check Out Our New Developer Site!

Today we’re happy to announce the launch of our shiny new developer site at developer.wordnik.com. The site provides comprehensive documentation of our newly-updated API methods and features a sleek and powerful API sandbox for making requests right in your web browser! In addition to the new documentation, we’ve made it even easier for developers to start incorporating Wordnik features into their apps by offering code libraries in a variety of languages such as Objective-C, Ruby, Python, Java, PHP, and Actionscript/Flex. We’ve also added an application showcase to show off some of the nifty games, apps, and tools that people have already built using the Wordnik API.

You have the tools, now go build something cool! We’d love to feature your next app in our developer showcase.

Zeke!

For months we’ve been hunting for someone to work with us on Wordnik.com. We knew the ideal person would both design and code, but it’s hard to find people who excel at either, much less both, so before we even posted the job we were debating what kinds of compromises we would have to make.
We were ecstatic when Zeke Sikelianos got in touch and made it easy on us. He’s a polymath who makes beautiful things that work, and it didn’t hurt that he was one of the winners of our developers challenge. We’re delighted to welcome him to Wordnik.

Have some software on us

Today Wordnik is at MongoSV, a conference held by MongoDB creator 10gen in Silicon Valley. We’re presenting tools and tricks for managing a large deployment of MongoDB. In addition, we’re releasing our home-grown MongoDB admin tools to the wild.

We’ve shared lots of information on how we use MongoDB in some blog posts and back at MongoSF in April. MongoDB plays an invaluable role in Wordnik’s application stack. It’s becoming the clear leader in the non-relational database world, and has enabled us to bring more to our users faster. Wordnik is now serving 10 million API requests per day, so performance is paramount. (You can sign up for Wordnik’s free API and see for yourself.)

We’ve had an excellent experience switching to MongoDB (you can read how we did it here). Managing it takes less effort than our previous MySQL deployment, allowing us to add both features and content quickly. So to help other folks out there manage their MongoDB deployment we’re announcing Wordnik OSS Tools, a suite for managing MongoDB deployments, including tools for incremental backup, restoring from backups, and more.

And if you didn’t make it to the conference, check out our slide deck: Keeping the Lights on with MongoDB.

As always, questions and feedback welcome.

Happy API-versary!

Wordnik t-shirt

Do you have a Wordnik API key? This could be yours!

We’re a bit late on this … we just realized last week that the Wordnik API has been open for more than a year!

To celebrate our data-versary, we’re going to give away some spiffy Wordnik t-shirts. We’ll pick five lucky developers from everyone who has registered for a Wordnik API key by Monday, November 15th, and send them each a t-shirt.

If you haven’t signed up for a Wordnik API key yet, you might wonder: what can you do with the Wordnik API? You can power games, make mobile apps (including feature-phone apps), and more.