Where you spend your time developing is an important decision for an open source developer. Partly we do it for personal satisfaction, partly we do it to give us a tool we want, but there's always a part of us that wants others to use and enjoy our work. I want to talk about that, and I want to talk about the frustrations that people who use those open source projects have, but first I need to set the stage. Paul Ruoget (@paulrouget) has been working on a cool live CSS editor for Firefox which should be out in FF 11.
When he proudly mentioned this on Twitter I responded in a less than helpful manner:
That's great, and something i'd find useful... but right now all i really care about is seeing FF be as fast as Chrome.
can you imagine how frustrating such a tweet is when you spent a few month building this great tool?
The point is that sweeping statements like that don't help anyone. Your tweet might make people move, building good dev tools not
I think he was trying to say that stupid statements like mine, borne out of frustration from something only tangentially related can lead developers to simply stop contributing at all. He's totally right, and I'm sorry I said that Paul.
At the same time, I am frustrated, and while it's not even remotely Paul's fault this frustration is shared by many many webdevs and it does affect Paul, and everyone else who wants to develop cool things for Firefox.
Firefox is slow. Once upon a time it was the king of the hill. We switched to it because it was soo much faster than anything else, and then tools like Firebug came along and FF became a joy to use for developers.
Somewhere along the line that changed. For reasons I can't explain FF has become notably slower than the alternatives... and that is the only comparison that matters. A slow browser is fine if there aren't any speedy ones you could use instead, but Google has put Chrome out there and, by comparison, it feels blazingly fast. I can feel the delay every time I open a new window in Firefox.
I just tested it. It just took nearly five seconds for FF to open a new blank window. I regularly see delays of one to five seconds. It always takes a fraction of a second for Chrome to do it and I've always got way more open in Chrome. Honestly, I don't like Chrome... not when compared to FF. But every single action we perform in our browsers is affected by the underlying speed of that browser. For a web developer with 20+ tabs open with research, test, and reference pages open all day long this is a huge deal.
And that's how we end up with people like me saying stupid shit to people like Paul who are trying to make our lives better.
But... I am a developer too. I've got a FF extension, a useful Greasemonkey script, and a few cool Ubiquity tools that are all sitting abandoned for the simple fact that I am unwilling to add that kind of delay that Firefox demands to thousands of actions I perform every day. No, I'm not saying that everything in FF takes 5 seconds longer, but I am saying that everything in FF feels like it takes longer than the alternative.
I look at what Paul is doing and think that
A) there's already live css editing in the Web Developer extension.
It's probably not as good, but it's there) and Firebug has it to some degree too.
B) Here's a guy building something cool that developers like me are never going to use because the environment he's chosen to do it in is slow, and loosing people like me to the competition at an astonishing rate.
So why is he writing it at all?
Firefox developers have been making progress in speeding up FF, but it's a hard problem, it's taken them a long time, and it still feels like they've got a long way to go before they catch up. Now, I say "feels" here because that's what's important. Numbers don't matter to end users. It's all about perception.
Consider this little story from the guys at Panic regarding a metting they had with Apple.
Jeff Robbin then asked us a funny question that had obviously been percolating for a while: "Does Audion do any kind of special filtering?" You see, since the beginning of time, press reviews in magazines, websites, etc., had consistently said that Audion simply sounds "better" than SoundJam, without question. It wasn't until that declaration showed up in a very respectable, high-end British Hi-Fi magazine that people started to take it even more seriously. Audion was always noted for being "richer" or "sweeter", and we were tremendously proud of our incredible results in this regard.
The only problem was: we didn't do anything. We have no idea why people heard Audion as sounding better.
I try and put myself in Paul's shoes and have to wonder if I'd think it was worth it. Sure, he loves FF, and maybe that's good enough reason to stick with it. But, I just like Firefox, and wish that it was keeping up because I love the tools I used to use with it. If I wanted to build a kick-ass live CSS editor I can't say that I would be willing to build it for FF right now.
And that's a question we all have to ask when we're developing something that's completely dependent on some larger project beyond our control. Is loving the platform enough? Even when thousands of the people who would benefit from your work are leaving it?
Saying "be faster" is like saying "be better" Of course we are working on performance. But we can't work only on perf - Paul
He's right, and yet, at the same time I think he isn't. Firefox has better tools, better extensions, better extensibility, better everything, but every action you take on it either is slower or feels as if it is. Would Firefox really be hurt in any notable way if it actually did apply every resource at their disposal to speed improvements? I realize this isn't realistically possible, because not every developer has the skills needed to address the problem, and no-one wants to see the other aspects stagnate, but I think it's still a valid question.
Christian is right that those of us sitting on the sidelines shouldn't disparage those who are doing good work, even if we think they're doing it on a sinking ship. I really hope that FF can come back from setback that Chrome has presented it, but in the meantime where does a developer put their energy and what is the best way to keep them from not contributing at all.
I should have said something like this:
That live CSS editor looks great.
... but how do I tell Paul, and people like him that as much as I appreciate what they're doing, and as much as I really want to use it, I'm saddened to and frustrated to think that thousands of people like me may never touch it, because of something it's tied to that he has no control over? Is there any way to do that without discouraging them? Is it better to just shut up and leave them to their dreams?
I'm sorry that this post, and my earlier tweets are probably disparaging to Paul. That's a shit thing, but even if I had the polite social interaction thing down, it seems like in the end the only way to avoid future occurrences is for people like me to not ask "why?", or at least not publicly discuss what comes out of those thoughts.
The uncomfortable state of things doesn't have to be the end of it though. People like Paul love Firefox enough to devote serious amounts of time to making it better. I think it sucks that we are in a situation where asking "Why is he bothering?" has some legitimate value. But maybe if more of us stopped taking the easy route of jumping ship to whatever competing tool is "better" at the moment we would actually take a moment to help bring the tools we "loved" back into fighting shape.
Maybe, if we get off our asses, we can help get Firefox back to being the most awesome browser around. I know I'd love to have my default browser be the same one with all the cool tools.