Showing posts with label blackcomb. Show all posts
Showing posts with label blackcomb. Show all posts

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.