Wednesday, 20 August 2008

Disruption In Progress

It's embarrassing to repost something found in Slashdot, but here we go. First ASUS started shipping Splashtop, which lets you boot Linux and some apps from flash memory for instant-on Web surfing and media playing without having to launch Windows. Now Dell's in the game, this time with SLED10. I hope Dell's responding to market demand for this. It's an excellent path for Linux to eat Windows desktop share in a disruptive way. And of course, since they're shipping Firefox, it's effectively OEM distribution and market share for us. Benefits are flowing both ways; if Linux didn't have a decent Web browser --- or we hadn't held the Web open enough for non-IE browsers to be viable --- then this couldn't happen. Hopefully our branding helps them too. Fun times.

One more idea though --- if Firefox is already on the machine, and users are using it for instant-on, wouldn't it make sense to have it installed in Windows as well, for a more consistent user experience? Think about it, OEMs!

Tuesday, 19 August 2008

Analyzing Deer

I've been a Christian for nearly 16 years now and sometimes I'm concerned I'm finding it a bit stale. Bible studies, sermons, reading --- sometimes I feel like I've heard it all before. This is dangerous since I'm not nearly the saint I ought to be --- a lot of what I've heard I need to hear again, and do a better job of applying!

I can see several ways to try to grapple with this. One is to take on fresh challenges, and that's happening a little bit. With growing kids you can't really avoid it :-). Another way is to vary the routine and do things differently.

One little experiment I'm trying with a few friends, as a new topic of study, is to dig into some popular Christian songs, ancient and modern, and understand what they're really about. It's easy to sing along with your brain somewhat disengaged, taking it all far too lightly, or in some cases missing the point altogether (especially with the older hymns where the meaning has not carried over well into modern English), so I think it might be useful (and fun) to dig deeper for a change.

For example, "As The Deer" is quite popular:

As the deer pants for the water, so my soul longs after you.

You alone are my heart's desire and I long to worship you.

You alone are my strength, my shield, to you alone may my spirit yield.

You alone are my heart's desire and I long to worship You.

It plays as an uplifting, joyful song of worship. But the first line is straight from Psalm 42, and the context of the whole psalm is actually very harsh --- "My bones suffer mortal agony as my foes taunt me, saying to me all day long, 'Where is your God?'". This is not a happy Bambi* deer situation; the psalmist is at rock bottom, the "panting for water" is sheer desperation, someone in the desert at the end of their rope. Thinking of it that way definitely gives the song a different feel.

The rest of the song doesn't get any easier. "You alone are my heart's desire" --- who loves God so much more than anything else that they can honestly sing that? Not me. Most days I'm considerably more animated by a desire to fix Gecko bugs than by love of God. Now, the easiest way for me to make that line true would be to play it cool and disengage emotionally what's around me, but that's definitely not the right idea; we're supposed to love God more, not others less. In fact, as far as I know, the most direct way to where I need to be is to be clobbered by a huge tragedy or crisis, which is presumably how we got Psalm 42. (That would help with the "stale" problem too.) But I'm not too keen on that, so, er, I'll try taking the long way around, thanks!

Of course, songs are not authoritative, so part of the job is evaluating where the songwriter might have got it wrong. Bummer if your favourite song turns out to be heresy. "As The Deer" seems OK.

* Yes, I'm aware that Bambi itself is not the happy deer situation pop culture remembers. It's rather ironic.

Friday, 15 August 2008

The Coming Battle Over Web Fonts

Bill Hill has posted an article about "font embedding" on the Web, pushing Microsoft's "Embedded OpenType" format as the only way to do font embedding that's acceptable to font foundries. The theme is that "font linking" as implemented by Safari (and soon Gecko and Opera) is likely to get people sued and would lead to widespread font theft, and EOT is a much better approach that is endorsed by Microsoft and other font vendors. Chris Wilson followed up.

One huge problem with Microsoft taking this position is that Silverlight does not support EOT but does support direct font linking. It is very hard to take Microsoft's EOT arguments seriously when their own Silverlight division is obviously not convinced. It is especially galling for Microsoft people to practically demand that other browsers adopt EOT, and scold Apple, while Silverlight is not mentioned. It's plain hypocrisy. We need to keep pressing Microsoft hard on this issue.

Another big problem is that EOT is oversold. It is nothing more than trivial obfuscation of the font file plus some metadata asking the client to limit the domains in which the font file can be used. EOT proponents tout its font-subsetting features, but plain OpenType font files also support subsetting. The Ascender/Microsoft advocacy site suggests "EOTs are bound to a specific web page or site", which overstates the case; it's trivial for someone to unpack an EOT to obtain an unrestricted font, or to modify the domain list, or to modify a client application to ignore the domain restrictions.

