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.
This is the 5th API in our directory tagged “Japan”. Feel free to tell us about others either in the comments here or via our share form.
Hot on the heels of its Campaign Finance API, the New York Times has officially announced the Movie Reviews API, which gives third-party developers access to “over 22,000 New York Times movie reviews going all the way back to 1924″ (and we’ve updated our Movie Review API profile with the updated details).
The initial focus of the API is decidedly on critics, allowing searches by reviewer’s name and “Critics’ Picks” status, in addition to the expected film title and plot keywords. Responses expose many more details about films, though, including director, top-billed actors, plot summary, tagline, MPAA rating, release date, and more. The data the Gray Lady is banking on developers using most liberally, however, are the automatically-generated links back to its own movie pages, complete with “search-engine-optimized text.”
As is the trend, the Movie Reviews API uses REST-style requests, and for authentication only an API key is required. Responses are delivered in JSON format by default, but XML and, refreshingly, serialized PHP objects are available by appending .xml or .sphp to the request URI, respectively. Each response is limited to 20 items, but an optional offset parameter can be used to request subsequent “pages” of results.
If the API’s search capabilities seem limited, its creators agree, and promise that “in the next few weeks we’ll be rolling out better lookup and search features that will let you call up reviews based on publication date or the movie’s release date, just to name two.” Those features will place it very well in the currently tiny movie-info API market, of which the somewhat different Netflix API is the other prominent member.
Developers looking to take advantage of the Movie Reviews API can seek support at the NYT Developer Network forum, and in the API Gallery, where the PHP code for a sample “Pick a Flick” application can be found.
There’s a lot of potential here given the breadth and depth of this movie-related data and we’re looking forward to seeing how developers begin making use of it.
The business networking site LinkedIn has now launched a new application platform they call InApps. It’s an OpenSocial-based platform that enables third-party developers to create applications that get embedded into LinkedIn user’s profiles. While this follows along the model used of Facebook, MySpace and host of other social platforms, it differs in its emphasis on being business centric in nature and, like the service itself, follows a much more controlled and button-downed approach. And like the LinkedIn API that we reported on last year, access is limited based on an approval process.
What apps got approved as part of the launch? As you can see in the LinkedIn Application Directory, there are nine initial applications including ones from Amazon, Box.net, Google, Huddle, Six Apart, SlideShare, Tripit, WordPress and a “Company Buzz” application developed by LinkedIn. Three of the more interesting ones include:
We have seen a strong interest from our visitors here on ProgrammableWeb in the LinkedIn API, even though it’s a limited-access API with no public documentation available. There is certainly a lot of potential for a platform that provides access to a professional business network with 30 million members. It will be interesting to see what sorts of apps get through the LinkedIn vetting process and how quickly the platform grows.
As we discussed earlier this month, Yahoo had been slowly but steadily introducing parts of its Yahoo! Open Strategy (Y!OS), including the Yahoo! Application Platform (YAP), one of the two platforms that comprise Y!OS. Today Yahoo has announced the release of Y!OS 1.0.
If you are not familiar with Y!OS, it is being launched by Yahoo as a new and open way for developers to build applications that access Yahoo’s network data. At the core of Y!OS are two platforms: the Yahoo! Application Platform YAP) and the Yahoo! Social Platform (YSL), which can be accessed via the Yahoo! Query Language (YQL).
Yahoo!’s Jay Rossiter has a blog post that summarizes Y!OS and gives insight into the vision behind the strategy:
Back in April, we rolled out our vision for a more open Yahoo! — with “open” defined as rewiring Yahoo! so we could 1) open our network to outside innovation, 2) unlock the power of your social relationships, and 3) mesh your Yahoo! experience with other sites to bring you the best of the Web.
Today that vision takes another important step forward. We’re officially cutting the ribbon for talented developers everywhere, who are now welcome to come in and access our tools and data so they can build applications for a more customized, social, and relevant Yahoo network and beyond.
The Yahoo DeveloperNetwork Blog has a similar post that gives some more technical details for the three elements that comprise Y!OS:
Yahoo! Social Platform
The Yahoo! Social Platform (YSP) consists of a suite of REST-based social APIs from Yahoo! including: Profiles, Connections, Updates, Contacts and Status. These services will make it possible for you to write social applications either on Yahoo! using the Application Platform or on your own website. We are releasing a PHP SDK to help you access these web services. Because we make use of standard OAuth and REST (both XML and JSON), standard libraries can also be used.Yahoo! Query Language (YQL)
YQL is a new web service API that lets you access other web services using a SQL-like language rather than typical programmatic access. You can think of it as a command line version of Pipes. Its goal is to make data from Yahoo! as well as from across the internet universally accessible through a single common interface.Yahoo! Application Platform (YAP)
YAP will soon become the mechanism for distributing your application to millions of users on Yahoo!’s homepages, media sites, and mail properties, some of the most trafficked sites on the Internet. The initial release supports a few programming models including:- Developer hosted execution of applications with access to Yahoo’s Social APIs and YQL;
- Support for OpenSocial’s JavaScript API; and
- Support for server-side YML tags.Today we are launching the platform itself; for now, we hope you’ll start building apps to view in the canvas view. We will keep you updated on the rollout schedule for embedding third-party applications within the pages of Yahoo!’s properties. In the meantime we’d love to hear from you and see what you’re building.
The New York Times and TechCrunch reported that Y!OS would launch this week and it looks like they were right. Lidija Davis at ReadWriteWeb has a post titled ‘The Future of Web 3.0 According to Yahoo!’ that asks the question of whether Y!OS will help make Yahoo! a viable competitor to Google. It’s really too early to tell, but it will be interesting to see whether developers are willing to adopt a new platform and query language to tap into Y!OS. The blogosphere does seem abuzz today with regard to the news.
As we stated in our previous post on YAP, Yahoo does have its share of APIs, with 32 Yahoo APIs in our directory, and there’s a lot of potential for what these new platforms could mean for Yahoo.
Microsoft this week joined the cloud computing party in a big way. Ray Ozzie yesterday kicked-off their annual Professional Developers Conference (PDC) by announcing Windows Azure, Microsoft’s highly anticipated OS in the cloud. It’s a vast suite of offerings that takes their Software + Services strategy to a whole new level and puts them in direct competition in the cloud with Amazon, Google, and a growing host of large internet players and a raft of startups.
What is it? Microsoft describes Windows Azure as:
Windows® Azure is a cloud services operating system that serves as the development, service hosting and service management environment for the Azure Services Platform. Windows Azure provides developers with on-demand compute and storage to host, scale, and manage Web applications on the Internet through Microsoft® data centers.
To build these applications and services, developers can use their existing Microsoft® Visual Studio® 2008 expertise. In addition, Windows Azure supports popular standards and protocols including SOAP, REST, and XML. Windows Azure is an open platform that will support both Microsoft and non-Microsoft languages and environments.
At a high level Azure is a foundation for everything in Microsoft’s cloud from Live Services (like most of the Microsoft APIs listed here), to database services (Microsoft SQL Services) to hosted offerings for SharePoint and Microsoft Dynamics CRM.
The following list of announced included services to get a sense of the scope of the announcement (not all of these are available today):
Computation Services
Simple data storage services
Development Tools
While Microsoft aims to use the platform to extend their desktop and server products, they are making a concerted effort to emphasize it’s openness: “Windows Azure supports standards and protocols including SOAP, REST and XML. Windows Azure welcomes third party tools and languages such as Eclipse, Ruby, PHP, and Python.”
And along with that pledge to support non-Microsoft environments and openness, this week Microsoft is also announcing support for OpenID. This means that over 400 million Windows Live accounts can now be used as OpenID accounts. As with announcements from Yahoo and AOL, this does not mean that Microsoft is a relying party that will accept OpenID logins, but that may come in the future. On the whole this is another big win for open identity standards.
For good coverage of the announcement and of PDC itself, check out Richard MacManus, Nick Carr, Phil Wainewright, ars technica and Mary-Jo Foley. Follow the thread at Techmeme.
Multimap, the UK-based online mapping provider that was acquired almost a year ago by Microsoft, has released a new API that allows users to embed customized Multimap maps in web pages using a single line of HTML code. This new functionality is similar to the existing custom map embedding functionality provided by Google My Maps and third party integrator Map Channels.
As reported by Virtual Earth, an Evangelist’s Blog, here are the highlights for the Multimap Free API:
Below is a sample Multimap for Krabi, Thailand:
You can also view a map of Krabi and get directions to or from Krabi on Multimap.com.
Although not necessarily a feature-rich API, this new release from Multimap provides the public with an alternative set of maps that leverage Multimap’s diverse set of European, Asian, and North American data. In terms of customization and functionality, it is quite limited compared to Google My Maps.
Multimap does provide a JavaScript API (our Multimap API profile with list of Multimap mashups) and several web services that allow developers to use the Multimap service to create more complex and sophisticated mashups. As we’ve noted before, mapping continues to be one of the more popular categories in our API directory.
Google has just announced the addition of a valuable new feature for the Google Maps API (the most popular API in our API directory): reverse geocoding. If you are not familiar with geocoding, it is the process of converting an address into a latitude/longitude pair. Likewise, reverse geocoding is the process of converting a latitude/longitude pair into an address. Developers using the Google Maps API have had access to geocoding since its release in June 2006, and geocoding has been integrated with many of the map mashups developed with this API.
Many mapping APIs offer geocoding, but access to reverse geocoding has been quite limited, especially with the Google Maps API. Prior to the addition of this feature to the API, developers had to rely on third party reverse geocoding APIs and services as well as a JavaScript hack to the Google Maps API.
Pamela Fox over at the Google Geo Developers Blog gives a great summary of this new feature:
A much smaller (but important) percentage of developers will want to use a reverse geocoder to let their map users know the address for a particular point on the map, perhaps to help them fill in a form faster (why type when you can click?!). For those developers, we’re now pleased to offer address-level reverse geocoding support to both our HTTP service and the GClientGeocoder class. To make it super easy to use, the interface for reverse geocoding is nearly the same as forward geocoding - the only difference is sending in a lat/lng instead of an address.
Reverse geocoding is available for all 70 countries for which the Google Maps API provides standard geocoding. MeetWays, a site that calculates the halfway between two locations, uses the API to determine the nearest address for the halfway point (and is our Mashup of the Day today):
The API documentation has been updated to include this new feature and there is some sample code available as well. Our Google Maps API Profile includes additional information, including links to over 1,500 map mashups developed with the API.
Federal Computer Week (FCW.com) recently published an interesting piece written by John Moore about the use of APIs and development of mashups for use by government managers. Titled “Getting on the same page”, the 1200+ word article cites the problem-solving value of mashups in the government sector:
Government managers are no strangers to the challenge of trying to combine data stored in different systems into a more useful composite picture. The task is even more complex because the systems housing this data were usually not built with flexibility and sharing in mind. The emergence of so-called mashups represents a new take on this old problem.
Mashups are currently being developed and used by agencies as diverse as Housing and Urban Development (HUD), the California Health Care Foundatation (CHCF), and the Defense Intelligence Agency (DIA).
For example, HUD applies mashups in its Nastional Housing Locator System, integrating local housing data with the Google Maps API and internally developed geocoding. HUD Deputy CIO for Business and Information Technology Modernization Lynn Allen notes:
“The integration of multiple services into an application allows for a [geographic information system] application to bring together basemaps, operational data, and analytical services to create simple to complex applications that provide information and solve common tasks.”
Development and use of mashups enables government personnel to improve access to and understanding of data, and save time. However, some unique constraints exist in a government environment. One problem is that the government way of doing business does not always encourage bottom-up innovation. In addition, security and data integrity issues are at the fore, since the impact of decisions that government officials make based on the information a mashup provides can affect (positively or negatively) the entire citizenry.
“Agencies are faced with having to ensure that the information and other data that they provide remains the authoritative source of the information and data,” wrote Jose Alonso, e-government lead at the World Wide Web Consortium, and Kevin Novak, co-chairman of the consortium’s eGovernment Interest Group.
The Visualizing Earmarks mashup, produced using the Sunlight Labs API, is a good example of the kind of mashups that, while not government created, can be developed using government data.
The Visualizing Earmarks mashup provides visualizations of “earmarks” — that is, government funded projects that benefit a particular state or constituency, that are rolled into larger bills at the request individual senators and representatives.
See our Government mashups directory for a summary of government-related mashups.
Google has just announced a nice addition to the Google Gears Geolocation API: the ability to use WiFi on laptops to locate users to within 200m accuracy in major desktop browsers in hundreds of cities around the world. We originally covered the GeoLocation API back in August, when Google first announced the release of the API for use in mobile devices to get a more precise estimate of a user’s location.
This latest release now gives developers the ability to provide geographically relevant content to users with WiFi-enabled laptops.

