Linked by Olier Raby on Mon 25th Jun 2007 23:48 UTC
General Development Firefox add-ons, or extensions, are small programs that run inside the browser in order to customize some behaviors. In theory, it is possible to develop and maintain a multilingual, multiversion and multiOS Firefox add-on. In practice, there are many obstacles to overcome in order to create and to maintain a working Firefox add-on in one language for one Firefox version and for one OS.
Order by: Score:

RE
by Kroc on Wed 20th Jun 2007 10:05 UTC
Kroc
Member since:
2005-11-10

If you're looking into developing Extensions, you should also download Firefox 3a5/Nightly and check out the FUEL API, an API designed to really simplify some of the horrifc JS needed to very basic things in Firefox. You can see the developing specification here:

http://wiki.mozilla.org/FUEL

I personally tried writing a XUL app once, but the documentation was so uterly lacking, outdated and awful I had to give up. If you want to get into Firefox development, do make sure you've modified your pension scheme and life insurance to account for the several years you will lose from your life trying to get an extension to work.

Too bad.
by whartung on Tue 26th Jun 2007 02:01 UTC in reply to "RE"
whartung Member since:
2005-07-06

And it's really a shame too.

FF had the potential to become a real player in the RIA/Desktop application development space, if they managed to clean up some of the docs and stabilize the system (so that the docs remained current), as well as writing some solid JS libraries to wrap up a bulk of the communication to the back end. I don't know why they didn't simply wrap all of back end calls in JS wrapper that were easy to use and work with.

None of the parts are implicitly horrible (well, RDF has few fans, but...). And the concept is quite sound -- solid scripting language on top of a solid core of infrastructure. And they the bits that most folks want for desktop/RIA/ and/or client-server applications.

And what they didn't have could have been written reasonably efficient for each application.

But putting it all together and find out which end is up is just a nightmare, and the entire platform has struggled because of it.

Now the Web in general has pretty much obsoleted much of what XUL was trying to achieve in more practical measures as far as desktop-esque applications go.

poor effort / return ratio?
by dogen on Tue 26th Jun 2007 05:21 UTC
dogen
Member since:
2005-11-13

As much as I love the idea of platform-independent web-as-platform applications, all the current methods seem too convoluted. Couldn't the author have written a Java applet that does the same thing in 1/10th the time?

And the Javascript/HTML/CSS/Webkit/??? web-app mess seems to be what Apple has in mind for IPhone apps too.

Do-able, but needlessly difficult.

RE: poor effort / return ratio?
by Weekedit on Thu 28th Jun 2007 11:14 UTC in reply to "poor effort / return ratio?"
Weekedit Member since:
2007-06-28

When I started the project, I did not considered Java at all : the documentation was not suggesting it.

Even today, I am reluctant to jump into the Java pool : I use three stand-alone applications on my PC, and I do not like the graphics, nor the responsiveness of the graphical interface.

Try making UserJS
by Auxx on Tue 26th Jun 2007 07:55 UTC
Auxx
Member since:
2007-04-05

I suggest author to try creating UserJS for Opera browser with almost same functionality and feel the difference - UserJS are way easier!

RE: Try making UserJS
by KLU9 on Tue 26th Jun 2007 16:10 UTC in reply to "Try making UserJS"
KLU9 Member since:
2006-12-06

UserJS came to my mind as well.

Has anyone done an in-depth comparison of capabilities between extensions in Firefox & UserJS in Opera?

RE[2]: Try making UserJS
by Spellcheck on Tue 26th Jun 2007 21:58 UTC in reply to "RE: Try making UserJS"
Spellcheck Member since:
2007-01-20

That depends on what you're doing.

I read the first few paragraphs here, and the author could have saved himself much trouble by writing a user script -- everything he needed is possible, and most features would be cross-compatible with Opera and Greasemonkey.

RE: Try making UserJS
by Weekedit on Thu 28th Jun 2007 11:23 UTC in reply to "Try making UserJS"
Weekedit Member since:
2007-06-28

Since my time is not infinitely stretchable, I do not expect to use UserJS. Thanks for the suggestion.

I've always wondered...
by i3X171UM on Tue 26th Jun 2007 14:46 UTC
i3X171UM
Member since:
2005-08-12

That's interesting; I've always wondered if Firefox extensions were really meant to be cross-platform. Extensions like IE Tab just don't make sense to me.

C is "proceedural"
by tbostick78 on Tue 26th Jun 2007 20:06 UTC
tbostick78
Member since:
2005-12-16

C is a "procedural" programming language rather than a "functional" programming language, emphasizing imperative programming style.
http://en.wikipedia.org/wiki/Functional_programming

Great article though. Thx.

Random Notes
by jtinz on Wed 27th Jun 2007 11:11 UTC
jtinz
Member since:
2006-02-06

1. You can actually use a dump() command to output to the JavaScript console. But setting up Firefox appropriately requires a bit of work.

2. I gave up on any documentation. Some of the plugins are well coded and can be used for reference. The alternative is to grep the .js files of firefox.

3. Be extremely careful when you access the XPCOM interface directly. Unlike in the other code, you have to do some cleanup to prevent memory leaks.

4. I think jedit is very useful. Among other things, it allows you to save text files in many codings, including UTF8.

RE: Random Notes
by Weekedit on Thu 28th Jun 2007 11:25 UTC in reply to "Random Notes"
Weekedit Member since:
2007-06-28

Thanks for the suggestions and the warning.