Windows Vista is a heck of a development platform. Head and shoulders over the competition - Mac's stuck with Objective C, and the real action in Linux development these days (at least in my twisted world) is in Mono, the open source implementation of .NET. Group hug...
But this stings a bit... Three short videos of from Bill Gates' Windows Vista demonstration at CES. Well, it's Bill's voice, but the video has been replaced with demonstrations of the same features on Mac OSX, which was released back in 2002. Go ahead, watch all three - they're about 5 minutes total.
Now, the text on the page says over and over that it's all in fun, but I think the videos make a serious point. Despite having to reset the code base deep into the development cycle, Vista's bursting at the seams with goodies for developers, but the Vista "out of the box" experience is still really weak . There's no eye-candy, no glitter, no frosting, no excitement.
Now, some of this goes against the grain for me. See, I've been a programmer since grade school and a professional developer for almost a decade. I absolutely love how easy Microsoft has made it to develop professional software. Co-workers have called me Mr. Microsoft because I'm always up on what they're doing with the development platform and just about always fired up about it. The Windows development platform rocks.
But the Operating System out of the box experience is falling behind. Most distributions of Linux, out of the (free) box, come with GIMP (a very solid graphics program), Open Office (an adequate office productivity suite that opens and saves MS Office file formats and has several features that MS Office Pro doesn't include, like save as PDF and Flash), several text editors that make notepad hang its head in shame, and Firefox (a browser that's way ahead of Internet Explorer). Mac OSX Tiger is packed with crowd-pleaser features that matter to average users - see the videos above. The Windows out of the box experience is playing catch-up to the other leading operating systems, and despite great advances elsewhere, Vista catches Windows up to the last releases of OSX and Linux; it definitely doesn't blaze the trail.
- MS Paint, the default image editor included with Windows, has the following enhancement over the previous version (4 years ago?): it supports JPG and PNG formats.
- Notepad, the default text editor, has the following mind-blowing enhancement: a drop shadow on the image icon.
- Read the official list of Windows Vista features and tell me you're not bored to tears.
- Check out the key reasons to upgrade to Vista - security, deployment, reliability, zzz. Great for IT managers, but nothing that makes me feel like a hip user. Feeling like a hip user is a product Apple sells and sells aggressively; Microsoft doesn't understand this sales technique at all.
The tragedy is not just that the .NET development platform that ships with Vista can do so much more than the bundled software shows, it's that there are plenty of great .NET applications already written and actively used, just begging to be included with Vista. MSDN is littered with demo applications that blow away the tired old applets that ship on the Start Menu. Widen the field a bit to open source .NET apps and you've got Paint.NET, which stomps MS Paint so badly I have to turn my head away and sob. Open it a bit further and license a few "lite" software versions, ala Hyperterminal (read Coding Horror's The Lesson of Hyperterminal for more on why licensing software makes sense). C'mon, guys, give us a complete package Operating System, not a development platform with a few reheated leftovers shoveled on top!
Now, there are a few ways to look at this:
- They're not shipping for a while, so maybe they're saving some goodies for the final release
Interesting, but not too likely - the whole idea of beta releases is to catch bugs in the new features
- This is fine for a blog post, but it's not real world. Real applications need to be internationalized, checked for buffer overruns, support mute polydactyls, etc.
Bah. Eeyore is designing your projects. This is Microsoft's biggest threat. They cannot give in to this way of thinking. Despite the responsiblity of being a huge software company that lots of guys in ties rely on, they must continue to ship innovative products. They've shipped 8 versions of Visual Studio and 11 versions of Office, Microsoft needs to be capable of shipping a new version of notepad. And managed .NET apps are inherantly more secure than unmanaged applications, right?
- But these Oracle guys, see, they were piping text through Notepad to other processes and changing Notepad.exe would break their system and...
These guys are not your customers. These guys must not be allowed to design or control your software. Fine, ship the crusty old Notepad.exe in c:\windows\system32\, but give me a better default text editor. Incremental search would be nice, for instance. Firefox has that, and it's a browser...
- There's this Plus Pack, see, and it has...
Nope. This is not an "out of box" experience. My Mom will not download a Plus Pack. 99% of (potential) Windows users will not download a Plus Pack. Windows shouldn't need a Plus Pack, it should be good out of the box. Heck, you should deliver at least as good a product as Linux ($0.00), right?
- We can't crush the small markets by bundling software like this...
The features I'm talking about are standard on all other operating systems. This is safe ground.
- Windows users are free to download any text editor they choose, and...
No, no no! Your average customer is not Scott Hanselman, it's the housewife who begs her kids to "fix the computer" when they're home for the holidays. It's great that Windows can be customized, but it shouldn't have to be customized just to be usable (or comparable to a Mac).
Prior to the release of Windows Vista, Microsoft should devote some time and a little money to improving (or, preferably, replacing) the basic applets that ship with Windows. Here are some features I'd like to see:
- The clipboard should have a memory. Something like ClipX would be nice. Of course, if you licensed it, ClipX would be just great. I wrote a clipboard ring in .NET in an evening, it's not that big a deal and it's a nice feature that Windows should include.
- It's time for a new notepad. That's practically a Hello World application in .NET. If that's too big a deal, license on of the bajillion freeware Notepad replacement programs like Notepad2, but I'd be shocked if you couldn't pull a Notepad.NET together.
- Bundle Paint.NET. It shows off .NET, it's much better than MSPaint, and just makes sense. Don't question it. Don't say a word. Just key the music...
- Include a link on the Start Menu that points to free community software that lets you do more with your Windows computer like Cropper. Curate and cultivate this site, and make sure the best of MSDN and GotDotNet get there.
- Your ideas here... what should Microsoft in Windows Vista to improve the out of the box experience?
To the majority of users, Windows IS the collection of widgets on the Start Menu. Please, give us an upgrade. You can't just sell to developers. You need to sell to consumers, too.
 One notable exception is the Media Center experience, which is way ahead of everyone else right now.