The kind of innovation that gets it right

There was an article that ended up on Slashdot last week:

“In the short term, GNOME’s gradualism seems sensible. It doesn’t confuse users, and it doesn’t accumulate bad reviews from writers with an aversion to change. But, in the long-term, it could very well mean continuing to be dragged down by support for legacy sub-systems. It means being reduced to an imitator rather than innovator.”

There is absolutely no reason why incremental change and innovation are incompatible.  Consider the new notifications system in Ubuntu 9.04, for instance – it took some extra effort to make sure we didn’t break old applications, but it did happen.

“By contrast, you could say that KDE has done what’s necessary and ripped the bandage off the scab. In the short term, the result has been a lot of screaming, but, in the long-term, it has done what was necessary to thrive.”

The “ripping the bandage” approach the author advocates is a lot like how my dad drives down the freeway; sure, he gets there about 5% quicker by aggressively tailgaiting and weaving in and out of traffic, but during 95% of the drive his passengers think he’s a total asshole.

While it’s quite possible KDE gets new features a bit sooner by dumping loads of bugs on their users, not having these kinds of bugs is an important feature too.  Maybe they’re good features, and Gnome decides to include them later using its slow, incremental changes.  That’s innovation too – the kind that gets it right.

Ripping bandages can be a good idea if you have no users

Ripping bandages can help speed up development, but it also really annoys users.  This means it’s perfectly ok when you don’t actually have users – early alpha software, for instance, shouldn’t even pretend to be nice.

Recognizing that your project has grown up can be hard.  Wine got very used to having no users; we made biweekly releases that were little more than CVS snapshots.  Before we knew it, we had a million users and frequent complaints that using the latest version was a bad idea.  We even built a database of which Wine versions worked with which applications to help users along.

Making real releases is what grown up projects do to respect their users

Eventually, however, we made a stable release.  90% of our users are on it now, even though it’s over a year old.  The current Wine betas can run a lot more programs, but it would be a real asshole move to trick millions of people into using one of these by falsely labeling it “stable”.  Without making a real effort to ensure that our next release is at least as good as the last, what we’re really doing is breaking software for millions of people.

6 Comments

val-gaavApril 10th, 2009 at 2:41 am

KDE 3.5.10 is still there, and kde 4.2 is “the ready version” … I don’t get it people were not forced to use 4.0 and the wait for polished version was one year after initial 4x series release.

Oh and if MS rewrote whole winapi concept into something new Wine project would have to do a rewrite too .. . KDE guys had the same problem with transistion from Qt3 to Qt4.

val-gaavApril 10th, 2009 at 2:46 am

BTW furthermore labeling dev a releases as 1.1 is as confusing for some users as releasing kde 4.0 as devleoper platform … For many if ther is no alpha/beta/rc in the name of release then they get confused and treat it as stable.

I’m quite sure you can find some people believing 1.1 is a stable wine release. If they get it with distro and from wine site how can they know ? 1.1 is a full number = stable.

lunarcloudApril 10th, 2009 at 5:38 am

It was the distribution’s fault for including kde4 before it was ready and giving no warnings. KDE 4.1 was “early adopter” not distribution-worthy.

Oh, and this “let’s bash kde and glorify gnome” shit is so tiresome. Aren’t we past this?

Wine is a very different project from wine and comparing them at all means your opinion has been biased in an obvious and misguided way.

lunarcloudApril 10th, 2009 at 5:49 am

P.S.
KDE4′s releases could be compared to OSX.

OS X replaced the old Mac OS stuff, changed the whole systems’ fundamentals and layed new foundations. 10.2 was the “user ready” mac. 10.3 10.4 even better, and 10.5 they finished off on features for a while, like oh, idk kde 3.5 finished off on features and KDE 4.2 is “user ready”.

Jared SpurbeckApril 10th, 2009 at 7:45 am

I was totally expecting you to say something about that version of Windows that came out in 2006, but I guess not. ^.^

I’m kind of wondering about the premise you made, though. Doesn’t the legacy baggage accumulate? As much as we ridicule Vista, they did have all kinds of crazy things going on in the Windows codebase, and they knew it and wanted to start from a clean slate.

I think you were right though, when you talk about putting the users first. If something is “legacy” it means that people are still using it, and removing it alienates them. There have been successful bandage removals, like Mac OS X and their Intel transition, and Palm’s preparing to make one with the Pre. But even in all of these cases, they went out of their way to provide legacy functionality with things like emulators, the Classic environment, and the Rosetta compatibility layer. Vista didn’t and KDE didn’t, and that’s why they lost users big time.

The worst example I can think of is Sony Online Entertainment’s total reboot of Star Wars Galaxies. They lost nearly all of their existing players, while still failing to attract people to what was now an inferior copy of World of Warcraft. Paul Graham says to always put the users first, and I can’t help but think that these moves are bad ideas for the sole reason that they don’t follow that principle.

YokoZarApril 10th, 2009 at 1:58 pm

BTW furthermore labeling dev a releases as 1.1 is as confusing for some users as releasing kde 4.0 as devleoper platform … For many if ther is no alpha/beta/rc in the name of release then they get confused and treat it as stable.

I’m quite sure you can find some people believing 1.1 is a stable wine release. If they get it with distro and from wine site how can they know ? 1.1 is a full number = stable.

They know because if you actually go to the Wine site you’ll see that every 1.1.x download is printed right next to the words “Beta” or “Development Release”. The top of the ubuntu download page, for instance, has a big bold warning.

As someone who works with both the distribution and the upstream, I can also personally assure that development releases don’t creep into a real version of Ubuntu.

Leave a comment

Your comment