Neil's Place

September 18, 2003

4:52 PM Using the Mozilla Preferences API

Someone asked for documentation on using the Mozilla preferences service. So I wrote an introduction.

Comments ( 25 )

September 17, 2003

John now has a weblog
And, as expected, it's weird!

9:24 PM On the twelfth day of software devlopment, I received Twelve New Users

"People who write reviews in magazines and web sites aren't your target user. You may get a bad review if your product doesn't meet their qualifications, regardless of whether it would meet those of your users."

Read more about Marketability

This is also the final section of this series. What originally started as a response to a comment on a weblog grew into a twelve part series collecting togther various thoughts I've had over the last couple of years. I'm surprised I actually managed to write a section every day.

Comments ( 32 )

September 16, 2003

10:01 PM On the eleventh day of software devlopment, I received Eleven Mysterious Email Attachments

"Many people are reluctant to enter their age or even their gender on a web form. This is true, even despite that one can usually determine this information or approximate it by looking at you as you sit down on the bus. And someone sitting on the bus is far, far more likely to cause harm to you than Yahoo's database administrator living 2000 miles away ever could."

Read more about Security

Comments ( 30 )

3:31 PM Mozilla Suite vs Firebird causing a rift among developers

"I think the Firebird development community is too small and too exclusive and thus tends to change things whose original rationale they do not know." - David Baron

Indeed. There is a heated discussion on the mozdev project owners mailing list about this topic lately. Developers are getting frustrated by the direction Mozilla is taking and are unsure about developing for a moving target.

Mozilla Firebird, and the focus of the Mozilla Foundation on end users has only worsened this issue. Mozilla Firebird has had very little focus as a developer product for building applications. Sure, the extensions are there, but they target the Firebird UI directly, and since Firebird is a 0.6 release, the developers accept the ongoing changes to the base product.

The Seamonkey framework hasn't changed that much lately. Changes to XUL have been generally insignificant since 1.0. Firebird and the new toolkit seems poised to change that however. Sure, adding features such as custom toolbars are great, but why the change from the base XBL files being in /bindings to now being in /widgets? Compatibility seems to have been intentionally broken. I think that the Firebird developers began to focus too much on the 'simple product' user and lost track of the developer.

With regards to API changes, I think freezing interfaces that have some flaws now is better than rearchitecting them, breaking compatibility, and then freezing them. No matter how you improve the interfaces, there will always be something wrong with them.

One problem though is that Mozilla is significantly more customizable and extensible than other products. Many extensions actually rely on specific elements of the UI or other aspects to remain constant. If your extension depends on there being a Back button with a menu that works a certain way, of course it's going to break if an improvement is made to the base browser product.

Added to which are the hordes of people with nightly builds, beta releases, and people with the Mozilla suite and others with Firebird, and you end up with a vast array of incompatibility problems to deal with. Remember though, has only ever in their history released two API stable browser products. The first was Mozilla 1.0 and the second was Mozilla 1.4. Remember that it's only the hordes of users that want it to work on every release, not the Mozilla Foundation. I don't think that nightly builds should have any requirement to be compatible entirely.

The original point dbaron made was that developers are changing things that they don't know much about. Over time, this usually happens. The reasons why something was done a particular way are lost over time. Specifically, he was referring to the way that the font settings in Firebird were moved deeper in the preferences.

As I said when work on Firebird was just starting (then called Phoenix), the goal of the Firebird project is to make the browser simpler, not to make it more usable.

Comments ( 22 )

September 15, 2003

11:27 PM Better Searches

I've finally figured out how the search system on XULPlanet worked and have updated it. Doing searches should now return useful results.

I've also just noticed that some forums have appeared on I'm not actually sure who put them there though. Mystery administrator perhaps?

Comments ( 20 )

6:18 PM On the tenth day of software devlopment, I received Ten Corrupted Files

"Even if you provide the best documentation in the world about what to do and what not to do ... developers will find a way to do the wrong thing."

Read more about Compatibility

Comments ( 5 )

September 14, 2003

Why Mozilla Doesn't Use Native Widgets
Includes a few things I didn't know

3:12 PM On the ninth day of software devlopment, I received Nine Different Kinds of Linebreaks

"Don't assume that when you use a 'portable' langauge or toolkit, that it will handle all of the portability for you. The toolkits do some of the work for you, but they don't magically do appropriate translation for you if you make incorrect assumptions about how other platforms work."

Read more about Portability

Comments ( 6 )

September 13, 2003

5:47 PM On the eighth day of software devlopment, I received Eight Point Fonts

"When building an application, don't assume that one kind of user is in the majority. In fact, all of your users are in the minority."

Read more about Accessibility

Comments ( 25 )