WeatherBug has announced the winners of its recent WeatherBug API Excellence Contest. As we reported last month, prizes were offered for applications developed on the WeatherBug API using different programming platforms (PHP, Java, Ruby, Python, etc.). Winners received an 8 GB Apple iPod Touch.
The winners were:
Follow Matt Hartley’s Inside WeatherBug blog for his ongoing series about the entire set of WeatherBug API Excellence Contest entries.
And see the mashup directory for more WeatherBug mashups.
Earlier this week Yahoo announced the release of a new version of its Yahoo Local Search API. This new release adds some interesting functionality: it allows developers to issue queries to the API based on a route.
According to Yahoo:
We are releasing a new version of the Yahoo! Local API (V3), that gives developers a key new feature – the ability to search for convenient points of interest for a given user defined route. For example, as you are driving from San Francisco to Sacramento, you could search for a Starbucks or for a hardware store.
The RESTful API now includes a “route” parameter that is a series of latitude/longitude coordinates, with the first pair of coordinates as the starting point and the last pair of coordinates as the ending point. A string sent as the route paramater would be structured as follows:
lat1 long1,lat2 long2,...,latn longn
The API returns XML, JSON, or serialized PHP. If you request the response in JSON, you can include a callback parameter to a JavaScript function. I put together the example below to demonstrate how the new Local Search API can be used in conjunction with Yahoo! Maps to display pizza restaurants along a route in Portland, Oregon (the example below requests data in JSON format and includes a callback parameter request).
This is the first API to add route-based search functionality, and it certainly enhances developer’s ability to improve local search results for a variety of mashups and applications that use Yahoo! Local Search.
Our Yahoo! Local Search API profile includes additional information on the API and lists several mashups that use this API, including Ski Bonk and Boston T Subway Map. Additional documentation on the API is available on the Yahoo Developer Network.
We’re excited to see some route-based mashups emerge in the near future.
Back in May we reported on a deal struck between Sony and Google to integrate the YouTube API into the PlayStation 3, allowing game developers to let players record videos during gameplay and upload them directly to YouTube. This week Google announced some fruits of that partnership: PS3 developer Q-Games is including recording and direct-upload capabilities in its upcoming PlayStation Network title PixelJunk Eden. On the official YouTube API blog YouTube Syndication Product Marketing Manager Christine Tsai wrote:
For all you PixelJunk fans, you’ll now be able to capture video of your game recordings and upload directly to YouTube. … We look forward to the day when having YouTube upload support in games will be a standard feature.
Tsai also included an example of a PixelJunk Eden gameplay session recorded to YouTube (click to see the video):
Q-Games President Dylan Cuthbert also mentioned the feature in a post on the official PlayStation blog:
The YouTube upload feature is going to revolutionize how people share [gameplay] tips. Up until now it has been limited to people with video capture equipment, but from now on, anyone can record their game and upload it directly to YouTube from within the game! It is as simple as pushing one button to start and one button to stop and upload, and there is no affect on the gameplay thanks to the power of the PS3 and its abundance of SPU processors.
A demo of PixelJunk Eden is available on the PlayStation Network as of July 24, and the full game is slated for a July 31 release. Other games to take advantage of the YouTube API include Mainichi Issho (as of a May update) and Maxis’ upcoming Spore.
Earlier this year Google released its AJAX Libraries API as a content distribution network and loading architecture for some of the more popular open source JavaScript frameworks (our AJAX Libraries API Profile). According to Google:
The AJAX Libraries API takes the pain out of developing mashups in JavaScript while using a collection of libraries. We take the pain out of hosting the libraries, correctly setting cache headers, staying up to date with the most recent bug fixes, etc.
The API currently provides access to these open source libraries:
The scripts for these libraries can be accessed directly using a tag or via the Google AJAX API Loader’s google.load() method.
If you are a mashup developer that currently utilizes AJAX or if you are looking to utilize these frameworks, it is worth checking out this API, as it has good potential to streamline your development efforts while improving the user experience. Initially it may seem odd to link to these libraries via Google’s API when you can host these libraries locally on your web server, but once you delve into the rationale behind consolidation of these libraries you begin to realize that this approach has several benefits, including speed optimization and consistent versioning.
Dion Almaer has a great post on Ajaxian that gives more detail on the many benefits of using this approach, including:
- Caching can be done correctly, and once, by us… and developers have to do nothing
- Gzip works
- We can serve minified versions
- The files are hosted by Google which has a distributed CDN at various points around the world, so the files are “close” to the user
- The servers are fast
- By using the same URLs, if a critical mass of applications use the Google infrastructure, when someone comes to your application the file may already be loaded!
- A subtle performance (and security) issue revolves around the headers that you send up and down. Since you are using a special domain (NOTE: not google.com!), no cookies or other verbose headers will be sent up, saving precious bytes.
Not sure which library to use for your mashup? We have provided a brief roundup of the libraries below to give you an idea of some potential uses.
Originally released at BarCampNYC in 2006 by John Resig, the jQuery library can be used for a variety of AJAX and non-AJAX interactions. From the jQuery web site:
jQuery is a fast, concise, JavaScript Library that simplifies how you traverse HTML documents, handle events, perform animations, and add Ajax interactions to your web pages.

