B is for Billion

Only 10 years ago having a structured database with 100 million records in it was quite a feat. Today Wordnik passed the 9 billion record mark with the open-source MongoDB from 10gen. But a record in an object store is quite different from a row in a circa-1999 relational database.

Object-oriented programming concepts flew right by the RDBMS long ago. Inner Joins, left/right outer, unions, etc., have served us well, but how much of our data can we model in a tabular fashion? Have you ever tried doing anything complicated in Excel with just ONE sheet?

MongoDB removes an enormous amount of friction from the development process. A record shouldn’t be limited to things like the standard “user” table, with first_name, last_name, email, etc. They should be able to hold more meaningful and conceptually deep data, like “the frequency usage of a word across all time” or “the graph of all relationships to a word”, concepts difficult to express in tabular data. By using a document-oriented database, we at Wordnik don’t need to nag a DBA to add a field or column (well, we’re a startup, so more like nag the guy sitting next to you). If we can model it in software, MongoDB can store it, simple as that. And if MongoDB can store it, we can not only get it back (very important) but *find* it with very rich and flexible queries. Object-relational mapping (ORM) has been around about as long as OOP, but let’s face it: there is no ORM solution that (a) is flexible for the developer and (b) works in harmony with the storage system (i.e. performance doesn’t suck). MongoDB does both, easily, and it’s very, very fast.

So we hit 9 billion records, which is of course very exciting. Traffic to our public API is keeps growing–MongoDB served 100M queries in the last week and didn’t break a sweat. And what’s most exciting is the number of features this helps us develop very rapidly, which we will be sneaking out over the next few weeks.

Ruby and Python Libraries, Rails and Django Demo Apps

We’re excited to announce two new client libraries for the Wordnik API: an official Ruby gem and a Python package.

The Ruby gem is available on github and rubygems, and the Python package is on github and pypi.

To illustrate the use of these libraries we’ve also put together “Hello Dictionary” apps in both Rails and Django.  Both apps live in the wordnik/api-examples repo on github (here are direct links to the Rails app and the Django app). The README for each project shows some example usage, and for the Rails and Django apps, the README is a tutorial that takes you from scratch to a fully-functional dictionary app in about 15 minutes.

As always, let us know if you have questions or find bugs, and let us know what you build!  Code contributions are gratefully appreciated, and we’d like to sincerely thank Martin Marcher and Vince Spicer for their contributions to the Python library, and Jason Adams for inspiring the Ruby work. We’re currently working on a full-fledged PHP library, and plan Java and Objective-C libraries down the line (in the meanwhile basic examples are available in all those languages). If you have suggestions or requests for support in other languages, please let us know.

2010 Developer Challenge Winners

The 2010 Wordnik Developers Challenge drew many impressive entries, and, after much deliberation, we’ve selected the winners. An enormous thank you to everyone who entered. We very much appreciate the thought and effort put into the projects, and the feedback we received has improved the API for everyone. So, without further ado

There were a few versions of hangman submitted, but Hangnik for Android, by KoderMonkeys, added some unique twists and is the winner in the games category. It has a pleasant interface, and game play is initiated by a example sentence rather than just a blank word, which adds a nice MadLibs flavor.

A lot of entries had educational aspects, but Logophilia.org stands out. It lets you explore patterns in Wordnik in a meandering, non-goal-oriented fashion, and has a delightfully clean design.

One of Wordnik’s goals is providing language information when and where it’s needed, and for that reason twtdict, by Michael Howland, is the winner in the productivity category. Using Twitter as the delivery channel allows anyone with a SMS-capable phone — basic feature phones as well as smart phones — to easily get dictionary and thesaurus data. It’s a simple but powerful idea, and well implemented.

Best in Show
Because it marries Wordnik and mobile technologies, and is accessible to the majority of the world using basic phones (it even works on the LG 100), twtdict also wins the “best in show” category. If you’re filling out a form and need to know the meaning of a word, if you’re reading a paperback on a bus, if you’re in a bar and trying to settle a bet, twtdict lowers the bar for being able to access a powerful resource. It’s fun, practical, and democratic.