The only protection of value is the ability to prevent site A from directly linking to fonts on site B, and that can also be obtained with bare font files, simply by imposing a same-origin restriction on font linking. (Even this won't be a big deal in practice; no commercial site is going to link to fonts on a random server which could be replaced with obscene glyphs at any time!) Safari 3.1 doesn't impose such a restriction but I'm in favour of it for Gecko. (We could support Access Controls for fonts so site B could permit less restrictive linking.)

The strongest argument for supporting EOT is that font foundries will sue Web authors who serve bare font files but they won't sue EOT users. That's a weak argument, since in the absence of meaningful practical differences it boils down to "font foundries are stupid" and I hope they aren't. But if that turns out to be the case, we may end up having to support EOT. Ick.

Another thing about this discussion that bugs me is the "embedded" vs "linking" terminology. "Embedded" sounds more tightly bound to particular documents than "linking", and therefore "better" ... but of course you do link to EOT files and the difference is illusory --- especially if we have a same-origin restriction on @font-face.

Update Chris Wilson comments "[Silverlight] needs the fonts to be in a package starting with SL 2.0, and that package would need to be opened (i.e. you can’t just link to fonts on other people’s systems".

Silverlight has always imposed a same-domain restriction for font loading, and I've never claimed otherwise. As for the package requirement, in March, that wasn't true. I haven't been able to determine whether direct font linking as described in that post was removed in June's beta 2 (apparently the idea you should be able to create Silverlight apps using a text editor has fallen by the wayside), but it's not mentioned in the list of breaking changes in beta 2 (or here). So I dunno. Even if they've removed that, you can probably still use FontSource and WebClient to load a bare font file. Anyone want to experiment?

Anyway, requiring fonts to be placed in the application XAP file (which is actually just a ZIP file!) is a negligible increase in protection over the same-domain restriction Silverlight already had --- I don't see the point.

Monday, 11 August 2008


What do you say when you engage a stranger in conversation, say at church, and want to get beyond the superficial? There are the standard utterly boring questions "what do you do?", "where do you live?", and the one I hate the most, "how are you?". Upon receiving the standard reply "good", I feel compelled to ask "why?", which probably tells people immediately that I'm an annoying freak, but I think it's good to be open about that.

Anyway, I've discovered a brilliant and simple alternative: "Tell me about yourself!" It's a most efficient way to find out what people think is important about themselves, and far more interesting than the standard questions. Yesterday a person told me straight away that he likes fishing.

Nerds For Jesus: bringing you original social-skills research since 1992.

Tuesday, 5 August 2008

My Summit

The best part of the summit for me was spending six hours on Whistler Mountain getting sunburned and scared out of my wits by the chairlift to the peak. But the Mozilla stuff was good too. I especially enjoyed meeting a lot of people I'd never been face-to-face with. In fact, I got a chance to talk to everyone on my "must meet" list except for two who didn't make it to the summit, and Michael Monreal. I'll probably embarrass myself by forgetting face-name mappings for most of them, but that's just the way my brain is.

The sessions were mostly pretty good. A little more structure and planning ahead might have helped, but I'm not sure. I wish we'd had a chance for a more systematic overview of development directions; the content/JS/layout/gfx meetings weren't quite enough because there are efforts that don't fit into those boxes and they fell through the cracks. Possibly we spent too much time talking about what we want to do and not enough time assigning people to work on it; however, as an event for volunteer contributors, maybe the summit is less appropriate for that than a Mozilla employee event.

I like the directions our GC and JS compilation work are going.

Staying up till 3am on Tuesday night in Moz Cafe getting video landed was too much fun.

I need to work on being less self-centered, I was thinking far too much about impressing people.

I need to be disciplined and start working on Compositor as soon as possible. We should keep running with short release cycles, but that means some of us are going to have to forgo working on features for the next cycle.

Let's have the next summit in Europe. There were so many Europeans present it probably wouldn't cost much more.

Monday, 4 August 2008

Why Ogg Matters

Matt Asay doesn't understand why shipping Ogg Vorbis and Theora in Firefox is important. The answer is simple. Our goal is to enable unencumbered, royalty-free, open-source friendly audio and video playback on the Web. Shipping Vorbis and Theora will achieve that for over 100M Firefox users --- not everyone yet, but a good start! To reach the rest, we will keep turning people into Firefox users, and pressure Apple, Microsoft and other vendors to support Vorbis and Theora. Vendor pressure must come from content providers dedicated to making compelling content available in free formats (coupled with a superior playback experience in Firefox). Wikimedia has stepped up and hopefully others will follow.

In fact, we'd love to be able to ship open-source codecs for H.264 and VC-1, but that can't happen until the MPEG LA's patents expire, or MPEG LA decides to give up its patent licensing fees, or software patents are struck down by the US Supreme Court (and possibly other jurisdictions). It would be unwise to wait.

Let me provide a mini-FAQ covering some of the other questions that have been asked:

Isn't Theora inferior to H.264, so no-one will use it? Theora isn't bad on an absolute scale --- look at some demos to see for yourself. There is ongoing work to improve the encoder so it's even better. Even if it's slightly lower quality than H.264 at some bit rates, it's still going to be very useful to people who favour free formats on principle, or who need an open-source solution, or who want a solution that Just Works across platforms without plugins, or who just want a solution without licensing fees --- for example, if you just want a convenient way to use a video clip in a Web app. Look at modern bank ATM interfaces, for example, to get an idea of what people could be doing in Web apps.

Since people can already play Vorbis and Theora in the browser by downloading a plugin, why is having them in Firefox important? Because the value to content providers and the pressure on other vendors depend entirely on these codecs being available to a lot of users --- and most users don't download codec plugins.

This is a great example of why Mozilla and Firefox are important. The Web needs a high-market-share browser vendor committed to free software and open standards across the board.

Will you get your pants sued off? We've taken legal advice. I don't know if we will talk about the results, but our actions speak loudly enough. Cutting Ogg support remains as a last-resort option.