One of the early projects built with jQuery was ThickBox a popular JavaScript library that has been used to overlay HTML pages and images on an existing web page. Web sites that currently use the jQuery library include Google, Twitter, WordPress, Mozilla, Netflix, and a slew of other popular sites (including our own ProgrammableWeb). Be sure to check out jQuery UI, a set of visual controls that utilize the jQuery library.
The Prototype framework, developed by Sam Stephenson, is ideal for AJAX calls and polling. From the Prototype web site:
Prototype framework enables you to deal with Ajax calls in a very easy and fun way that is also safe (cross-browser). Besides simple requests, this module also deals in a smart way with JavaScript code returned from a server and provides helper classes for polling.

There are numerous web sites and JavaScript extensions out there that utilize Prototype, including Apple, last.fm, Nasa, and Reddit.
script.aculo.us, developed by Thomas Fuchs, is an add-on to the Prototype framework that allows you to provide some nifty effects and drag/drop functionality for elements on a web page. From the script.aculo.us web site:
script.aculo.us is a set of JavaScript libraries to enhance the user interface of web sites. It provides an visual effects engine, a drag and drop library (including sortable lists), a couple of controls (Ajax-based autocompletion, in-place editing, sliders) and more.

script.aculo.us provides a good variety of effects, including fading, sliding, and resizing. Other UI functionality includes easy creation of accordion and slider menus. Given its close relationship to the Prototype framework, it’s no surprise that many of the same sites that use Prototype also use script.aculo.us.
Initially developed by Valerio Proietti, MooTools is described as:
A compact, modular, Object-Oriented JavaScript framework designed for the intermediate to advanced JavaScript developer. It allows you to write powerful, flexible, and cross-browser code with its elegant, well documented, and coherent API.


MooTools is similar to jQuery in some ways, although it has been developed with a different approach. The MooTools library includes event calls, effects, AJAX calls, and additional plugins such as sliders and sortable lists. Some of the sites that use MooTools include Vimeo, CNET, and GameSpot.
Dojo, described as a JavaScript Toolkit, was started by Alex Russell, Dylan Schiemann, David Schontzler, and a few other developers. According to the Dojo web site:
Dojo allows you to easily build dynamic capabilities into web pages and any other environment that supports JavaScript sanely. You can use the components that Dojo provides to make your web sites more usable, responsive, and functional. With Dojo you can build degradable user interfaces more easily, prototype interactive widgets quickly, and animate transitions.

