All posts tagged ‘API’

File Under: APIs, HTML5, Web Standards

BBC Taps the Past to Showcase the Future of Web Audio

Mixing old school tape loops with the BBC’s Web Audio API demo. Image: Screenshot/Webmonkey

HTML5 offers developers new ways to display and work with both audio and video on the web. The HTML5 <video> element tends to get more attention, but the HTML5 audio element is equally revolutionary, perhaps even more so thanks to the work-in-progress Web Audio API (currently in the draft stages).

Developers at the BBC recently set out to push the limits of what you can do with HTML5 <audio> and the Web Audio API. The result is a new audio playground site that recreates the sounds of the BBC Radiophonic Workshop using the Web Audio API. Note that right now only WebKit browsers support the Web Audio API. (Firefox supports the older, deprecated, Audio Data API, but plans to ship support for Web Audio in 2013.)

The BBC’s Radiophonic Workshop project is one part cool demo, one part tutorial. It’s fun to play around with, sure, but another reason behind the experiment is to document how to use <audio> and the Web Audio API. The developers also wanted to put the API through some real-world use cases, to see if there are any limitations that could be addressed before the Web Audio API becomes an official standard.

Each of the four demos has a thorough code walk-through showing exactly how it works and which elements of the Web Audio API are being used. There are a couple of dependencies, namely JQuery and Backbone.js, but most of the code is working directly with the Web Audio API.

If you’ve ever wanted to explore the Web Audio API, these demos make a great introduction to how everything works. For more background on the project, see the BBC’s Research and Development blog.

So far the code doesn’t seem to be available through the BBC’s R&D GitHub account. You can always copy and paste from the demo site, but it would be nice if it was available for easy forking and experimentation.

File Under: APIs, Web Services

Twitter Tells Tumblr: No Friends for You

We hope you weren’t planning to find your Twitter friends outside of Twitter because pretty soon it will likely be impossible to do so.

Twitter has slowly but surely been cutting out major third-party sites, preventing then from offering a “Find Twitter Friends” search feature.

The latest third-party site to lose access to your Twitter contacts is, as Buzzfeed’s Matt Buchanan first noted, hosted blogging service Tumblr. Previously Twitter has cut off LinkedIn and, more recently, photo-sharing site Instagram.

Tumblr still offers a way to find your friends on the service by searching either Gmail contacts or Facebook friends.

Earlier this month Twitter put third-party application developers on notice, saying that the social network arguably built on the backs of third-party developers no longer needs them. Twitter has also been cutting off third-party social networks like Tumblr, Instagram and LinkedIn.

Twitter’s API rules aren’t entirely clear, but the company’s overall position seems to be that developers — including big third-party sites like Tumblr — should be putting their content into Twitter, but not taking anything back out.

That stance, along with the user limits on third-party client software, has soured many developers on Twitter. Thus far though there doesn’t seem to be a mass exodus of angry developers abandoning Twitter. That may simply be because, at the moment, there’s nowhere else to go, though, as always, the open web offers a solution.

File Under: HTML5, JavaScript, Multimedia

JavaScript Decoder Brings High-Quality Audio to the Web

Image: Webmonkey

HTML5′s native audio and video tools promise to eventually make it possible to create sophisticated audio and video editing apps that run in the browser. Unfortunately much of that promise has thus far been marred by a battle over audio and video codecs. Right now what works in one browser on one operating system will not necessarily work on another.

Until the codec battle plays itself out, developers looking to build native HTML audio apps are in a bit of a bind. One way around the problem is to bypass the browser and provide your own decoder.

That’s exactly what the developers at Official.fm Labs have been hard at work doing. The latest impressive release is FLAC.js, a FLAC audio decoder written in pure JavaScript. FLAC.js joins the group’s earlier efforts, which include decoders for MP3, AAC and ALAC.

Used in conjunction with the nascent Web Audio API, the new FLAC decoder means you could serve up high-quality, lossless audio to browsers that support HTML5 audio. But beyond just playback the Web Audio API opens the door to a whole new range of audio applications in the browser — think GarageBand on the web or DJ applications.

