Ecosystems in Software: The Pencil Project and Winamp

Lately at work I’ve been writing specifications for our client projects, so when I saw the Pencil Project I was quite excited. What could be better for doing what I’m already doing than a Visio-like program built on Firefox. After installing it, I realised that this project had a heap of potential but was limited by it’s default stencil set. I’m certainly not the only person with the same problem. This problem seems to have been sorted out with the intention that users develop their own stencils. Great.

But not actually so great, the problem is that it is nigh on impossible to find any downloadable stencils. Now I’m not suggesting that they don’t exist just that any search on Google for pencil project stencil gives me a whole heap of people talking about how cool it is, and not actually providing me with any stencils. (Yes I know this is a conceited example but nevertheless searching for anything related doesn’t provide me with any third party stencils) I’ve got a simple solution, take a leaf out of Winamp’s book.

Winamp had amazing forums (probably still does) while they were developing Winamp 3 (which didn’t last long, it was quickly replaced with Winamp 5). These forums had a thriving community of theme and plug-in authors all working on the project, even before it was ever released. Obviously the Pioneers of the Inevitable (some of whom started Winamp) have got a good handle on this community building cause there’s a good . It is what Dave Winer would call a corral reef – a place for ecosystems to grow.

Anyway, after all that rambling all I want is a forum on the Pencil Project website, a place where I can find new stencils without people trying to sell me actual pencils and actual stencils.

Mozilla, Sugardaddies, Sustainability and Targets

There has been a massive uproar regarding John Lilly’s post about Apple’s dubious update/install process of Safari (follow up regarding competition). I don’t think it needs to be discussed, but John Gruber (Apple fanboy extraodinaire) has a great post regarding exactly why it is wrong. The hoo-haa has largely been largely focused on the idea that this move jeopardises Mozilla’s primary income source, that is searches performed on Google originating from Firefox. Mitchell Baker has extended the commentary writing about her experiences with people often taking this, protecting your income stream, angle on conversations.

Let me show you how I see Mozilla’s angle on this. I don’t think Mozilla gives a flying duck about earning $20 million or $60 million from Google. Looking at their most recent financials you will see that the money is clearly not an issue. They are sitting on a nest egg of almost $60 million, with outgoings of around $20million. In the coming year, I suppose we can estimate that outgoings may be around $30million and even assuming that this move from Apple does squeeze the income down (which I doubt very much) the Foundation will still be turning over a tidy profit. It’s also good to keep in mind, that we don’t need to even speculate for more than a year over Mozilla’s financial situation. The books will be published. 

A recurring theme throughout Mitchell Baker’s writing is sustainability and I have no doubt that even with a hypothetic 50% dive in earnings the Mozilla Foundation will remain self-sufficient.

Now before I cast some nasturtiums of my own and add a little bit of food to the fire let me say this. I have no doubt that what John has said as CEO of the Mozilla Corporation is exactly what he means. However something that hasn’t been disclosed are details of the position of CEO of the Mozilla Corporation. I’m certain that in the contract of CEO there are certain goals that must be met and if they are exceeded, certain bonuses will be paid. If this isn’t true, then by all means I will eat my words, however I think that for any person to perform there should be a carrot and there is no reason that the Mozilla Corporation should be any different. (Although after I’ve thought about this, it’s certainly possible that a bonus could be paid purely on a board decision rather than any particular metrics)

It certainly is possible that market share or revenue is a KPI for the CEO or at the very least taken into consideration when their bonus review comes around and comments such as John’s could be seen as influenced by this. Now, don’t take this the wrong way, it is always going to be a hard line to walk and I have no doubt that John, Mitchell and the Mozilla Corporation will continue take Mozilla’s mission forward.

Recent DOM Inspector works

While work and life always tend to get in the road, I’ve been plodding slowly along on the DOM Inspector, most recently I’ve been working on bug 255940. This involves removing the horrible dropdown box from the Box Model page and replacing it with a graphical representation (similar to the one found in Firebug). This will then be followed up by allowing people to change which measurement they are viewing in box model viewer.

I’ve also been working locally on a patch to provide some sort of hinting as to what type of property you are viewing in the Javascript object viewer, this basically involves using a list of default properties of each dom object (which I’m using from Firebug) but I think this is the sort of thing that could be standardised so that we aren’t duplicating this code, and it’s always up to date, as new elements are added (Video for example).

DOM Inspector – CSS Style Rules

I have been busily working on the DOM Inspector, apart from bug 221934 I have also been working on a prototype to increase the usability of the CSS Style rules pane. I have opened bug 368783 to cover the work on it. I have also built an initial prototype which doesn’t have all of the features plugged into it, but should be good for people to comment on it’s accessibility and what people think about it.

Here is the prototype version.

DOM Inspector release

Well after quite some time away from working on the DOM Inspector I have made some headway over the last couple of weeks and I’m ready to let the world see what I’ve done.

The major changes I’ve made here are to do with the DOM View, it has been changed to become far more similar to that of Firebug or the Safari DOM Inspector (which I’ve never used, I’m only repeating what I’ve been told). It’s a lot different from the old view, but having used it quite a bit over the last week, it is easy to use. The CSS based searching really changes the way you view documents, rather than browsing for them, it is very easy to just type where you want to go.

Anyway, I’d really like to hear what people have to say about it, there are obviously some performance issues, and there is broken functionality, but I think it is quite effective as a proof of concept.

Here’s the link.

DOM Inspector research

Over the past couple of weeks I have been in discussions with Frank Hecker from the Mozilla Foundation regarding a grant for a UI review of the DOM Inspector. As this includes performing some user interviews of the DOMI, I have been doing some research of people who have blogged about it.

One of the standout points from this has been the amount of talk in blogs about Firebug. I’m extremely curious as to how many people have moved away from the DOMI completely, or if people are using it in conjunction with Firebug. I know personally I’ve been using Firebug alot but there is a bug in it preventing XMLHttpRequest’s working in XML documents, and unfortunately this is a show stopper for my development.

Firefox 2.0 Features

The other day I recently downloaded the latest Firefox Alpha, Bon Echo Alpha 2 and I’m really stoked with the majority of the new features. Originally I thought that cutting the Places feature was a mistake and possibly letting the release date slip was a better option, but seeing the features actually working leads me to think that this is really going to be a good release.

The thing that the Mozilla Foundation (Corporation?) is really good at is incrementally improving the functionality of their products. This doesn’t involve rewriting the whole product but adding a few more awesome features and fixing the implementation of some of the existing features.

The major features or fixes that have caught my eye are

  • Feed handling. I love this. I can’t believe it has taken this long to get this into a mainstream browser. I can’t believe how long it has taken for any sort of a standard across feeds.
  • The search box. I’m sure that this is one of the improvements that nobody is going to think about but I’m so much happier with being able to “manage” them right there.
  • Spell Checker. What is there to say about this? It works a treat and is there when you need it. Perfect.
  • Tab Implementation. I’m not going to way in to heavily about the new tab implementation. It seems reasonably but I think it will be far more helpful to new users.

With all of these improvements I’m hoping that they avoid the stability and memory problems that plagued 1.5 from the outset and then quickly release a 2.1 with the removed places features or at least provide a plugin to add this functionality.

Clubs and Open-source

Franck Hecker, Gervase Markham and Chris Blizzard have all been talking about ways to get more people involved in open-source. What I find interesting about what they are saying is how similar it is to any other sort of volunteer work. Sporting clubs and charities around the world have been asking these same questions for ever. How can we get our members, to be volunteers? or How can we get our users to become contributors?

To me, one of the best ways to get and keep people involved is to lower the barriers of entry. If someone comes along to Bugzilla and tries to find out exactly how people would like the bug fixed and can’t get an answer, then they may just move on to the next thing. The same as if you want someone to work the canteen at your football match and they have to fill out 3 insurance forms, they will most of the time, forget about it.

Being a good mentor doesn’t necessarily mean dumbing down the work, but providing a lot more support along the way. Mozilla is starting to do this with devMo, but sometimes someone doing a bit of personal hand-holding is the best way. This carries over to Frank’s sales metaphor perfectly, by working harder to close the deal.

Mentoring involves telling people what to do, the same way you would teach a new employee how to do things. This means, rather than telling them to just jump in there should be a list of bugs that are minor, lower priority, low risk changes that someone can learn the codebase from, and receive feedback. Feedback in the form of advice on how to tackle the problem, landing the patch, and review.

As far as I can tell, the current state of Review is false economy. I’m aware that there aren’t enough reviewers to manage the all of the incoming patches. However without them being reviewed, new reviewers or engineers aren’t getting the aformentioned feedback.