June 29, 2007

Zach Makes Gizmodo, Works from "home" on Friday

So today I worked from "home," where home can be loosely defined as number #113 in a nice long line in San Francisco. I enjoyed a nice day out with fellow members of the Apple faithful, and lest you think I totally blew off work, I got some nice progress made on our qa extension project; there's nothing like hacking from a lawnchair on the street. In any case, I've been putting in some long hours this week preparing for this day.

Anyway, in the middle of all this, the Gizmodo guys came by, leading us all in the wave. For some reason, I ended up on the homepage, or at least the blurry version of me did. Here I am (white striped shirt in the middle, Firefox bag in front of me) with Andrew, Roger [Wagner, the creator of HyperStudio], Daniel, and the rest of the gang at O'Farrell and Stockton:

No formal reviews or anything at this point, but however much you wanted one before, you really want one, you really really want one...

Posted by zach at 10:58 PM | Comments (7)

June 12, 2007

The WWDC Keynote: It's that Choice Thing

(As always on this blog, I write only for myself.)

Yesterday the Reality Distortion Field totally failed me. I've never come away from an Apple keynote as disappointed and pessimistic as I did today. It all comes down to choice, and Apple isn't offering us a lot of it today.

First, the iPhone. Mobile security is not easy: it's very hard to encode the notion of "do you want to allow this application access to your hardware?" in a small space and make it easy for users to understand what their choice means. Furthermore, monopolistic carriers want total control, and allowing developers to run code directly on the device opens up the mobile software market in a way that threatens a business model centered around $3.99 ringtones.

All that being said, allowing only, in Apple's words, "applications created with Web 2.0 Internet standards" (whatever those are) is a slap in the face to Apple's developer community. Don't get me wrong, the Web stack is wonderful, and it's the future, and for 95% of the apps that people develop, it's totally the way to go, but there are simply some things that cannot be accomplished without direct access to the OS like any other first-tier application. Cool stuff gets made when people have both easy ways to do easy things and limitless options available with which to be creative, to do the kind of things that no one has even thought of yet. Killer apps push the boundaries of what is possible. When all you provide is a small set of pre-defined APIs to hardware features defined by Apple, you limit developers to a small set of options, and that's hardly creativity at all.

Second, Safari on Windows. This is huge, and great for everyone, because it provides everyone committed to an Open Web the chance to say that the Web is more than a blue e, that standards and innovation on the Web are as alive as ever, and that the future is the Web. Apple has been firmly on the right side of this with Safari, supporting innovative work on the Web like the WHATWG and clearly is committed to an open Web.

And yet, just like the iPhone, Apple offers us "choice lite" with Safari, giving us something that looks kind of like choice, but only if your choices happen to line up with the options provided by Apple. Safari gives you a choice of search engines, but only if you choose Google or Yahoo. Even IE7 provides a one-click link to install new search plugins, and a great feature that helps advanced users build their own search providers. Want Windows Live, Ask, Technorati, IMDB, or a Wikipedia search in your Safari search bar? Too bad. Apple's decided that you get exactly two "choices." No more, no less.

And the lack of choice is more than surface-deep. Every day, developers upload extensions and themes for Firefox and Thunderbird. Mozilla prominently features the Shaver would say, Firefox Add-ons democratize innovation, making it easy for users to become authors and authors to become developers. Mozilla has guides and documentation and community resources available for the thousands of extension developers out there. The next great idea about Web browsers doesn't have to come from someone inside Mozilla, or Microsoft, or Apple; it can come from anywhere, and be available for anyone who wants it to install into Firefox as an extension. Extensions aren't just about developers; extensions give Firefox users the choice to use their browser as they see fit. Furthermore, Many great companies have based their products on the Mozilla platform, and used our work as a jumping off point for their own creations and innovations.

Apple refers to Safari as "open source," but when you look closely, they always choose their words quite carefully, describing it as "open source rendering." That's because, of course, Safari isn't really open source. Its rendering backend is open, but the Safari front-end, the user interface through which we actually use the browser, is all proprietary closed source. Sure, people have written several "extensions" for Safari, but these alterations are essentially hacks, software that hooks into Safari's closed infrastructure without permission from Apple. Apple doesn't write documentation to help people extend Safari, and they certainly don't have tools to make it as easy as possible for people to do so. So yes, Safari's rendering engine is open source, but if you actually want to innovate, do something new, or take advantage of the innovations of others, Apple doesn't offer you much in the way of choice.

In short, what Apple announced today isn't really choice, it's a kind of preschool-esque choice lite: "Son, tonight you get to choose whether to eat brussels sprouts or broccoli for dinner!" You can choose to write your own applications for the iPhone, but not if you want to do something not on Apple's approved list. You can choose any search engine you want, as long as it's Google or Yahoo. You can choose to take advantage of Safari's open source backend, as long as you don't want to do anything to the frontend. It kind of looks like choice if you don't know any better, but eating carrots or cheesecake for dinner instead isn't a valid option: you've got to eat the sprouts or the brocalli or your parents won't let you go out and play.

There once was a time when Apple encouraged us all to Think Different, to be creative and do things that were never possible before. The Web is the ultimate creativity platform, and the one thing we know about creativity is that it flourishes in an environment of innovation and choice. Choice not only between a few pre-defined options, but from a palette of possibilities as limitless as the current technology allows. I might think sprouts are good; you might think broccoli is good, and we both should get to choose, but the truly creative one makes a totally new dish, combining the ingredients together, adding their own secret sauce, and serving up something new for everyone to try. Mozilla hands you the kitchen, gives you a few recipes that have worked well in the past, and lets you be the next Ironchef and serve your creation to the world. What Apple gave us at WWDC looks kind of like choice if you don't know any better, but really, it's not. The Web needs the true freedom for all of us to choose, create, and innovate.

Posted by zach at 7:49 AM

June 7, 2007

Litmus Upgrade Complete

The Litmus upgrade scheduled for tonight has been completed. To refresh your memories, the major changes are new user permission groups, forgotten password reset, and performance enhancements/bug fixes.

If you run into any problems, please do let me know. The major things to watch out for are any problems around user authentication, especially for administrators, any trouble with the password reset feature if you use it, or any situation where you're seeing content that appears to be intended for someone else.

Those of you running your own Litmus installations (not very many of you I know) will need to run the populatedb.pl script to pick up the schema changes that have been introduced. In addition, you'll need to define the path to sendmail in your existing 'localconfig' file for the password reset feature to work:

our $sendmail_path = '/usr/sbin/sendmail';
Posted by zach at 7:48 PM

June 6, 2007

Litmus upgrade Thursday night - 6/7/07, 8pm - 9pm PDT

During the standard Mozilla IT downtime window Thursday night, I'll be upgrading Litmus to the latest CVS tip.

There are two major changes in this update. First, administration groups let us designate separate product administrators with the ability to create and manage testcases for their products. This will give us the opportunity to designate many more administrators who want to write testcases and to compartmentalize our access control somewhat. Secondly, users who have forgotten their passwords can now reset them, validating their ownership of their account via email. Previously, users had to contact the QA team for assistance with their logins, so this is a big improvement. In addition, there are a number of bug fixes and performance enhancements.

Downtime is expected to be minimal, less than one hour, and should begin around 8pm PDT. After it comes back up, bug reports would be much appreciated (file in Bugzilla or just comment on this blog post). For a real good time, you can always try out the Forgot Password button on the login screen, just for laughs.

Posted by zach at 10:19 PM | Comments (2)