Showing posts with label vienna. Show all posts
Showing posts with label vienna. Show all posts

Microsoft Gives a Month for Seven

Okay, it's time to revisit Windows Seven Dates and my Vienna Timeline. Network World reports (see also the slashdot discussion) that Microsoft is now putting a specific month to their projected release date: January 2010.

Of course, that doesn't mean it'll actually be available in January 2010. Haha. No. In the first place, the date can and probably will still slip a bit. In the second place, new versions of Windows are never actually available to the public on the official release date. No, they become available only to select partners on the official release date. (Select partners, in Microsoft parlance, are the large multinational megacorporations whose Software Assurance licensing allows them to install any version they want, any time they want, on any computer they want. Typically the IT departments of these large corporations would never in a million years actually deploy a brand new release the same year it comes out. Most of them have only moved from Windows 2000 to Windows Server 2003 and Windows XP in the last few months; some of them still haven't.) Actual availability to the public comes several months later. That's how it was with Windows '95 (officially released in December 2005; not available until 2006), Windows XP, and Vista. There's no reason to believe Seven would be different in this regard.

Nonetheless, their putting a specific month on their release prediction is significant. Very significant. There's a lot less wiggle-room in a month than there is in a vague projection like "early 2010", and in the past Microsoft has usually not projected specific months until they're legitimately close to having something they believe they can bang into release-quality shape in approximately that amount of time.

If you look at my timeline, it doesn't call for a specific-month release projection until 2016Q2, less than a year from actual release in 2017. Going by just that alone, one could be excused for concluding that my timeline is off by eight years.

I don't think my timeline is off by quite that much. For one thing, even if Microsoft actually comes out with the product in January 2010, that's only seven years ahead of my timeline. Furthermore, the projection in question on my timeline is for a release date only two quarters forward from when it's projected; as of now January 2010 is still six quarters out, three times as far into the future. Historically, the further into the future a projection is, the more room there is for it to still be pushed back. I fully expect Microsoft to push back this release date at least once yet, and then on top of that I expect them to release to select partners only, buying a few extra months before actually shipping the new OS to the public.

Still, this caught me off guard, and I'm now very much convinced that my timeline is overlong, and that Microsoft will beat it by several years. Also there have been fewer feature announcements than I predicted, and I believe this is significant: Microsoft actually learned from the Vista development experience and is aiming somewhat lower for Seven, no doubt deliberately. More realistic goals, less wasted time. My timeline was written with the assumption that they had not learned this lesson, but it appears now that they have. Which is good, for Microsoft and for their customers.

Seven Dates

In light of a couple of recent items in the news (see also slashdot coverage), I'm going to say a few words again about the Windows Seven Development Timeline, as previously discussed here.

First, let's get that story about the XPHE extension out of the way. This is actually official info, but it's nonetheless irrelevant to my timeline. Because of the way it only applies to special (ultra-portable) hardware, this extension would mean nothing for mainstream computers even if it included the pro edition, which it doesn't. Id est, this is not a story about Microsoft changing its operating system plans. Like most systems, the latest version of Windows requires beefier hardware than a several-year-old version. That's normal, and because hardware continuously improves it's mostly no big deal, though of course people whine about it a lot. (Remember DOS? It can run comfortably on a system with a single-digit-megahertz processor and RAM measured in kilobytes. XP isn't quite that old and lean, but it's older and leaner than Vista.) So this is just about ultra-portable hardware not being up to the specs of a modern desktop.

Now, on to the more interesting stuff: dates.

The soundbyte you keep hearing is "Sometime in the next year or so we will have a new version." That's from the horse's mouth, but the words "or so" are, IMO, rather telling. Microsoft presumably wants you to think, or at least hope, that "or so" means something like "plus or minus a couple of months", i.e., that the new version would be out sometime in 2009. But the words "or so" could just as easily mean "or two, or three, or more... you know, schedules change as things progress". Which IMO is probably what it will eventually turn out to mean.

CNET was told (by a MS representative, they say, and I have no particular reason to disbelieve that) "roughly three years from Vista's January 2007 debut". That would be 2010Q1, closer to two years than one from now -- and again, "roughly" is an important word. The person who's saying this knows, or at least suspects, that that date will slip (as all release dates tend to do, and not just at Microsoft).

So then, looking at my Windows Seven Development Timeline, there are a couple of different places this announcment might fit, though none are a very good fit. The 2011 Q2 announcement (predicting a release in early 2012) seems too close (that's a clear less than a year prediction, and this is more like 1-2 years). The 2008 Q2 prediction is a little far out, and in any case we really already had that one, over a year ago (yes, it was ahead of my schedule). So I think the current prediction identifies most closely with the 2009 Q4 prediction (second half of 2011), which is more specific than this one, but seems to be of the right general duration.

As best I can figure, that places Microsoft about six quarters ahead of my timeline, give or take (depending on how you interpret the technical announcements, and whether Dev Corvin has actual information or is just making stuff up). That's a year and a half! If this progress keeps up, Seven could have a shorter (real) dev timeframe than Vista did, which would bring my predictions up short (not that that would be a bad thing).

So now we're looking for some non-date announcements: something about security, something for developers, and something related to the internet. (Actually, all that talk about Live could potentially qualify for the last.) Those are listed for 2010 on my timeframe, so if they come in the next few months we'll definitely be ahead of schedule.

But let me be perfectly clear here: if Seven is actually available to customers in 2010, I will be absolutely flabbergasted. There's a reason my timeline shows the date being pushed back repeatedly. Six quarters ahead of my cynical schedule would ultimately mean release in mid-2015, and if they keep gaining quarters at that rate (six quarters off my timeframe for every five that pass) they could potentially make 2012. If they short-circuit the last couple years of my timeline entirely they could maybe even make 2011. But that's wildly optimistic. 2010 would mean they were meeting their own estimates, which as far as I'm aware has never happened in their entire history as a company.

Dropping Binary Compatibility With Previous Versions

Apple did this in 2000. At the same time, they also completely scrapped their old codebase, a move that was long overdue. The old Mac OS didn't have real multitasking, a sane framework for non-GUI programs, memory protection, ... in short, it was in much worse shape than Windows, technically speaking. Apple had concentrated totally on the UI, and that was not sustainable. UI is important, but you have to have a strong foundation to build it on.

Anyway, my point is, while Apple needed to make huge changes, and Microsoft can probably get away with smaller changes, dropping binary backward compatibility with old system libraries is something every OS has to do periodically. Only, until now, Microsoft has only done it gradually, piecemeal, and by accident. (If you try to run software designed for a long-dead version of Windows you'll discover what I mean. Little things will just not quite work right.)

As this article notes, the attempt to retain binary backward compatibility across multiple versions costs something. Now Microsoft wants to free itself from those costs, as Apple did with the release of OS X.

Most Unix systems don't incur these costs in the first place, at least not in the same way, because they don't worry so much about binary compatibility. They don't need to, because they have source compatibility. In an enviroment where you have the source code for everything anyway, you can just recompile as necessary when you upgrade to a new version of the core system. (Take this philosophy to its logical extreme and you get Gentoo, or the BSD ports system, where the user's system recompiles everything from scratch, locally, every time they upgrade anything. But the distributor can also pre-compile the software for each major version of the OS and make pre-compiled versions available, which is what most distributors do, because it makes upgrades faster for the user.)

But Apple and Microsoft both rely heavily on proprietary third-party software, for which source code is not available, except to the ISVs who produce the software -- and they cannot always be relied upon to do any porting, especially not punctually; Apple had significant trouble getting Adobe to finally support the new version, and they still haven't moved to Cocoa, most of a decade later. Microsoft doesn't rely as heavily on any single ISV as Apple does on Adobe, but that's only because the stuff they rely on is spread out over a larger number of ISVs. So they have to think about this issue.

The logical solution is to do what Apple did: supply an emulated old-version environment for running old-version software, with all the performance penalties that implies. Software that is updated promptly can be run natively, with the advantages that go along with that. I don't think they can afford to do this every major version, but at this point they're well overdue for it.

Whether they'll actually do it is an open question. I don't know whether Dev Corvin actually has any significant inside information, and of course it's so early in the Windows Seven development timeframe at this point that any decision that's made can potentially be changed several times before release. Nonetheless, it's an interesting point.

Whether (and how) this figures on my timeline is also another question. Assuming it's a for-real announcement originating from Microsoft, it would be a fairly sweeping technical announcement of the general type that my timeline has slated for 2010. But it's not related to security, and there was only one sentence about how this sort of thing is good for developers, and it's not clear that even that sentence necessarily means third-party developers. So I'm not sure there's a specific timeline entry to pin this on.