To that end Official.fm Labs has been working a framework it calls Aurora.js (CoffeeScript) to help make it easier to build audio applications for the web.

If you’d like to experiment with Aurora.js or check out the new FLAC decoder, head on over to Official.fm’s GitHub account where you’ll find all the code available under an MIT license.

File Under: APIs, Social, Web Services

Google Buzz Turns on the Firehose

Google has added a feature to its Buzz API that publishes every activity as it happens in a single feed.

On the social web, this is commonly called a “Firehose” — a syndication feed that publishes all public activities as they happen in one big, fat stream. It’s a lot to sift through, but app developers consider a firehose essential for incorporating real-time search results and real-time “trending” lists from a particular social service into their creations.

Google Buzz, the company’s answer to Twitter and other real-time social sharing services, launched in February, and the API was opened up to the public in May. The firehose was made available late Monday, and it publishes everything Buzz users are sharing (except for Twitter tweets). Google says it’s Buzz developers’ most-requested feature. Previously, you could run searches on Google Buzz activity, but there was no way to subscribe to a feed that publishes what everyone on Buzz is talking about or sharing at any given moment with very low latency.

Some Google partners were involved in the launch, and they’ve prepped some apps to show off what the firehose can do. Have a look at Buzz Mood, an app (obviously inspired by our old Twitter favorite Twistori) that tracks emotional keywords like “love,” “hate,” “believe,” and “hope,” showing you the most recent posts containing those words in a constantly refreshing stream.

Also check out Gnip, the social aggregation service that collects user activities from Twitter, MySpace, Buzz, Facebook, Digg and over 100 social sites. Gnip republishes all these feeds in multiple formats and combinations, and it makes everything — now including the Buzz firehose — available to its customers via its own API.

All of the public activities in Google Buzz are published through the firehose using PubSubHubbub, a protocol that’s being widely adopted on the social web. PubSubHubbub, which was created inside Google and is now being developed into an open standard, pushes out updates to apps as they happen. It replaces the old model — one that’s been the standard for many years — where an application repeatedly asks the publishing server if there’s anything new.

PubSubHubbub is more efficient and provides the app with notifications the instant they happen. It’s not the only data format for real-time publishing: also have a look at RSSCloud.

Google is turning on some other API features as well, including a comments feed for comments left by each user, and a similar feed for “likes” made by each user.

Google is using Activity Streams, another emerging standard on the social web, to wrap all of the activity data. The AML-based Activity Streams format allows for notifications of things like comments, likes, and favorites. So, subscribe to the Google Buzz feed for so-and-so, and you’ll not only be notified that so-and-so posted a video, but also that his friend liked that video, or that an hour later, somebody else left a comment about it.

Everything is outlined in the Google Buzz API docs. You can also ask a question or search for answers in the Buzz developer forum.

See Also:

File Under: APIs, Programming

Google Moderator API Lets Your Apps Ask Questions

moderatorandroidGoogle has announced a new API that lets third party code tap into the company’s Moderator service. Google Moderator is designed to help collect questions from users — questions for live speakers from meetings, conferences, Q&A sessions and the like.

The new Moderator API allows outside apps to access, update, and participate in Google Moderator through custom interfaces.

For the launch, Google showcased a gadget for Google Wave that will be available at the upcoming Google I/O conference, allowing attendees to ask questions. A Google engineer also developed a Moderator app for Android and there’s also a cool Maps mashup that plots questions for the White House on a Google Map.

The API offers hooks into standard Moderator events, allowing third party apps to create new Moderator topics, ask questions and cast votes on behalf of the currently authenticated user. Even better for conference organizers and speakers on stage, the API allows apps to aggregate votes, making it easier figure out which questions are most important to your audience.

If you’d like to know more, head over to Google Moderator’s new API page where you’ll find the full details on the new API along with some sample applications.

See Also: