Neil's Place

September 23, 2003

2:27 PM So many thoughts, so few bullets

There are so many thoughts going on in my head over the last few days. It's hard to come up with a clear response to things. So I won't.

I will, however, do what Danny does by Turning a Blogger Off.

Comments ( 33 )

September 22, 2003

2:44 PM Using Sockets in Mozilla

Now available: a simple guide to using sockets in Mozilla, with an example.

I also added some links to the book Creating Applications with Mozilla in the SDK guide.

Comments ( 5 )

September 21, 2003

4:11 PM More on Mozilla Direction

Asa's weblog provides some commentary on my recent post about Mozilla developers. As would be expected, the comments there go off topic a bit.

I just wanted to clarify something. Asa quotes the following that I wrote:

Developers are getting frustrated by the direction Mozilla is taking and are unsure about developing for a moving target.

He then responds by saying that there are many more extensions for Firebird than the Mozilla Suite. That may be true, but I think that's primarily due to a much heavier marketing effort, the momentum of which creates more extensions and therefore even more interest. The quote mentioned doesn't mention extensions nor does it mention Firebird. Actually, I was refering to the refocus of Mozilla as an end-user product instead of a platform, not on the switch to Firebird. The developers such as myself who have projects that aren't extensions, are frustrated over the ever-changing APIs and the apparent lack of documentation and communication of changes.

Whether the Mozilla Suite is used or the Birds are used really doesn't matter. If people overall prefer Firebird, that's fine. Let's use it instead. We're just concerned that the new end-user focus is going to be at the compromise of the developer.

Comments ( 15 )

September 19, 2003

3:03 PM Mozilla Developer Documentation

Over the years there has been numerous attempts to improve the documentation for Mozilla. Unfortunately, all of these attempts have failed because everyone spends too much time arguing about organization, style sheets, and naming conventions, and no one gets around to writing any documentation. Mozilla developers need some organized and detailed information about how to build applications, with examples.

So I've set up a big Mozilla SDK Table of Contents. Currently, it provides only links to existing documentation such as the XUL tutorial and the book Creating XPCOM Components.

I'll add as much to it as I can. If you have additional documentation to add, please, just write it. Select a section from the table of contents and write it. There won't be any meta-discussion since you only have two choices:

  • Host it on your own site which means you can do what like.
  • Host it on which means you can write documentation the way I tell you to.

That may sound a bit harsh, but it's the only way to get things done. Eventually, I'll get around to providing a template you can just use, and adding a user notes section like just has. Or, I will do the formatting for you.

Also, any comments about additional sections to add would be most welcome.

Comments ( 38 )

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 )