Note: This content is accessible to all versions of every browser. However, this browser may not support basic Web standards, preventing the display of our site's design details. We support the mission of the Web Standards Project in the campaign encouraging users to upgrade their browsers.
Wednesday, August 03, 2005 16:30 // Portland, Oregon, US // href
by Mike Shaver
Extensions for Firefox do everything from Add-Blocking to on the fly Website alteration with GreaseMonkey.
Extensions are composed of 4 elements. A manifest, Chrome (user interface components), Components (non-ui), Default settings.
If Extensions are popular and non intrusive to people who do not use them, they may get integrated into the default firefox.
User interface components are written in XUL, the same xml language Firefox uses for its own UI. XUL can insert new elements into the browser UI, it can add and alter attributes of existing UI elements and it even remove elements completely.
The best way to learn about writing extensions is to take a simple existing extension apart and modify it. Extensions are stored in .xpi files, these are just simple zip files with their file name extension changed. Unzip the file and off you go.
Extension writing in Firefox 1.5 was much simplified, so if you are starting out now, you may want to use the current firefox 1.5 snapshots (deer park) for development.
When you have created a usefull extension upload it to (addons.mozilla.org ...)
Analytical tools for extension writers: DOM Inspector, Venkman the JavaScript debugger.
Links
Books are ok as well, but things evolve, so while the base concepts are all the same you may have to adapt paths and node names to work with current versions of FireFox.
Wednesday, August 03, 2005 17:25 // Protland, Oregon, US // href
by David Heinemeier Hansen
Rails is a Ruby based Webapp framework that came out of the development of Basecamp. Basecamp is a commercial Web based project management software written by (www.37signals.com ...)
Davids idea when designing rails was to pull out the good ideas from other languages and platforms into a context adapted to small resources available to David at 37signals (0.25 programmers and 1 designer).
Instead of designing the framework before writing Basecamp, David decided to write Rails by creating a method of extracting the framework from Basecamp. So instead of making assumptions about what he would need in the future, he writes Rails in parallel with Basecamp. He calls this application driven development.
How to be successful with an OpenSource project:
Be visible. If no one cares for your OOS project you could as well not "opensource" it, since the cost for publishing will never be recovered.
Release only once the culture of the project is fairly set, so that new influences through new users will not bend the project out of shape. Make sure you can handle the contributions and bug reports from your users.
Increase your visibility by taking on the 'leader-of-the-pack' be careful about aggressiveness though, since if you are aggressive towards others, you will also attract aggressive people to your project.
Content © by Tobias Oetiker