Introduction to WebRTC – now on HTML5 Rocks

I’ve written a detailed introduction to WebRTC on HTML5 Rocks.

I’ve tried to explain some of the more difficult concepts – please let me know if anything is still mystifying!

WebRTC NAT traversal

Posted in Uncategorized | Leave a comment

Chrome Developer Tools, Google I/O 2012

Pavel Feldman taking feature requests live at Google I/O

Pavel Feldman taking feature requests live from the audience

The Google I/O session I did with Chrome Dev Tools tech lead Pavel Feldman is now on YouTube.

Lots of new features to help you develop and debug on mobile and desktop: frame mode, the Sources panel, the new timeline, Source Maps, Web Worker debugging – and much more.

It’s a fun session, especially when Pavel shows how he uses the Dev Tools to build the Dev Tools…

Posted in Uncategorized | Leave a comment

Getting started with the HTML5 track element

If you haven’t had a look at the HTML5 track element — check it out my tutorial on HTML5 Rocks.

The track element provides a simple, standardised way to add subtitles, captions, screen reader descriptions and chapters to video and audio.

Tracks can also be used for other kinds of timed metadata. The source data for each track element is a text file made up of a list of timed cues, and cues can include data in formats such as JSON or CSV. This can enable DOM manipulation and other behaviour synchronised with media playback — as well as deep linking and media navigation via text search.

Posted in Uncategorized | Tagged , , , | Leave a comment

Got Raspberry Pi!

Raspberry Pi desktop

Raspberry Pi desktop

We got a Raspberry Pi in the office today, and hooked it up to a keyboard and monitor.

Raspberry Pi board

Raspberry Pi board, roughly Arduino size

In case you haven’t heard of it, Raspberry Pi runs Linux on an ARM processor and has a target price of $25/£15 for a pre-configured system.

Works a treat!

Just want to get Chrome on it now :^).

Posted in Google Chrome, Primary schools, School | Tagged , , , , | 8 Comments

Cherry Cream Delight

I can’t believe the things I’ll eat when I’m on a plane.

Cherry Cream delight label


Cherry Cream Delight ingredients

That's a lot of ingredients

Posted in Uncategorized | Leave a comment

Automatically pause video when it’s not visible

Download the Hold It! extension

I’ve built a Google Chrome extension called Hold It! that pauses video when it’s not visible.

For example, when you:

  • minimise a window with a video playing in it
  • move to a different tab
  • open a video link in a new hidden tab.

Video play resumes automatically when it becomes visible again.

Useful when viewing videos on multiple tab pages, or if you click a link to open a video in a new, hidden tab.

Works for YouTube, Vimeo and on any site that uses the HTML video element.

Caveats: does not work for YouTube advertisements, and does not work on and some other sites. If you have a solution, let me know!

You can get it (for free!) from the Google Chrome Webstore.

How to use the extension

After installing the extension, any playing video will be paused when you move to a different tab or minimise a window. If you click on a link to open a video in a new, hidden tab, the video will be paused until you move to the new tab.

How does it work?

This extension uses the Page Visibility API.

The API can be used to check when a web page is visible to the user or not.

If you minimise your browser window, or move to another tab, the API fires a webkitvisibilitychange event.

When a new page loads, the extension looks for videos on the page — including Flash video and HTML video elements. If the page is not visible, or becomes hidden, all playing videos on the page are paused. Play restarts (for videos that were playing) once they become visible again.

Posted in Uncategorized | 1 Comment

Win a Chromebook!

Chrome Web Store contest

Contest per lo sviluppo di applicazioni per il Chrome Web Store italiano.

Partecipa al contest.

Avete tempo fino a lunedì 12 Settembre 2011.

Posted in Uncategorized | Tagged , , , , | Leave a comment