Per the Google Code Blog:
When we originally proposed the Gears Geolocation API our goal was to make it easy for developers to deliver location enabled web sites on mobile phones. However we realized laptop users would benefit from location enabled web sites too. Today we are adding WiFi signals to the Geolocation API so that laptop users can benefit from location enabled web sites for the first time and mobile users from the increased accuracy.
Some existing web sites are already making use of this API, including lastminute.com’s new Radar application, a Google Earth mash up by ITN, and Rummble’s social discovery site. Note that the same code developed for mobile browsers can be used for desktop browsers, and for security reasons the API does not record the user’s location. Keir Clarke over at Google Maps Mania comments that this move by Google may be in direct response to Mozilla Labs recent release of Geode, a geolocation add-on for Firefox.
You can find additional information in our Google Gears Geolocation API profile, and be sure to check out Yahoo!’s FireEagle geolocation API, which serves as a geolocation broker service.
While map mashups in many ways defined this genre of application, the second most popular type of web mashup here on ProgrammableWeb are photo mashups. How popular? Just this past week the number of photo-related mashups passed the 500 mark, and there are now 505 listed.
And even though there are now 48 photo APIs, it’s still Flickr and their ever-popular API that rule this segment. There are now 382 Flickr mashups listed here. The next most popular photo APIs include ImageLoop, Panoramio and Picasa (the latter two being Google products).
Lately we’ve seen a trend in mashups that combine music APIs and photo APIs. Here is a sample of three from this month:
Track this topic at our photo API and mashup dashboard.