Archive for the ‘APIs’ Category

File Under: APIs, Web Services

Mozilla’s ‘TowTruck’ Brings Real-Time Collaboration to Any Website

Image: Screenshot/Webmonkey

Mozilla’s TowTruck is a new project aimed at making it easy to collaborate on the web in real time — think real-time screensharing and co-authoring on any webpage.

TowTruck is an experimental Labs project at the moment (alpha), but adding it to your site for testing takes only two lines of code. Head on over to the new TowTruck site to grab the code. If you’d like to try TowTruck from a user perspective, check out Mozilla’s demo pages.

Originally conceived as a tool to help budding web developers by offering real-time collaboration — in other words a live, co-authoring environment you can use to demonstrate HTML and CSS — Mozilla says TowTruck is also useful for “mentoring, making travel plans, triaging bugs, navigating large sites or complicated interfaces.”

TowTruck also taps WebRTC for some extras like chat and voice chat, which makes it especially useful as a teaching tool.

Here’s how Mozilla’s Ian Bicking (the creator of virtualenv, among other useful Python-based tools) describes TowTruck on the Mozilla Labs Blog:

Do you love using Etherpad and Google Drive (previously Docs) to collaborate? We do too. The potential for that kind of collaboration is one of the great things about the web – except that only a handful of web applications take advantage of that potential. We think that every site should offer simple, easy-to-use, instant collaboration embedded directly on their site.

As a web developer, you simply drop TowTruck into your site and it just works. It provides the full out-of-the-box experience users need to get things done collaboratively. It will also give you the opportunity to extend TowTruck to enrich the authoring experience.

Probably the best way to get a handle on what TowTruck does and how you can use it is to watch the screencast:

TowTruck is not, as Bicking acknowledges in the Labs post, an original idea. Google has its Drive API and I seem to get at least one pitch a month on similar, independent projects.

What sets TowTruck apart is its simplicity for both developers and users. Its focus on authoring, mentoring and learning to code might also give it an in with the burgeoning “learn to code” movement. Whether or not that’s enough to help TowTruck succeed where so many others have failed remains to be seen.

File Under: APIs, HTML5, Web Standards

Improve Your Website’s Accessibility With the W3C’s ‘Guide to Using ARIA’

WAI-ARIA, the W3C’s specification for Accessible Rich Internet Applications, provides web developers with a means of annotating page elements with the roles, properties, and states that define exactly what those elements do. The added definitions help screen readers and other assistive devices navigate through your website.

We’ve looked at how you can use ARIA roles to not just improve your site’s accessibility, but style elements as well, but now you can get the official word from the W3C. The W3C has published the First Public Working Draft of Using WAI-ARIA in HTML.

The W3C’s guide goes beyond the ARIA Landmark Roles that we’ve covered in the past, offering suggestions on how ARIA can help with HTML5 apps that load dynamic content or build entire interfaces with JavaScript. In fact, this is where the true power of ARIA comes into play since there is often no other way for assistive devices to get at your application’s data.

Unfortunately not everything in the ARIA spec works in every screen reader. Support for the landmark roles is pretty solid, but much of the rest remains a work in progress. As always there’s no substitute for real world testing.

File Under: APIs, Multimedia

Google, Mozilla Team Up for Skype-Killing Video Call Demo

Modified WebRTC logo by Tsahi Levent-Levi/Flickr.

Google and Mozilla, erstwhile rivals in the web browser world, have teamed up to show off the power of WebRTC by creating a web-based video chat app — think Skype without Skype.

The demo bypasses a centralized server and instead makes a direct peer-to-peer connection between browsers. The key component of the demo is a set of work-in-progress standards known as WebRTC.

WebRTC is a proposed standard — currently being refined by the W3C — with the goal of providing a web-based set of tools that any device can use to share audio, video and data in real time. It’s still in the early stages, but WebRTC has the potential to supplant Skype, Flash and many device-native apps with web-based alternatives that work on any device.

The app that the Chrome and Firefox teams developed is available on Google Code and there’s a demo app available on Google app engine if you’d like to try it out for yourself. To make it work you’ll need to use either Firefox Nightly or Chrome 25 (currently in the beta channel). In Firefox, you’ll need to go to about:config and set media.peerconnection.enabled to “true.”

