9
J
u
n
e
2
0
0
6
Brainstorming Beyond Bill: The Future of Microsoft
C’mon, who seriously took Bill Gates as Chief Software Architect? Okay, so Microsoft is 30 years old, so some software skills might have been acquired during that period. Consider though that MS-DOS, the piece of software that got Microsoft started was something that neither Bill or Paul Allen wrote. It was derived from QDOS which Microsoft purchased from Seattle Computer Products. It was a lucky (smart?) purchase.
In a company that has 11 layers of management, what does a Chief Software Architect really do?
I don’t know if Bill has competent software engineering skills, because I haven’t been told, but given what I know about Windows, Microsoft’s initiatives and other applications, I’d warrant not. Why does this matter? Because he was supposed to be the Chief Software Architect. And he didn’t blog. Reportedly a conscious decision in order to give more freedom to other employee blogs, I believe this to be a major error. Sorry, but Robert Scoble never did it for me. Just imagine where Microsoft could be now if Bill had blogged, and how Vista could have been perceived outside of the Microsoft knowledge and fan bases.
But then, I’ve seen some of his publicly available corporate presentations.
Joel Spolsky writes about his first review meeting with Bill Gates and Scoble remarks that he’s “the smartest guy I’ve ever met”. Neither of those two posts convinces me. Meetings that require entire management hierarchies to be present, that over-run significantly, and that have a CEO asking about Excel date and time functions are all indicative of a lack of trust, effectiveness, responsibility and empowerment.
And what of Ray Ozzie? He has taken over from Bill as Chief Software Architect with immediate effect. He’s supposed to be ‘smart’. Ray joined Microsoft in March 2005 when it acquired Groove Networks. That’s 15 months ago. A breath of fresh air or more of the same? Microsoft needs to be genuinely innovative and passionate, without relying on purchasing, being inspired by, or following along behind other companies’ leads. Others agree here and here.
Microsoft needs to change. It needs to change its personnel, methods and products, because there are signs that Microsoft is falling apart. Perhaps this is the real reason for Bill leaving? He knows that something is going badly wrong and wants to get out before the collapse begins.
People don’t use Microsoft products out of choice, they use them because other people do. History, tradition, incompatibility concerns and management inertia prevent people from using (or even considering) alternative products.
The major opportunity that exists in software development today is the web. Google is seen as a prime competitor to Microsoft. It’s not. Google are currently throwing any tidbit of software out onto the web to see what works. Collaborative spreadsheets? That’s just plain stupid. This is more about branding and publicising Google than providing products and is one reason why Gmail is still in beta.
But the web will ensure that one of two things happens: Either Microsoft continues as a successful company because it understands the opportunities, limitations and requirements of web-based operations, or it fails, because it doesn’t. How does Microsoft change?
The two major software products that Microsoft make are Windows and Office. Windows is floundering by an obsessive requirement to provide legacy support, by trying to provide compatibility with existing hardware and software. It appears that each generation of Windows builds on previous versions, making little headway in refactoring or reducing the code base. There are so many official and unofficial APIs that it’s perhaps considered too risky to remove them. The code base of Vista is 25% larger than XP. Suspiciously, the functionality of Office increases with each iteration. I’d bet that 90% of this is unused or even unknown by 80% of its users.
But you can’t persuade people to buy a new version of your software if it merely:
- Works better than the preceeding version
- Contains bug fixes
As the period between releases increases so does the number of features deemed necessary to ensure the product gains sufficient sales to warrant its development. This is a circular dependency. These additional features appear to be arbitrarily chosen and inconsistently applied between platforms. Why doesn’t Office for Mac support database driven mail merges? And why does Office for Mac work better than the Windows version. Different development teams. Ah. Another problem.
There’s also the issue of backward compatibility. Steve Ballmer’s scary reknown “developers, developers, developers” hyperbole (which should have been “customers, customers, customers” anyway) seems to sidestep this. One aid to the future of both products is to reduce the amount of backward compatibility that is required. Developer conferences should be used to publicise or consult on the removal and optimisation of APIs. Maybe they do? But Microsoft needs to lead this. It needs to have a strategy to cut back its code base. This will upset some developers – so what? The ones that don’t wince will be those that inherently produce better products. I’d bet on this. Same with hardware developers.
It needs to cut back on its code base to be able to grow in the future, and to be ready for the day when everything will be online. Because the products that lead on the web will be those that are the most lean, specific and task-focused products. Mash-up products will then bring them together (assuming public APIs and appropriate terms of service exist), providing strategic and ad-hoc services as and when required. This will lead to, and require, more professional grade open source components and lucid interface contracts.
That’s why on-line spreadsheets are nonsense and why Office on-line is a stupid idea as it currently stands. Microsoft cannot think outside of its current product suites. Word, Excel, PowerPoint, Outlook and Access are all generic solutions waiting for problems. Generic is not what is required today.
Some time ago, I wrote about Everything Online, where I resurrect the concept of component-based documents (like OpenDoc). In such a system, client computers would be used to store and manipulate each component locally in the context of a complete document. Web servers would only be used to provide permanent storage, searching, archival, retrieval, collaboration, version control and differencing. This is a more appropriate split of responsibilities, which differs significantly from the Office on-line philosophy. And when you’re not online, you can still do work.
What about hardware development? Part of the problem behind Origami (the Ultra Mobile PC), is that it’s simply a Windows PC in a smaller form factor. Or a Windows Media PC. Or a… There was a considerable lack of innovation and vision behind its invention. Compare with, say, the original Palm, Danger Hiptop, Blackberry or the ideas behind the Nokia 770 (if not the execution). One needs to consider the entire system to satisfy the specific requirements of the problems trying to be solved. What’s the problem that Origami is trying to solve? Mobile work and life management with collaboration? And you need an entire Windows architecture for this? No way. BTW, a souped-up 770 would be ideal for Everything Online. And if you’ve read my post about what I need to work with whilst on holiday, you’ll see that I could survive happily with just a web browser. Again, it’s the correct apportionment of client-server architecture.
Getting leaner in these areas could mean at least one other thing: less staff. It could also mean more staff. Inevitably one cannot simply stop work on Windows, Office, Origami etc., to direct action to new, innovative developments. Staff will still be required to maintain and support these other products. But it’s quite likely that Microsoft would want to move or recruit smart people to the new projects. People that understand agile development techniques and agile business processes. That’s neither an eleven tier management system or a statistics based personnel review.

Leave a Reply