Video Quagmire
April 23, 2008 at 11:45 PM
2007 may have been the year of video on the internet, but support for video technology in software is still pretty poor. The emergence of Flash players enabled the video explosion, sure. But Flash is still proprietary and has a bunch of other problems as well, not the least of which is that it's not strictly a video format, but rather an entire programming environment which happens to support video.
Video is primarily such a mess because of codecs. I was first exposed to the codec madness circa 1999, when people in my office shared videos via a shared drive. I was using Linux exclusively (this was pre-OS X, remember), so this meant I could very rarely view them. I always assumed that OS 9 and Windows users didn't have these problems. In envisioned Mac and Windows users living in utopia of video, where they just clicked on any file and it opened and started playing.
Then I had occasion to use a friend's Windows computer to try to view video. Nope! Same codec problems. Then later I got a Mac. Bzzt! Some videos would play, others wouldn't. Windows, Mac, and Linux all had the same problem: fail to play the video, with an extremely unfriendly and unhelpful error dialog. (Not one of them said "You don't have the right codec." They all read something like, "Error code: -29")
Things are a bit better today. Actually I have no idea about Windows, but on Mac you can get a WMV plugin for Quicktime, and Ubuntu and other Linux distros prompt you to download reverse-engineered codecs from outside the US when you click on a video format that isn't recognized. Still, in neither case does it the video just play without any hassle. Linux is the easiest, but there's still a bunch of dialogs to click through. And this doesn't even begin to touch the problem of authoring: just look at the codec dropdown in iShowU:

How does one make an informed decision about this? I don't think most people do. I kept trying formats at random until I got one that 1. wasn't horribly grainy, 2. didn't produce massively large files, and 3. played on Quicktime and VLC without issues. This feels like the dark ages of digital video, not the revolution.
Ogg Theora could be the solution. It's a free and open standard, and could open up the creation and distribution of video in the same way that HTML did for documents.
As usual, though, the problem is default support. No one wants to install extra software to play video; but the two biggest operating system vendors (Microsoft and Apple) have their own proprietary formats (Windows Media and Quicktime) that they want to defend. So that's not going to happen. (Ubuntu plays Theora out of the box, I hardly need mention.)
At a recent Super Happy Dev House, I met someone who was working on Theora support for MediaWiki. He mentioned that Firefox 3 was going to support Ogg Theora out of the box, which I found very exciting. It would be as simple as a
Unfortunately, it looks like Ogg has been dropped from the latest HTML 5 specification, and from what I can tell FF3 is not going to have support for Theora (though it may offer the video tag, without any default codecs). Unawesome.
Still, all of this seems gives me some hope that there is a path out of this horrible quagmire that video technology is currently stuck in. We're not quite on the path yet, but at least it's there - waiting for when the world is ready for video stop sucking.
Unobtrusive Screencasting
March 04, 2008 at 12:47 PM
I wish screencasting were more ubiquitous. Not just developers showing off their products, but for everyone. When a customer sends a bug report to customer service, it should be completely standard for them to include a screencast of themselves experiencing the problem. Used properly, screencasts could become a sort of multimedia email for anyone who works on something that can be displayed on a computer screen.
I've had this sense ever since watching my first screencast (DHH's "make a blog in 15 minutes" - probably many people's first). A year or so later I went looking for screencasting software and discovered that despite the apparent popularity of screencasts, the authoring software available was fairly lackluster.
I ended up making do with hacked up copy of pyvnc2swf plus a command-line audio recording tool when I made these. Nowhere near turnkey, to say the least. Later I started using iShowU on the Mac, which is an ok piece of software, but not grand by any means. Plus, it's shareware, which pretty much means it can never achieve ubquity. (This is not because people are unwilling to pay, but that the process of payment creates friction that will always keep it out of the hands of some portion of the computer-using population.)
Recently I had occasion to try out Istanbul, an open source project for screencast recording on the Linux/GNOME desktop. I am very impressed. This is desktop software at its finest: simple, streamlined, does exactly one thing and does it well. Compare the bewildering battery of options on iShowU to the easy-to-understand context menu of Istanbul, for example.
But perhaps more significant is how it runs. It sits in your dock, showing a simple record icon (red circle) when inactive. Click it and you instantly begin recording - no questions, no dialogs, no delay of any kind. Click it again to stop your recording, review it, and either discard or save it.
It saves to Ogg Theroa, a format I'm excited about for reasons I'll mention in a future post, but thanks to ffmpeg you can convert it to pretty much any other format.
This quiet, always-accessible aspect of Istanbul represents what I hope is the future of screencasting. iShowU dominates your screen with a huge window whenever it's open; you'd never have it open perpetually. This is quite reasonable, if you assume that screencasting is an occasional thing, a big event. But technology is the most useful when it becomes an unobtrusive part of the background, a tool that is always within each reach. Istanbul shows us that future for screencasting.
Making OS X Spaces Sane
February 18, 2008 at 01:33 PM
If you use Spaces on Leopard, you should install this fix immediately. It blocks the annoying default behavior of Spaces, which is to try to force all windows from the same application onto the same virtual desktop.
Spaces still isn't quite up to par with standard unix virtual desktops - such as not remembering the stack order of windows when you switch away from a desktop and then return to it. But the fix above makes it substantially more useable.
HTML Paste
February 01, 2008 at 09:29 PM
When using web-based editors like GMail or Google Docs, I often grab something from a web page or other document and paste it in. In almost every case, I just want the text - no formatting. Perhaps I'm pasting an email address, a web url, or a longish phrase that I don't want to manually retype.
Using most of these editors, the formatting information is carried across. This is a good thing in some circumstances, but in most cases it's quite annoying. Pasting a name into an email and have it be a slightly different typeface, size, and weight from the surrounding text just looks bad.
The solution I've been using is to pop open a blank TextMate document (on the Mac) or a gedit window (on Ubuntu), paste the text in, then re-select it and copy it again for paste into the final location. This is pretty lame though. Anyone have a better technique? Maybe operating systems should start adding a context menu item, "Paste as Plain Text."