August 27, 2005

Proposal: An extension for managing software update channels

Posted at 14:01 in Mozilla and mZ and planet.m.o.

With the landing of the software update channel patches a whole new area of functionality in software update has been opened up to Firefox and Thunderbird. But for the user, the system has a big gotcha.. they can't go to about:config and change app.update.channel -- changing the channel requires editing a file within an installation. Why? By keeping the channel data out of the profile (where about:config stores user-overrides) we allow each installation to be on different channels.

How are channels being used right now? Our nightly builds are produced with the nightly channel so when they check in with AUS2 they get the next nightly build. When a developer builds Firefox or Thunderbird by default their build will use the default channel so when that build checks AUS2 the server will tell them there are no updates. (No more improperly updating hand-built debug installations to optimized installations!)

How will channels be used in the future? There will be a beta channel which will allow those who download beta releases to update only to later betas, RCs, and final releases. There will be a release channel so that users of 1.5 will only get updates to 1.5.1, 1.5.2, and so on.

But, will we desire that users ever change update channels in an installation? Or, will users need or want to change the channel for their installation? We aren't sure the answers to these questions, but in case the answer is ever "Yes" it'll take some work on the user's part to change that channel. They must go to their installation folder, enter the default/prefs/ directory, and edit the file channel-prefs.js by hand.

So, to the extension wizards out there, here's a challenge: can you produce an extension which provides a simple, elegant user-interface to change the software update channel for an installation? Something that offers testers the ability to try out alpha or beta releases and to keep moving forward with our daily builds as they gain quality -- or in some cases, with newer features but also with the caveat that they could be less stable.

If you're interested in giving it a shot, let me know: my email address is chase@mozilla.org. I'll work with you to help test your extension or give you feedback along the way about how we might want to use the channel system down the road.

Comments

3 comments received. Post a comment.

isnt this just a diff&patch job?
is this possible under windows?
sorry I am a noob when it comes to programming.

Posted by: poningru at August 27, 2005 10:20 PM

Personally I think this should be built in functionality. At least going with the release channel vs. beta. Should do like AOL does with AIM, and let some users (who choose to do so) go on beta's so we get more testing.

Posted by: Robert Accettura at August 28, 2005 5:12 PM

I fail to see why you can't set that channel in about:config. What if I've been beta testing for a while and want to just wait for the next release? Or if I have a release and want to switch to the nightlies.

Is there just some restriction about the way you set it up that means you can't use about:config? Can't a change to about:config be stored on that install file?

Posted by: alanjstr at August 28, 2005 7:38 PM