The Inside Track on Firefox Development.

« Firefox Stuff! | Main | What I Learned About Web Services »

April 3, 2004

Web Services Baby

The observant among you will know I'm putting together Firefox's new extension manager. For the update checking I had been planning on encoding each extension ID (which is presently a GUID) into a URL supplied by the extension or if not supplied, the client (in this case Mozilla's update server) and loading the URL as a RDF datasource.

This seemed like a bit of a kludge though as it was possible that you could build up huge URLs that might eventually push the character length limitations of URLs... and also not be that scalable or understandable.

Thus I decided to write a web service to do update checking with the server. I haven't actually written that service yet but I've created a simple test service and it works. Yay.

Posted by ben at April 3, 2004 1:06 AM

Comments

I'm wondering, what will happen with installation on multi-user systems, when 1.0 comes out. At the moment, several extensions can be installed only into the program dir, which is usually not writable for ordinary users. Even in a scenario of an admin installing extensions, it is not desirable to start the browser and the xpi as admin.

Additionally most of the extensions, which install into program dir, fail silently, when tried to install without appropriate rights.

And I don't think, that it's a good idea, to leave the decision of the install dir to the extension author, because there are always some, who don't care. Rather profile dir should be default.

Posted by: daniel. at April 3, 2004 8:53 AM

Yeah, I hope this is addressed somehow, it's stupid to have to run firefox as root to install an extension (most extensions give you an option now with that terrible OK/Cancel dialog box, but some still don't).

Posted by: Keith Lea at April 3, 2004 10:25 AM

the only reason some extensions (like Magpie) *necessarily* install into the global app dir is that they need to do things like install XPCOM components or defaults prefs files.... the new Extension system will allow these to live in the profile dir. When the new system comes online the profile dir will be the only option for standard installs... global installation will be able to be accomplished via the command line.

Posted by: Ben at April 3, 2004 12:23 PM

I would like to see more detail about the problem with long URLs.

Why does it matter when they are just used 'under the covers' by Extension Manager? Just how long are they? At what length does it become a problem? Is it really worth going through all the hassle of creating a web service just because of that?

I am an advocate of the web architecture as an instance of REST, so I am interested in hearing how the architecture is falling short of your requirements. I am worried that if the developer of a web browser can't use web architecture, no one can!

I started a thread about this on rest-discuss.
http://groups.yahoo.com/group/rest-discuss/message/4309

Posted by: Vincent D Murphy at April 4, 2004 8:18 AM

Ben: great to hear that. What is the new extension system? Do you mean the FF extension manager or is this a backend change, which will also affect Thunderbird and Seamonkey?

Posted by: daniel. at April 5, 2004 5:29 AM

> global installation will be able to be accomplished via the command line.

I'm not sure this would be such a good thing. There are many "semi-experienced" users who set up computers for their non-experienced parents / relatives / friends. These "semi-experienced" users will likely find going to a command line too cumbersome.

Please reconsider allowing to add extensions to the global directory via UI.

Posted by: Peter Lairo at April 7, 2004 4:28 AM

Glad to hear that it will be possible to install components into the user profile.

Do you expect this to be included in Mozilla as well?

Posted by: Matthew Wilson at April 8, 2004 5:27 AM

>> Glad to hear that it will be possible to install components into the user profile.

This is an option offered by almost all extensions today.

Posted by: Tom Graham at April 8, 2004 6:55 AM

>>>> Glad to hear that it will be possible to install components into the user profile.

>>This is an option offered by almost all extensions today.

No, I'm talking about XPCOM components, which at the moment can only live in the browser's 'components/' subdirectory.

(Although I did see a suggestion on the Mozillazine forums that you could manage an equivalent behaviour with the user's profile, it looked like a big hack to me.)

Posted by: Matthew Wilson at April 8, 2004 7:51 AM

I Really liked your site guys! I give it a 31-745 grade! vig-rx

Posted by: vig-rx at May 16, 2004 10:27 AM

Very useful comments - good to read

government grants

Posted by: government grants at May 28, 2004 2:08 PM