iKnow, a social learning site launched last month by Japanese company Cerego, has launched an API (our iKnow profile) to allow third parties to "add a little Learning and Linguistic magic to [their] applications, widgets and other mashups." iKnow allows users to take virtual English and Japanese language lessons (other languages are promised for the future) and guides and tracks their progress. Through the social component users can share their progress with friends, leave comments, keep journals, and compete for rankings.
The new API provides developer access to most aspects of the site, including user information, studying and social activity, and study items. The REST-like interface allows read (GET) access to all items without authentication, whereas POST and DELETE calls for creating and removing content require both an API key and authentication via HTTP basic or OAuth. Responses are available in XML, HTML, RSS, and JSON for most calls.
One unique aspect of the iKnow API, a result of its focus on language learning, is XMLVocabulary, a data format for describing vocabulary learning items. The XML structure specifies "cues" and "responses" to aid in memorization, as well as images, sounds, and sample sentences. XMLVocabulary is specific to iKnow, but the company is interested in "evolving this standard so it can benefit others," and has also proposed learning microformats, beginning with hVocabulary.
Cerego boasts that its 280,000 registered users have spent over 15 million minutes using iKnow's learning tools. That averages out to only 67 minutes each, but browsing the site's social areas show that many members are actively using the service and forming a community. With the new API not only allowing information to be pulled from the service, but also new content to be created, the company is banking on the site's mass and momentum to continue increasing.
API documentation, a so-far quiet developer forum, and a public wiki can all be found on the Cerego iKnow developer portal. No sample applications have been provided so far but there is Ruby code for parsing the XMLVocabulary format.