Dojo provides several types of functionality. As with jQuery, script.aculo.us and MooTools, it can be used for animation effects and AJAX calls, as well as for user interface design through ’skinnable’ widgets called Dijits. Ning, AOL, and Plaxo among many others use the Dojo Toolkit.
Note that most of the libraries have been developed to ensure compatibility across most browsers, making cross-browser integration for your mashup that much easier. We think there is some great potential for these JavaScript libraries to enhance existing and future mashups, and we’d love to hear more from mashup developers out there who are using these libraries.
PostalMethods is a service that frees businesses from needing their own staff to mail out invoices, confirmations, and other messages via printed postal mail. The service is available using standard email software, but PostalMethods also offers an API that enables businesses to integrate their postal mailing service directly into automated business processes.
The service makes it effortless to post invoices, send confirmations, or send any other type of message via postal mail (”snail mail”). Additionally, letters can easily be generated from any online service or legacy application. No more manual printing, folding, inserting, sealing, stamping, or delivering. PostalMethods does it all for you.
The PostalMethods API provides options to use SOAP or REST for requests with response data in XML. Given that this is an enterprise-grade service, often delivering critical, confidential information, SSL is supported.
The API provides methods for sending letters, getting the status of a letter, getting the PDF file that was used to create a letter, and cancelling a letter’s delivery. The PostalMethods API documentation is thorough, and includes a Quick Start Guide, a Developer’s Guide, and a complete Reference Manual. In addition, Code samples are available that demonstrate using the API in diverse environments such as .NET, Java, PHP, and ColdFusion, with more to come. A forum is available for asking questions and finding answers.
There are many advantages to outsourcing business activities which are not a company’s core business. PostalMethods lends businesses a hand, enabling them to reduce the effort for paper mailings to a few simple calls to an API.
Freelancers can use the FreeAgent money management tool for a variety of tasks, including project management, time tracking, and invoicing. Earlier this year the UK-based company released an API (in beta) that allows developers to tap into FreeAgent in several ways.
The RESTful API includes access to a variety of information relevant to a specific company/client. API calls include queries for clients, projects, tasks, invoices, and several other elements typically used for managing small business finances. Future enhancements will include support for bank accounts as well as payroll, expenses and taxes. Our new FreeAgent API profile has additional details.
FreeAgent’s service is available to freelancers via month-to-month subscription plans that start at $20 dollars for universal accounts (i.e., non-UK accounts) and £15 pounds for UK accounts. Several tiers of service are offered for UK accounts and all accounts include a free 30 day trial.
Check out the other twenty six other Financial APIs listed in our API directory, including profiles for popular online invoicing services such as BlinkSale and Freshbooks.
Folks interested in “open knowledge” should check out CKAN (Comprehensive Knowledge Archive Network)
CKAN is the Comprehensive Knowledge Archive Network, a registry of open knowledge packages and projects (and a few closed ones). CKAN is the place to search for open knowledge resources as well as register your own.
It’s not by accident that OKF should pick a name that is reminiscent of CPAN (Comprehensive Perl Archive Network), a major resource for Perl programmers.
What exactly is “open knowledge”? According to the Open Knowledge Foundation (OKF), the sponsors of CKAN:
Simply put: it is knowledge that is open! To be more specific, by knowledge we mean any kind of content, information or data: genes to geodata, sonnets to statistics. By ‘open’ knowledge we mean knowledge which anyone is free to use, re-use and redistribute without legal, social or technological restriction. For more details and a really precise explanation of what this means see the Open Knowledge Definition.
I find one of the most intellectually interesting part of the Open Knowledge Definition to be the notion of “conformant licenses” — what licenses are thought to embody the concept of open knowledge and which ones don’t. I’m glad to see that CKAN nonetheless allows packages to be associated with a “Non-OKD Compliant::Other” license.
What will you find at CKAN? Among the current list of packages are highlighted “a set of Shakespeare’s works, a global population density database, the voting records of UK MPs, or 30 years of US patents.” And in true open knowledge style, you can add to CKAN and edit existing records.
Of particular interest for ProgrammbleWeb readers is the CKAN REST API for reading and writing metadata about packages and tags. The output of the API is JSON output. For example,
http://www.ckan.net/api/rest/package
returns a list of all the packages, while
http://www.ckan.net/api/rest/package/shakespeare
returns a JSON array about the entry about the Open Shakespeare project.
Who is behind OKF? Among the people associated with OKF is co-founder and director Rufus Pollock:
As well as working heavily with the OKF he is also a member of Creative Commons UK, a country coordinator for the Foundation for a Free Information Infrastructure, and on the board of the Open Rights Group. In addition he is a researcher in Economics based at Cambridge University.
For more, see our CKAN API Profile.
The fledgling location-based social networking service Brightkite, itself in limited beta, have announced the first release of its beta API (our API profile). The service which lets you use mobile and web interfaces to specify your location to connect with friends is described by CNET’s Caroline McCarthy like “a more feature-intensive version of Dodgeball“.
Brightkite’s API offers both basic HTTP authentication and OAuth. Resources available through the API include users, their friends, places, checkins (i.e. when a user “checks in” at a particular place), notes and photos about a place, placemarks (a user’s saved favorite places, comments left on notes and photos, and user-to-user messages. It also makes available the service’s “streams,” or recent actions from friends or people nearby. Developers may choose to receive responses in XML or JSON format, and the API is fully RESTful—HTTP POST for object creation, GET for reading data, PUT for updates, and DELETE to delete an object.
In the announcement, Brightkite’s Brady Becker uses Socialthing! as an example of the API in action. Socialthing! uses the API to pull in a user’s Brightkite updates as well as his avatar and has filters for notes, photos, and checkins (our mashup profile):
Brightkite is organizing third-party developers using Google Groups and some appear to be hard at work building Brightkite mashups, as well as interfaces for Blackberry, Windows Mobile, and other devices.
Mass transit in metropolitan regions is becoming an increasingly popular mode of transportation for commuters faced with ever-increasing oil prices. As a result, there is an emerging need for mass transit agencies to make information more accessible to a growing number of commuters. What role can APIs play?
Although widespread mass transit APIs may not be readily available, Google’s Transit Feed Specification (GTFS) holds some promise for agencies seeking to integrate their data with Google’s Transit Planner as well as the public and would-be transit mashup developers.

The rationale behind the GTFS is that it enables agencies to provide public transportation schedules to Google for incorporation into Google Maps and other Google applications. The GTFS provides an opportunity for transit agencies to share route data that can be distributed easily to a wide consumer base via Google’s applications, while at the same time allowing that data to be shared with the public in a standardized format. The end result: transit agencies can better serve their customers through improved and expanded information sharing.
Based on an effort initially led by Portland, Oregon’s TriMet, data in GTFS format from several transit agencies has been successfully incorporated into Google’s Transit Planner, including BART in the Bay Area, TBC in Bordeaux, France, and Transperth in Perth, Australia.

You can browse the list of agencies that are participating in Google Transit to get an idea of which agencies currently publish their data using the GTFS. The list has been growing incrementally since Google Transit’s initial debut in 2006, and effort’s such as this year’s “Google Transit’s Earth Day Challenge” have helped to garner increasing participation from transit agencies.
There is also a list that shows which agencies have publicly accessible data feeds. We hope to see this list grow in the near future.
There are several efforts underway to leverage transit for use in application and mashups. Open source projects, such as the GoogleTransitDataFeed project and the Transit TimeTable Publishing Application, seek to provide a common set of tools for agencies to distribute data in GTFS format. And creative developers have tapped into transit data to create valuable tools and mashups.
Transit mashups are primarily map based, including such sites as the Montreal Transit Planner, Chicago Transit CTA and Metra Rail, and Transit Maps, a slick map mashup that allows users to interactively view transit routes on Google Maps.
Matt King has developed Trimet Tracker, an iPhone application that allows users to search for transit arrival times and transit routes (it uses an API provided by TriMet). Other applications, such as TrainCheck provide train arrival times via SMS or email to user’s mobile devices (currently only available for San Francisco, Washington, D.C., and Caltrain).

As transit agencies move forward with increased data sharing efforts, particularly with GTFS, we hope to see a proliferation of transit mashups and applications (home-grown, open source, or commercial) that assist metropolitan commuters.
Ultimately the public is the key beneficiary of mass transit data integration via the GTFS format. In addition to utilizing Google Transit, commuters have gained access to various types of applications that deliver transit routes and schedules in innovative ways. We hope to see additional transit agencies joining in this data sharing effort, and we look forward to seeing how innovative developers will integrate publicly shared transit data.
For more, check out over 80 transit mashups in our mashup directory. We also have several travel APIs listed in our API directory, including the HopStop API, which provides subway and bus directions for New York City.
BroadSoft’s recent announcement of their new RESTful API and the supporting mashup contest is another sign that larger telephone operators will soon support “Web as a Platform” application development. BroadSoft provides telephony application servers and recently upgraded their XML based interface to support REST. Typically, telephony applications are built on more closed and obscure technologies such as Parlay. By providing a RESTful API, BroadSoft opens up carrier class development opportunities to those with typical web development skills. This may have far-reaching effects in the telephony market, as 300 carriers world wide use BroadSoft software including Verizon, Sprint, Cox, Telstra and Telefonica.
This announcement follows on the heels of similar announcements from British Telecom, Orange and Vodafone, all of whom support APIs to their core network to support services such as Click to Call, Conferencing and Location Based Services (more at our profiles for the BT API and Vodafone API). Other major carriers, such as Deutsche Telekom, are expected to announce their API offerings in the Fall.
It is expected that most carriers will provide some sort of API access to their core network to support “Communications Enhanced Business Process” (CEBP) deployments. A CEBP deployment uses phones to enhance a business process through messaging, data dissemination or retrieval. A recent report by Gartner highlights the business advantages to those companies that deploy CEBP improvements; telephone operators are increasingly anxious to find new and profitable services to replace profits eroded by commoditization and increasing competition.
The mashup contest is offering $50,000 dollars in prizes and services. The first place winner receives $5,000, an expenses paid trip to BroadSoft’s Connection 2008, a presentation slot at the Show Me The Apps session, listing on the BroadSoft Marketplace and other marketing opportunities. The contest ends on September 2nd, with finalists announced soon thereafter. It’s now included in our Mashup Contests Page.
Track telephony APIs, mashups and contests on our Mobile and Telephony API and Mashup Dashboard