Mozilla has previously showed off a demo of WebRTC with it Social API and Chrome has previously used parts of WebRTC for an interactive sand sketching experiment. This latest demo relies on a new WebRTC trick known as RTCPeerConnection, which should arrive in final form in Chrome next month and Firefox around the end of May. The RTCPeerConnection support in both browsers means there’s no need for plugins and developers can rest assured their apps will “just work” across browsers. Together Chrome and Firefox account for just under 60 percent of browsers on the web.

There is of course one other major browser that’s not yet coming to the WebRTC party.

Indeed Microsoft has proposed a WebRTC competitor to the W3C, though thus far little has happened beyond the initial proposal. As it stands now neither WebRTC nor Microsoft’s competing CU-RTC-Web proposal are actual W3C standards, but work is progressing on WebRTC and, with browsers already implementing it in the wild, it stands a much better chance of becoming a standard one day.

It’s still a little early to throw out Skype. For now you’ll have to content yourself with a very cool demo and the tantalizing possibility to one day soon you might not need Skype, Facebook or any other third-party server to chat with friends around the web.

File Under: APIs, Multimedia

Amazon Tackles Web Video With New Conversion Service

Amazon is getting into the web video game with a new video transcoding service aimed at making it easy to build the next YouTube.

Transcoding video is the process of taking a user uploaded video and converting it to a video format that works on the web, typically MP4 and WebM. Consumer video services like YouTube and Vimeo handle this for you behind the scenes. But if you want to actually build the next Vimeo or YouTube you’re going to have transcode video.

Open source tools like ffmpeg simplify the video transcoding process, but require considerable server power to operate at scale. And server power is something Amazon has in spades.

Amazon’s foray into video is hardly the first cloud-powered video transcoding service — Zencoder is another popular service (and runs on Amazon servers) — but Amazon’s offering is marginally cheaper and well-integrated with the company’s other services.

The Amazon Elastic Transcoder works in conjunction with the company’s other cloud offerings like S3 file storage. You send a video from one S3 “bucket” to Transcoder, which then converts it to the formats you need and writes the resulting files to another S3 bucket.

For now the Elastic Transcoder will only output MP4 video containers with Apple-friendly H.264 video and AAC audio. The new Transcoder options in the Amazon Web Services control panel allow you to create various quality presets if, for example, you’re delivering video to both mobile and desktop clients.

As with all Amazon Web Services the new Transcoder has a pay-as-you-go pricing model with rates starting at $0.015 per minute for standard definition video (less than 720p) and $0.030 per minute for HD video. That means transcoding a 10 minute video (the max on YouTube) would cost you $.15 for SD output and $.30 for HD, which sounds cheap until you start looking at transcoding several hundred 10-minute videos a day (200 a day would set you back $60 a day for HD). Amazon’s free usage tier will get you 20 minutes of SD video or 10 minutes of HD video encoded for free each month.

Amazon’s rates are marginally cheaper than Zencoder, which charges $0.020/minute for SD and double that for HD. Zencoder does have a considerable edge when it comes to output format though, offering pretty much anything you’d need for the web, including live streaming, while, at least for now, Amazon’s offering is limited to MP4.

File Under: APIs, Web Services

Google’s Cloud Platform Floats Over to GitHub

Google’s Cloud Platform tools are now available on GitHub. The move to GitHub will make it easier for developers already using GitHub to get started with Google’s various Cloud Platform offerings.

Thus far most of the repositories in Google’s GitHub account consist of code samples and projects related to offerings like App Engine, BigQuery, Compute Engine, Cloud SQL, and Cloud Storage.

The Google Open Source Blog says that most of Google Cloud Platform’s existing open source tools will be migrated to the new GitHub organization “over time.”

For now though you can get started building apps on Google Cloud Platform just by forking one of the demo repositories and tweaking the code to fit your project. Sample apps like the guestbook demos for Python and Java, along with the OAuth 2 helper apps, make a good place to start if you’ve never built anything on Google’s cloud platform before.