How often have you seen this dialog, or something similar - telling you that some scripts on a page are taking too long while your browser has become completely unresponsive. Because JavaScript runs in the same thread as the rest of the browser UI, we’re often faced with the challenge of being unable to run any complex or long running JavaScript without the fear of blocking the browser. That’s where web workers come in. Web Workers are part of the HTML5 specification and allow you to run scripts in the...
In TweeterFall, when a new tweet is received, we notify the user about that tweet via desktop notifications. If you use Chrome and Gmail, you’ve probably seen notifications pop up when you receive a new mail, or about an upcoming appointment. The Desktop Notifications API allows script to request a small toast to appear on the desktop of the user. The contents of the toast can either be specified as iconUrl/title/text strings, or as a URL to a remote resource which contains the contents of the toast. ...
I want to devote some time to how Ernest and I built TweeterFall, the demo that we used for our I/O Boot Camp presentation last week. Instead of showing isolated demos of some of the new HTML5 features, we wanted to show how you might use some of these things in real world scenarios, and thus we built TweeterFall. TweeterFall is a Twitter visualizer that grabs the tweets from a list and shows them in a kind of waterfall like visualization. What did we use to build TweeterFall? HTML5 Semantics # We used...
Last week at I/O Boot Camp, Ernest Delgado and I presented a session titled Getting Started with HTML5. Rather than take folks through the laundry list cool new stuff that’s part of HTML5, we took them through a smaller subset of features, showing how we used them in a real world application - TweeterFall. You can watch the video, check out the slides and try TweeterFall. When trying the slides, be sure to try them in Chrome dev, Canary or Safari to get the full 3D...
I started writing my first article for HTML5Rocks.com the other day, and as I started working on it, I wanted to do something fun with it, something that folks could play with and enjoy, but still learn something. I found a really simple Pong implementation and decided that I’d re-write it in SVG, use the HTML5 audio tag and a few other little things for some extra fun. The article isn’t done yet, but I at least wanted to put the game up! Play Pong # The little “boink” noise is me. But it actually...
Five weeks ago, I packed up my office and made a quick tweet and then drove across 520, no longer a Microsoft employee. Microsoft was an awesome experience, and I’m super-proud to have been able to work with the great people that I did, and some really great products. But, after almost ten years (May 17th would have been my 10 year anniversary), I decided it was time to turn my life upside-down and try something completely different. Within a week, the movers showed up to pack my condo and help me move...