Gates' Replacement says Microsoft Must Simplify 405
Javaman59 writes "This article in The Australian newspaper describes the background and the agenda of Ray Ozzie, Bill Gates'
replacement as chief architect at Microsoft. The creator of Lotus Notes, he's
a high-calibre technologist.
From the article: 'Ray's a programmer's programmer .. He's much closer to an uber-engineer, whereas Bill hasn't been a programmer for a number of years.'
Ozzie is also driving Microsoft to simplify its software: 'Complexity kills .. It sucks the life out of developers, it makes products difficult to plan, build and test, it introduces security challenges, and it causes end-user and administrator frustration.' He's not the only brilliant programmer in the world, but he does have Microsoft's resources behind him."
He is not a programmer's programmer (Score:3, Insightful)
Windows Admin Tools [intelliadmin.com]
If Complexity Kills.... (Score:5, Insightful)
Then there are probably few survivors at Microsoft. Ozzie has his work cut out. You can brag about Lotus Notes all you want, but that was developed from scratch when you can make the proper design decisions. But with Windows being bloated and out of control, you just can't clean it up and make it more simple... can you? It seems like there putting to much faith in Ozzie... like a silver bullet. Gonna be tough to undo years and years of neglect.
http://psychicfreaks.com/ [psychicfreaks.com]Re:He is not a programmer's programmer (Score:4, Insightful)
Blotus Notes (Score:2, Insightful)
Re:He is not a programmer's programmer (Score:4, Insightful)
So what you're really saying is that he's not an internal help-desk worker's programmer, because none of your points really demonstrated that he was a bad programmer, just that you didn't enjoy supporting the software from his company.
I think the guy might be a good fit. It's actually refreshing to see them going out and getting some new blood. They have a history of being a very inbred company, after all.
Re:He is not a programmer's programmer (Score:5, Insightful)
MS Resources come with bagage! (Score:1, Insightful)
Re:If Complexity Kills.... (Score:3, Insightful)
Heh, which part of Notes looks like it was based on proper design decisions?
-matthew
Simpler times (Score:3, Insightful)
FWIW, any time I find it all overwhelming, I reach for my trusty copy of 'Programmers at Work' by Susan Lammers. Many of the great programmers are here along with the stories of how they created much of the basic building blocks we take for granted these days. Almost without exception, their ability to convey ideas in a clear and concise way is inspiring and after reading a few sections, I'm all fired up again and ready to cut code.
Re:who'da thunk it? (Score:3, Insightful)
Re:He is not a programmer's programmer (Score:3, Insightful)
Unless, of course, you were describing your experience with pre-1995 Notes.
Re:He is not a programmer's programmer (Score:5, Insightful)
Re:Huge Mess For Whoever Takes Over (Score:1, Insightful)
Yes, the massive number of shares they have issued to fuel growth is coming back to haunt them. As the stock continues to decline Microsoft is being forced to keep upping their dividend. Microsoft's billions in cash don't look that infinite when you do the simple math on what it takes to give a good return value every quarter to the ~10.5 billion or so shares
> 3) Revenue growth continuing to slow
This is the big one. People keep hearing that Microsoft had their biggest quarter ever, but the real health of a company is revenue growth rate. Last time I checked Microsoft's revenue growth rate was all the way down to 6 or 7 percent down from somewhere in the 20s I believe a few years ago. There is nothing to indicate that trend down won't stop and that revenue growth will turn negative for the company sometime soon. That will most likely be the most or one of the most significant days in the company's history.
> 7) Attempts to create new revenue streams have been failures like the Xbox/Xbox 360 marketplace disasters
I would imagine that whoever takes over at Microsoft will kill off the Xbox mess immediately. Should have been done years ago.
> 8) Can't attract/keep good employees now that the stock is no longer going up
Yep, Microsoft was able to avoid paying big salaries due to the massive amount of stock and the constantly rising stock price. For the vast majority of employees at Microsoft, if your options aren't going up you are getting paid pretty poorly compared to what you could be making at other places.
I think we are most likely going to be seeing a long list of people who are brought in to fix Microsoft over the coming years as the company shrinks from what it once was in the computing world. Even modest hits to the office software and OS revenue streams will bring massive changes to the company and how it operates.
Re:If Complexity Kills.... (Score:5, Insightful)
They used to say the same things about Mac OS 9 and Netscape Navigator 4...
Re:He is not a programmer's programmer (Score:3, Insightful)
Complexity (Score:3, Insightful)
Windows is like a house of cards made from million decks, so many co-dependancies. It's why Vista has taken so long and will continue to cause problems.
The only thing to do is 'rip it up and start again' but they can't do that because of 1) time 2) losing customers by the millions along the way, so they carry on regardless and hope for the best.
Apple was in the same situation with Copland and it almost killed them too. Eventually they bit the bullet, trashed it (re-used some sections and ideas), provided the carbon bridge for transition/migration, and bought in proven code (BSD/Mach) and just worked on the GUI experience. This rescued them with literally months to spare before the big bad complexity monster ate them up. Genius, IMO.
Surely, at this late stage, they're can be no doubt that *nix won the OS wars?
Quote... (Score:5, Insightful)
Re:Good plan! (Score:3, Insightful)
I'm not sure if I buy into the idea that "most applications are textual in nature" but even if I did, I don't see how the CLI interface has anything to do with how well an application can process text.
Interesting parallels (Score:3, Insightful)
Hmm, is this quote from Microsoft after the development of Windows 2000 concluded, or when in the finishing touches of Vista.
They're confusingly similar [winsupersite.com] anyway:
So... Microsoft learnt from their mistakes in Longhorn? No, wait a minute!
The next OS shouldn't be as monolithic with things breaking in their own products, or even worse, OS, as soon as they apply a patch.
So now you know what you can expect in Vista -- more of the same?
A funny thing in all this, and a constructive suggestion instead of just whining, is a request for Microsoft to offer install-time choices. Sure, there should be a "novice installer mode" like Vista (and XP) currently features where at the very start, one can say "I'm an idiot, install the OS" in prettier wording. But what about advanced users? Shouldn't they be able to exclude stuff they don't need. Maybe then, *gasp* they won't be subject to security exploits in these non-installed components either.
Turning around a tanker... (Score:3, Insightful)
Even if he were a brilliant programmer (which I think he's not), he still has the extreme inertia of the Microsoft entrenched culture to deal with. This isn't the Microsoft that reacted quickly when the Internet sneaked up on them in the 90's, this is a bloated Microsoft that has as its main goal the protection of a deteriorating monopoly. This is a Microsoft that has not seen a successful, profitable new product in many, many, many years.
Yes, it would be simple. (Score:5, Insightful)
Some difference would be fine because they could just call it 'compatability mode' and people would live with the slight kludgeness. They don't have to allow any new drivers in the images, as they have a fixed target. This would prevent people from moving the image to other machines.
The beauty of this is that VirtualPC is already semi crossplatform.
Re:Good plan! (Score:3, Insightful)
Oh sure, DOS was easy to work with. Do you remember trying to free "conventional memory" so you could run a certain app? Or trying to get access to any RAM beyond 1M? Some programs used "extended memory." Some wanted "expanded memory." Some wouldn't run with EMM386 loaded. Some required it. It is a good thing that DOS 5.0 (I think) introduced multiple boot configurations, because I needed them. I had to reboot my computer differently depending on what I wanted to do with it that day. And talk about braindead shells.. COMMAND.COM? WTF? Somebody wrote that in like 1981 and it was never updated since. Granted, I kinda got a kick out of "hacking" DOS back in the day. But I'd hardly call it easy to work with.
Well, if DOS is your model for an ideal system, Linux will be heaven for you. I'm surprised you haven't moved to Linux already.
-matthew
Re:He is not a programmer's programmer (Score:2, Insightful)
MS has very little room to change (Score:3, Insightful)
I strongly suspect the Gates decided to bail now while Microsoft is at it's peak. I figure he knows what is going to happen in ten years.
Re:From the horse's... uh... well... (Score:5, Insightful)
I'd seriously consider taking that bet.
I submit two simple points for consideration.
I think it's been widely acknowledged that the biggest problem with MS is the sheer scale of what they've tried to do in recent years. There's little experience in the industry of how to develop projects on the scale of Windows or Office effectively, no handbook of how to keep the bug count down and avoid introducing security flaws, performance hits, or whatever other scalability problems in software with dev teams of the size they use.
With that in mind, I find it strangely reassuring that the first comments from the new guy at (almost) the top involved simplifying everything down to reduce the dangers in these areas.
Re:Huge Mess For Whoever Takes Over (Score:2, Insightful)
Really?
Leading a company when it's going good is something anyone can do, it takes minimal effort. It's much more of a challenge to lead a company when "the shit has hit the fan" so to speak.
And some people, belive it or not, actually like challenges
Re:Good plan! (Score:3, Insightful)
DOS was still easy compared to Windows. I'd much rather hack memory limitations than fix registry problems any day. Next time somebody drops a machine on your desk and complains that Windows blue screens on boot, remember how easy it was to fix a DOS machine.
Re:He is not a programmer's programmer (Score:4, Insightful)
Funny, Picasa works very different from any other Windows program and yet newbies catch on to it almost instantly.
Re:He is not a programmer's programmer (Score:2, Insightful)
Re:He is not a programmer's programmer (Score:3, Insightful)
Re:If Complexity Kills.... (Score:3, Insightful)
What worked for them with OSX was basically scrapping everything before and starting over. They saved themselves a lot of time by borrowing a lot from unix and nextOS, and reproduced some of the aspects of OS9. A layer of backwards compatibility was sort of hacked over the new OS, but it wasn't integrated into the new, it was really its own thing.
Apple succesfully did what MS needs to do. They made a clean break with the past, knowing that although it might cause some problems up front, in the long run, it'd be for the best.
It's a much more daunting task for MS, no doubt. The installed base of users, developers, and software is much larger than what Apple was dealing with. But then again, MS has much more resources than Apple, and I'm sure they have plenty of brilliant engineers. If the management will bite the bullet and accept that they need to start over, they could get it done.
Oh, and from what I've read, the mozilla project of today has very little in common with the netscape of old.
Re:He is not a programmer's programmer (Score:2, Insightful)
Re:If Complexity Kills.... (Score:5, Insightful)
* the demand for portable apps will grow (apps like OpenOffice and Firefox look a lot more attractive since they can be phased in slowly)
* the demand for portability programmer skills will grow (programmers who know Vista, VistaNG, Linux, and Mac portability will have the edge)
* the migration effort will be compareable to switching to a non-Microsoft alternative, so why not investigate them, especially if you're starting to use portable apps?
I'm not sure if you were around in the early 1990s, but back then Borland ruled to developer tools world. Microsoft wasn't even close. It wasn't just Turbo Pascal. It was also in the C++ arena with the OWL 1.0 framework that made Win32 programming a lot easier (although it used a proprietary C++ extension to get things done). Borland decided to make their next version of OWL standards compliant. It was a beautiful MVC architecture that was head and shoulders above thin kludgy MFC. However, OWL 2.0 was completely backwards incompatible with OWL 1.0 and the more standards compliant C++ compiler couldn't compile OWL 1.0 programs. At that point, companies revolted. OWL 2.0 was the right idea, but since companies had to migrate anyway, they chose to migrate to the inferior (though more API stable) MFC. VistaNG could face a similar revolt too if it make migratiting to it too painful.
Here's an alternative that's a lot more likely to me.
* Microsoft ships Vista.
* Microsoft starts writing a new high performance core from the ground up or takes the FreeBSD core or the Darwin core (since they can reuse the Mach experience) and adds its new and improved Windows API layer above it (that API might even be completely written in
* Microsoft ports all their apps to the new VistaNG API
* Microsoft writes a WINE-like app that uses their new cleaned up API layer in order to run Vista apps.
The consequence of this are:
* VistaNG apps run fast and programming for VistaNG is a lot nicer than Vista
* Most Vista apps run smoothly on VistaNG (at a slight performance and memory penalty)
* People who want don't care about backwards compatibility will not have to deal with the bloat and cruft, while those who do, can get it.
* At some point in the future, (2 releases after VistaNG), Microsoft can throw out the VistaNG layer or just let the code break over time, like they have with the Win16 API
Re:If Complexity Kills.... (Score:2, Insightful)
What worked for them with OSX was basically scrapping everything before and starting over. They saved themselves a lot of time by borrowing a lot from unix and nextOS, and reproduced some of the aspects of OS9. A layer of backwards compatibility was sort of hacked over the new OS, but it wasn't integrated into the new, it was really its own thing.
Apple succesfully did what MS needs to do. They made a clean break with the past, knowing that although it might cause some problems up front, in the long run, it'd be for the best.
Of course, Apple didn't have a monopoly to risk losing when it took this course of action...
Re:If Complexity Kills.... (Score:3, Insightful)
No, they had a small and diminishing market share they risked alienating, in the face of free competitors and a monopoly.
And they still managed.
Re:He is not a programmer's programmer (Score:5, Insightful)
Give me another company that uses it for 60,000 employees and you'd have a point (not saying there is no such company, I have no idea.)"
Here is my experience with a large (I think it was probably in the 60K range or better) company running Exchange/Outlook: Yes, they do it, but they don't do it well.
You have some company information stored on file servers, other information stored in Outlook folders (or maybe the proper terminology is Exchange folders). None of it is indexed in any way so that it can be found without a brute force search. Some of these folders are out of date and pretty much read-only because they don't want to hire a team of gatekeepers to ensure that it is otherwise. Other folders are more up to date by allowing just about anybody to update them, which occasionally leads to them being updated with bad info or being wiped out altogether: "Let's see, was the last backup done recently? Did any important changes happen after that? Oh well, maybe it wasn't that important. Just to be safe, I'll load a copy of everything I might ever want to use onto my company laptop and take it home, leaving it in plain view in the back seat of my car for a few weeks. Ooops, now where did that laptop get to? I wonder if it would be better to report it stolen or just forget about it. Those company inventories aren't very reliable anyway, after all, they keep the results in a public Exchange folder. HAHA!"
The inmates are running the asylum in many corporate DP shops these days, both large and small, and we have Microsoft (first among many) for providing idiotic tools for idiots to use to so efficiently mishandle important data. I don't see anything changing soon, with kids in grade-school now being required to turn their homework in as Powerpoint presentations.
The PC paradigm shift that allows us all to do things with computers at home has infected the thinking of most companies these days, simply because so many new employes of such companies got their computer education using home PCs for both personal and school work/play. They don't know any better, they don't know any different, and if you try and explain it to them you just get a blank stare, or worse, a "knowing" argument, that as long as we "encrypt some stuff" all will be OK.
I predict the inevitable collapse of much of this infrastructure. I'm not Ludite enough to avoid using computers, but I'm going to avoid being at the epicenter of it all by not using Windows and much Windows based software whenever I can avoid it. My exposure to Notes mostly second hand, observing a friend use it where he worked, was that it handles workflow issues a lot better than Exchange. If it works the way it appeared to work, then yes, it would be harder to administer, because it does more. There would be concurrency and validation issues that Exchange handles by ignoring them.
I bet what brings Microsoft to its senses more quickly than a change at the top will be a change in the way home users use their computers. Yes, today grade school kids may be submitting homework in Powerpoint on floppy disks, but tomorrow they may be using a web based tool and not know what a floppy disk is. Those web based tools will have to deal with validation, backup, encryption and a few other things in order to even be viable solutions. In the mean time, local PC oriented programs will not have changed in any fundamental way since the days of DOS.
Whether it takes a disastrous collapse of this bad infrastructure, or just a generational change, back really, to robust centralized server solutions, there will hopefully be a day when people look back at our day of data loss and corruption and laugh and ask themselves: "What WERE they thinking?"
Re:He is not a programmer's programmer (Score:3, Insightful)
That's exactly right, painful though it is (Score:5, Insightful)
Re:He is not a programmer's programmer (Score:3, Insightful)
It really isn't all that complicated, except when you are totally green. After you've had a few under your belt, the process is automatic. It's a bit cumbersome, but not unmanageably so because the routine is exactly the same every single time.
And there's a good reason for the routine.
The only thing that's somewhat complicated is that you generate and ID file and have it signed by the administrator. The process is inherently a bit cumbersome, becuase it's about accomplishing what needs to be done with the mininum posisble trust as opposed to the minimum possible fuss.
Systems that are designed for the minimum amount of fuss necessarily trust somebody more than they ought to. For example a typical password based system allows an administrator to temporarily assume the identity of any user, access/modify any of the data the user has secured with ACLs and encryption, then then cover up his tracks. The extra fuss in Notes means that it's much harder for an admin to do these things. The admin not only never knows the password of the user, he cannot impersonate the user without considerable risk of detection. He can change the user's ID file in the directory, but he'll invalidate all the user's signatures, and any signatures he creates will be invalidated when he covers up his tracks. At no time will he have access to anything the user has encrypted, unless he knows the user's password (which he has no reason to know and now power to change).
What you get in return for a small amount of routine up front fussing is, in your basic email set up:
* two factor security
* digital signatures
* public key encryption
* ability to delegate softare installation and account generation without delegating full administration.
* options for managing account theft beyond locking the account or changing the password.
These benefits intrinsically involve more up front work than just setting up an account and relying on the client software to be installed from the same media the word processing software.
Over time, email is becoming less and less useful, because it is so untrustwo
Re:If Complexity Kills.... (Score:3, Insightful)
It is, but it was written under the assumption that at some future date, the .NET framework could essentially live in its own NT subsystem and would not be dependent upon the Windows subsystem at all. That would leave out all of the horrible Win32 security and compatibility nightmares that make working on Windows such a headache.
I think you will see a future version of Windows where Win32 is effectively a compatibility layer, similar to "Mac Classic" running on OS X. It will be there for backwards compatibility, but if you're running only native .NET apps it would never even be loaded...
It's a transition that would take years to complete, but Microsoft has shown it is willing to sacrifice some backwards compatibility in order to simplify. For instance, the 16-bit compatibility layer is gone on 64-bit Windows.
Re:If Complexity Kills.... (Score:3, Insightful)
And they were right. That's why MacOS X and the new Mozilla were both complete rewrites as far as the core functional components (kernel / rendering engine) are concerned.