Wednesday, August 20, 2008

Rewrite

I was going to comment on this post from some other guy's blog but holy hell is it hard to read. Lemme see if I can rewrite.

Take 2:
Thanks for all the feedback that we have been getting.
That much of it is positive is certainly appreciated. Reading through a bunch of M$FT SUCKS! comments gets old really fast.

Everyone has done a great job sharing their views on specifics, wishes, and requests. (Short aside: A Senior VP is reading your blog comments - that is awesome.)

I love getting these mails and reading the comments. It is fantastic. I just want to make sure folks know I can’t answer each one! I have a day job, and heck, it is wearing me down.

What we are going to do is look to the emails and comments as a way of suggesting posts we should write.

Lemme tell you what the Win7 team thinks about when planning a release. (Leave some comments to let us know what you think.)

Sometimes we do big releases, sometime we do smaller ones.

When we plan Win7, we argue a lot and then decide how many people will work on it, and for how long — and then, pretty much, you (as an end user, developer, or partner) decide if the release is major or minor.

End-users are generally the most straight-forward when deciding if a release is major or minor.
For an end-user a release is a big deal if they want to go out and buy an upgrade or buy a new PC. Well...actually, it has been years since anybody bought an OS for a feature. DOS 6.22 was the last one I bought for feature. DriveSpace was the feature, I think. Well, actually, Windows 95 looked like it had a bunch of cool new things too. And it could connect to the internet (better than Windows 3.1 could). That was a feature I spent money on. And every Windows since then has been able to connect to the internet. So that's not really a feature we can sell again. Dangit.

We keep trying to figure out reasons for people to upgrade to a new OS, but really, an OS these days is pretty much just something that you get with a computer.
Don't get me wrong, though - there are a bunch of things in Windows Vista that are cool that makes me 100% unlikely to every go back to XP - like the start menu search thing. It is the shiznit.

A tiny percentage (of our overall user base) wants to install our new OS on their existing PC - this is a fustercluck, as the new OS requires more memory, updated drivers for crappy old hardware that our crappy partners won't ever release, as they've already made their $10, and why should they hire a programmer to update a driver for a piece of hardware they sold years ago?

Developers look at a release through a different lens. Obviously for developers a release is a major one if there are new APIs and capabilities to take advantage of in their software—again straight-forward enough.
Actually, developers haven't cared about the APIs in new releases of Windows in ages - pretty much no software is 'Windows Vista or better' - no new API is so wonderous that you are going to limit the market for your application to 'just Vista users'. Seriously.

Pretty much all software today requires XP SP2...yeaaaars from now the minimum requirement will be Vista. Kind of like how developers are not getting comfortable with the idea of dropping Windows 2000 as a minimum requirement, which means that can start relying on the new APIs ....in Windows XP.

Partners are the cheap bastards who create PCs and other hardware, and are a major part of the make-it-as-cheaply-as-possible ecosystem that Windows is part of.

Partners like to think that we can put some nifty feaure in Windows that will make everybody run out and buy a new computer. Like Sideshow (that didn't work out too well - does anybody have one of those?). Or tablets (that worked out a little bit better. Browsing the web on the couch with a tablet is the shiznit. Again. But sadly the sales numbers don't reflect that.)

Partners hate having to update their drivers - they don't want to spend the money. That is why they love 'class drivers' - generic drivers for bits of hardware that are actually just commodity things at this point. Like cheap sound cards (Ever since AC97 came along). But generic hardware doesn't make much money.

Occasionally, partners want to 'differentiate' (make more money on a bit of hardware by trying to convince you that it is somehow better and thus worth more money) - so they create a piece of hardware (usually called SuperVoodoo Extreme BlingBling XXXPress) that you have to have, and to really differentiate it, they add shitloads of SuperVoodoo Extreme BlingBling XXXPress control panels and startup applications and system tray applications to your system. Because fuckit, you spent $299 and need the software equivalent of racing stripes and massive rear spoiler on your Acura.

IT professionals are overworked and underpaid - so conservative by nature and thus take a conservative view of change. Hate it, in fact.

Because the beancounters in this shit economy make them, they carefully evaluate if any new piece of software is going to be a good return on investment.

So for an IT professional a major release would be one that delivers significant business value.

This business value could be defined as a major investment in deployment and management of the software for example. So the fact that Windows Vista has 6000 group policy settings where Windows XP has only 1000 - well, that makes them pretty happy - They can configure the twelve thousand Vista computers in their company exactly the way they want them, from one place.
(I totally made up those numbers, by the way - I can't be bothered to look them up. But I think they are close to the real ones. Probably.)

Journalists and techies think that a “re-architecture” means "major release" - because there is lots of new stuff in there now, and all the old cruft has been flushed. (But “re-architecture” sucks for partners and IT pros.)

Folks usually think that re-architecting leads to better performance, breaking with the past leads to using less memory, etc - I like to call it 'The Cargo Cult of Clean Slate'

The grass is always greener on the other side - we have long term plans for Windows, and harsh, radical changes can sink you. (and nobody really does it...Ask Adobe what they think about Apple's harsh changes.)

It is always tricky to debate those points because we are comparing a known state to a state where we fix all the things we know to fix, but we don’t yet know what we might introduce, break, or otherwise not fix. As Dick Cheney (or was it Rumsfeld once said): ...Something about known unknowns. We have known unknowns now, and we prefer them to unknown unknowns. Or something.

But we still do a lot of spring cleaning in Windows. Spend a lot of time on it.

Anyway...
The key is always a balance. We can have big changes for all customers if we prepare all the necessary folks (partners and application developers) to work through the change.
We can have small changes have a big impact if they are the right changes at the right time, and those will get recorded over time as a major release.

We dedicated our full engineering team and a significant schedule to building the Windows 7 Client OS. That makes it a major undertaking by any definition. We intend for Windows 7 to be an awesome release. No, seriously, we think it will be pretty cool. Things are going much much better than they were at this point of Windows Vista.