Cupertino, start your copiers
[Apparently this wasn't clear so be warned: This is what I would do if I was armchair CEO of Microsoft. I know they're never going to do this. I'm just trying to imagine how Microsoft could be positioned for the future. I know they're wildly successful and I'm not suggesting they should completely give up strategies that are making them boatloads of cash already.]
As I said at the end of this article back in February, I think Microsoft could try something crazy that just might work; Windows 7 could make Microsoft the first company to actually make use of the Internet in an operating system. Steve Ballmer gets that Microsoft needs a big change I think, but I'm not sure he really knows how to do it. In fact I'm pretty sure he doesn't know what to do. Yahoo! isn't the answer to your prayers Steve, trust me. Here's a freebie for you…
I've come up with the 12 Steps to Windows 7 of Awesomeness™!
1. Ditch the NT kernel; use Linux. Just because Linux wasn't invented at Microsoft doesn't mean it's not a total waste of resources to maintain Windows. I'm not saying I think it's crap; I think very highly of it, but you're not getting any return on investment for these resources. Why spend tons of money here when you don't have to? Just do it. And contribute the awesome things you used in NT back to the Linux kernel.
2. Ditch the Windows name. Props to ExtremeTech for this idea. The name just leaves a bad taste in my mouth, and, even if it's not true, Windows now stands for insecurity, pain, and suffering to everyone. Leave those memories behind. Don't pick something shitty and misty like Vista. You want to signal customers you're doing something new, exciting, and thinking totally different.
3. Build a new type of browser that blurs the distinction between desktop and web apps. There's a lot of reasons web apps cannot compete. Arguably the biggest difference is caused by Fitts' law. Fitts' law is a mathematical formula for the amount of time it will take to hit a target, depending on the size and distance of that target. Some places on the screen are easier to get to than others. As Bruce "Tog" Tognazzini explains, the easiest is directly under the pointer, because you don't have to move anything. The next easiest location is the corner, because it has essentially infinite height and width, making it a really easy target to hit. The edges only have one infinite direction but they are also easy to reach. The thing about web apps is they cannot use the corners or the edges of the screen. Desktop apps can.
Here's what I'm suggesting: build a browser that lets web apps have the same functionality as desktop apps. It will need to let the web app take complete control over the browser's menus and windows. It needs to be able to open and save files like a desktop app. It should be able to provide a systray/menubar item for easy access. A few tricks to getting this to work would be thinking of each web app as a separate instance of the browser, just like desktop applications are separate. Caching web apps could provide pretty decent performance and strong offline APIs (e.g. Google Gears, or a SQLite DB similar to WebKit's HTML 5 implementation) could blur the line even further. Imagine Google Docs in this browser. Or Flickr. Hells yes!
4. Allow OS to be installed completely over the Internet. Look at the beginning of the trend: the MacBook Air doesn't have a DVD drive. Seriously, physical media has got to die. CD/DVDs suck. A lot. The trick is how do we live without them. Trick one: allow a direct install from microsoft.com. Trick two: allow the user to install from an ISO image on another machine similar to Apple's Remote Disk but without the physical disk. Just write some software to server up ISO images. You could use multicast DNS so that there's no configuration, it just auto-discovers available media on the local network.
5. Stop worrying about piracy; you're only pissing people off. Seriously. No more keys, licensing, or Windows Genuine Advantage validation shit. People have about zero tolerance for being punished just because you're paranoid of losing revenue from a few customers. If you have to, think of the lost revenue as marketing your product as not fucking obnoxious.
6. Time Machine style backups to something functionally equivalent to Amazon S3. Copy Amazon's Web Service work. Then you can build amazing products on top of that infrastructure. The goal here is to have all the user's data stored on Microsoft's servers, with the hard drive acting as more of a cache. That way the user can have way more data than their hard drive can hold and they don't have to worry about managing it. All the user's documents will be automatically backed up and placed in a versioning system on the Internet in a fashion similar to Apple's Time Machine. Users don't want to buy hardware and manage it themselves. Highly skilled IT teams do a much better job. I'll explain later how you can afford to do this for all your users.
7. Nail the operating system's user experience. I've already hammered on why using an Apple style menubar is important. I also think it's important to come up with something better than the dock, which is one of the worst UI elements ever invented. Make use of the corners, which Ubuntu does really well. Clockwise from top-left it's the application menu, power menu, trash, and show desktop. Both Windows and Mac OS X fail to use all four corners. What you want to do is really worry about creating a way for your users to be able to string together one small victory after another (e.g. "I downloaded a PDF, and I didn't have anything that could read PDFs, but it downloaded and launched a reader in seconds…it just worked!"). Which leads me to my next point…
8. Autoinstall anything needed like Ubuntu. Users will be grinning ear-to-ear when software simply works. If the user really cared about which Bittorrent app they used they would install it themselves. Which is why users don't really care about what software they use to accomplish a task. Take care of this for the user. The average person wasn't meant to figure this stuff out on their own and it's just a bad experience to force them to manage software by themselves. Users want things to work and the less thinking they have to do about it, the happier they will be. Happiness is what you should be concerned with, as this quote explains how frustrating experiences are today:
Every few days some crappy software I can’t even remember installing pops up noisy bulletins asking me if I want to upgrade something or other. I could not care LESS. I’m doing something. Leave me alone! I’m sure that the team at Sun Microsystems who just released this fabulous new version of the Java virtual machine have been thinking about the incremental release night and day for months and months, but the other 5,000,000,000 of us here on the planet really don’t give a flying monkey. You just cannot imagine how little I want to spend even three seconds of my life thinking about whether or not to install that new JVM. Somebody out there is already firing up Gmail to tell me that the JVM mustn’t just upgrade itself “because that might break something.” Yeah, if the entire collective wisdom of the Java development team doesn’t know if it’s going to break something, how am I supposed to know? Sheeesh. Joel On Software, Elegance
9. Move your apps (e.g. Office) to web for free. No sane human being is going pay $300 or whatever it is you charge as apps become more web-based. You've made your money here. Move on. Besides you can charge users for storage and bandwidth on a per-month basis. Same thing for businesses with collaboration packages on a per-employee, per-month basis. You'll make more in the end. How many companies can I think of still running Office 2003 (or even 2000)? Oh yeah, all of them.
10. Decide on a regular and quick release schedule. Hey, it works pretty well for Ubuntu, although you don't have to be as aggressive as six months. I'd shoot for 12-18 months. 60+ months just isn't going to cut it. Don't ever pull that shit again. Ever.
11. Do sassy advertising; I know you guys have a sense of humor. Be edgy, stick it to the guys who have been tearing you apart. People should be laughing so hard they aren't physically able to send the YouTube URL for your commercial to their friends. I can imagine a nice, sassy marketing campaign sticking it to Apple about their "Think Different" slogan.
12. Hire some young charismatic executives and put them front and center. You're not going to find Steve Jobs, but you can do better than Bill Gates or yourself (although that remix of your little "developers, developers, developers" speech is entertaining, in a sad way). Here's how you should measure success: if there aren't any rumor sites about your new OS, you haven't succeeded.
Bonus Points
Embrace standards and go totally open source. Don't waste time on something just because you didn't build it. Use what's out there. And if you contribute back to the community you'll be buying goodwill for your brand.
What about the bottom line?
OK, I know what Steve is thinking at this point. How the fuck am I going to make any money off this? Right, I've got an idea. Give this futuristic OS away for free. Totally free. It'll be brilliant. Wait that didn't involve money going into Microsoft's coffers. Oh yes, charge for bandwidth and storage your customers actually use. Amazon Web Services style. Backups, system installs, restores, and saving those Office documents. Charge for the storage usage and bandwidth used every month. You can probably charge more than you tried to for Vista. People will love it and not even notice you're making more money than before--nobody likes to pay $200+ at once. For example, XP cost $200. It lasted for six years (2002-2008). This equates to $33 per year for Microsoft. If you just charge for bandwidth and storage at a rate of $5-20 a month, you're making anywhere from $60 to $240 a year. That's more money for you, as well as happier customers with better experiences.
What do I want to do today? Use an OS like what I just described. If anyone can deliver it, it's Microsoft. Apple's the only other player and they just don't really get the Internet. Then again, nobody really does.
Maybe I'm just crazy…thinking that it's possible Windows 7 could actually be the second coming.
So, when is the future going to arrive Steve?
Thanks to Annie and Adam for reading drafts of this!