Honorable Mentions
We were also impressed with Romin Irani’s Wordnik GTalk Bot and the Speculative Grammarian’s Scrabble Cheater’s Dictionary, both of whom receive honorable mentions.

We’ll be contacting the winners shortly with more information on your prizes. Congratulations, and thanks again to everyone who entered!

Announcing Wordnik’s 2010 Developer Challenge

Today Wordnik is announcing our 2010 Wordnik API Developers Challenge, a contest to reward the best and most interesting uses of our API. We’re giving $5,000 and mad props to the best entries in these categories:

There are 8 million crappy hangman and scrabble-esque games on the Interwebs. Can you use Wordnik data as a foundation to build something completely different, something more than a réchauffé of the same tired ideas? Maybe a social or location-based or other bandwagonesque mashup? Or if you’re a traditionalist, can you build a better implementation of a well-loved classic? APIs from Facebook, Twitter, foursquare, NYTimes.com and Gowalla are great candidates for game-like integrations.

Rich language data can make the act of reading even more intensely pleasurable than it already is. Can you build tools that provide depth and context to the words in books, magazines, and newspapers? Can you build interfaces that take advantage of an always-on connection to do new and interesting things with language, without distracting readers from a deep-dive into long-form media?

Can you take our data and make it available to writers, marketers, and professionals inside their favorite tools, like Google Apps and Microsoft Office? That’d be cool.

These categories are more guides than strict rules–come up with something completely different, and you can still be rewarded and recognized.

Submissions to Wordnik’s 2010 Developers Challenge will be accepted starting May 3rd, up through May 21st For more information and to sign up for email updates, please see the Developers Challenge web page., and if you have any questions, please direct them to apiteam@wordnik.com. Happy coding!

Many thanks to st3f4n for the photo / CC BY-NC-SA 2.0

Join the Wordnik API Google Group

Photo from The Library of Virginia collection on Flickr.

If you’re developing applications with the Wordnik API, are interested in doing so, or just want to eavesdrop on people who are using it, please join our new Wordnik API Google Group. It’s open to anyone and will be regularly monitored by the API developers. Use it to ask questions, discuss projects, find collaborators, and promote your work.

Other API resources worth mentioning (and which might come in handy for our soon-to-be-announced developer challenge) are the Wordnik github account (where you can find API sample code in Ruby, PHP, Java, and Javascript), and the Wordnik API twitter feed.

Spring News from Wordnik

in just-spring

Photo by, and licensed (CC BY-NC 2.0) from, cuellar.

Spring is always a time for new growth, and we’re certainly growing here at Wordnik!

Some new stuff we think you’d like:

  • We now have a beta mobile site at http://m.wordnik.com, optimized for small-screen devices.
  • We have more new (and better!) example sentences, from new sources, with more on the way soon.
  • Check out our improved word frequency charts!
  • The Wordnik Word of the Day is now available as a daily email. You can sign up for it now by logging in to Wordnik and editing your preferences.
  • Our new autoexpanding comment areas make it easier to write and edit comments of more than a few lines (for when you have a lot to say about a particular word).
  • You’ll find improved definition data from the GNU Webster’s 1913 dictionary, available both on the site and through the API.
  • Developers, check out the New API calls for retrieving examples, related words (synonyms, antonyms, and the like), phrases, and definitions by part of speech. Support for JSONP is now available as well.
  • Our corpus is now using mongodb under the hood, providing improved performance now, and interesting feature possibilities down the road.
  • And just for fun, follow us on Twitter and Facebook to play SECRET WORD WEDNESDAY! Guess the SECRET WORD OF THE DAY, and win Wordnik stickers!

Hungry for more? Email us at feedback@wordnik.com and let us know what you’d like to see!

Also — for all you developers out there, keep an eye out for details of Wordnik’s first developer contest! We’ll be making an announcement this Friday …