Four years ago, July 2007, Microsoft released the first few tidbits of information about Windows 7. Vista had just been shipped, and it wasn’t received well – both by critics and the marketplace. During these days, I argued that for Windows 7, Microsoft ought to scrap the Vista userland, and build an entirely new interface and userland on top of Windows NT, while maintaining a ‘classic’ Windows version on the side for business and other reluctant folk who want to see the ‘new’ Windows mature a little bit first. While they didn’t do this with Windows 7, they are doing exactly this with Windows 8. Ladies and gentlemen, Windows 8 is the first ‘cut the legacy’-release we’ve all been waiting for – and Microsoft couldn’t have picked a better time.
The plan that I proposed for Windows 7 went something like this: maintain the Windows NT kernel and related subsystems, ditch the Vista userland and interface, build a new userland and interface on top, and implement a virtual machine (or something to that effect) for backwards compatibility. At the same time, maintain a ‘classic’ version of Windows for reluctant users and the business world, who will generally want to wait until the ‘new’ Windows has become more mature and the applications they need have been ported.
While I proposed this plan for Windows 7, I always ended the several articles on this topic with the disclaimer that while I would like to see this plan implemented for Windows 7, it wasn’t very likely. I was right – the time wasn’t ripe. Well, it would seem that it is now, as several pieces of the puzzle have fallen into place: MinWin, the new userland and interface, relegate backwards compatibility to a virtual machine or something similar, and maintain a ‘classic’ version of Windows.
MinWin The Mystical Unicorn
Back in those days, barely anything was known about Vista’s successor. All we knew was that Vista was a pain in the butt – it was slower than XP, lacked a lot of polish, and yet, you had to pay the full price for it. At the same time, however, it had new features up the wazzoo, and basically every subsystem was rewritten from scratch. New audio and graphics stacks, new printing subsystem, new networking stack, and a whole lot more.
Soon after Vista was released, we also learned that Microsoft had started a project called ‘MinWin’ – which up until this day takes the prize for Most Often Misunderstood Technology That In Reality Wasn’t Really That Complicated To Understand To Begin With. Wild stories of new kernels, new operating systems, and magical fairy-dust farting unicorns surrounded MinWin, while in fact, it was ‘nothing more’ than a multi-year project to untangle the spaghetti Windows NT codebase.
The MinWin project was about cleaning, reorganising, and restructuring the Windows NT codebase. Microsoft’s kernel engineers wanted to end up with a small, core windows NT kernel that didn’t have any outward calls upwards the stack, with the ability to stack horizontal layers on top, thereby completing the entire stack. It would seem that with the announcement yesterday of Windows 8, this process has been more or less completed.
This is the first piece of the puzzle.
Them tiles
The next part is the creation of a new userland and accompanying user interface, and yesterday we got our first taste of that. Not entirely unsurprising, it’s a combination of ideas taken from Windows Phone 7, Windows Media Center, and the Xbox interface, mashed together and adapted to the different screen sizes and form factors. While this new Metro-based interface looks incredibly useful for a tablet, I’m not convinced it’ll work equally well on a desktop or laptop, but time will tell – you can’t judge an interface through videos and screenshots alone.
Apart form the user interface, Microsoft also revealed a little bit of information about the new APIs that power this new userland and interface. It’s supposedly using HTML5 and JavaScript, and while Larson-Green and Sinofsky wouldn’t really dive into it, you can bet your sweet bum that it’ll offer additional environments like .NET, XNA, Silverlight, and so on, as well. I’m pretty sure all the details about how to handle all this haven’t been set in stone just yet, so it makes sense for Microsoft to remain tight-lipped about this until all the details have been decided upon.
All this means that your one application can carry multiple interfaces and be run on phones, desktops, laptops, tablets, and the Xbox. This is a considerable leap forward compared to what the competition has to offer. A single application store that serves PCs, tablets, phones, and possibly the Xbox – a developer’s dream venue.
This entirely new userland and interface do not rely on any of the ‘classic’ user interface elements like the start menu, the taskbar, or even windows. As a Windows Phone 7 user and a total Metro groupie, I have high hopes for what Microsoft is doing here – assuming a mouse and keyboard work equally well as input devices as touch does. Multitasking is also a concern – sure, tiling two windows next to each other is nice and new for tablets, but it all looks incredibly cumbersome for getting some real work done.
Anyway, the new userland and interface make up the second piece of the puzzle.
Don’t look back in anger
Part of the reason why Microsoft has been so successful in maintaining its market share – despite security problems and Vista – is that users want to use their applications. This applies doubly so to the enterprise world, where replacement cycles are long, budgets are tight, and constant re-training is not an option. Backwards compatibility is a major part of Microsoft’s Windows strategy, but it has come at a price.
Up until Vista, Microsoft was unable to really push Windows forward. The code had become such an entangled mess that every little patch had the potential to break things on every level of the stack, so Microsoft had to perform lots of testing to ensure that individual applications wouldn’t break. If small patches were already problematic, you can imagine that large-scale, sweeping changes were out of the question entirely.
This problem needed to be addressed, and MinWin was a major part of that. By cleaning up every layer of the Windows NT operating system, Microsoft’s developers could more easily make changes, and improve Windows at a more rapid pace. Now that the MinWin project seems to be complete, Microsoft can finally move all the legacy stuff into a separate container, or, as Ars calls it, ‘ghetto’.
There are no technical details at this point, but judging by yesterday’s demo, it’s pretty clear that the new user interface is not dependant on Explorer. The new interface is not a program that is launched after the classic Windows explorer desktop has loaded. I think Microsoft has turned the entire classic Windows Explorer desktop into a program that is launched when (and only when) a classic program is launched. In other words, all the things that classic Windows programs need in order to run are now contained separately from the new userland and interface.
I think this is what Larson-Green meant when she said that if users don’t want to see the classic Windows environment, they simply shouldn’t run classic applications. While Windows 8 will contain the legacy Explorer environment by default, it won’t actually run until you launch a classic application. This makes perfect sense too – Microsoft is aiming Windows 8 for tablets, and with batteries being as limited as they are, Windows 8 can’t afford to run both the new interface and the Explorer interface simultaneously all the time.
All the work done as part of the MinWin project has allowed Microsoft to turn the Win32 environment into what it was supposed to be from the beginning: a self-contained Windows NT subsystem, equal in status to the OS/2 and POSIX subsystems – integrated into the operating system from a user point-of-view, but self-contained from a code point-of-view. While Win32 was always supposed to be such a self-contained subsystem, it grew like weeds over the years, causing it to become intertwined with other parts of the operating system. MinWin solved this.
This way, Microsoft has managed to finally solve the backwards compatibility conundrum, in quite the elegant way, code-wise. It took the multi-year MinWin project to get there, but it’s finally here: all the legacy code in Windows has been isolated, and can be removed if necessary. It will be installed by default in Windows 8, but I’m fairly sure it will be an optional installation by the time Windows 9 arrives.
This is the third piece of the puzzle.
Windows 7 Professional Legacy CE Edition Ultimate Compact
And this brings us to the fourth and final piece of the puzzle. A big problem with revolutionary (compared to the prevous version, that is) new releases is that many people are reluctant to adopt something new, with, again, the enterprise being very important in this regard. They need to be able to buy a version of Windows that they want, but which isn’t the completely new version. This is where Windows 7 comes into play.
Back when I originally proposed my plan, the classic version of Windows would’ve been Windows Vista, and that was problematic. Businesses didn’t want Vista when it was new, and there was no indication whatsoever that this would’ve changed a few years down the line. Windows Vista had an awful reputation – partly deserved, partly exaggerated – and nothing would’ve changed that. Vista simply didn’t have the shine to serve as a legacy version of Windows.
With Windows 7, the situation is entirely different. People love Windows 7, it’s been very well received, it’s selling like crazy, and unlike Vista, business are adopting it. This means that Microsoft can safely put out Windows 8 for the adventurous users, while still being able to successfully market and sell Windows 7 to the enterprise world for years to come. Windows 7 is a fine product, and I’m sure Microsoft will be more than happy to sell it to you or your business if you so desire, while actively promoting Windows 8 and its fancy new interface to the outside world.
This is the fourth, and final, piece of the puzzle.
It’s been a long road, getting from there to here…
This is it. All the pieces of the puzzle have fallen into place. Us geeks have been hoping for a long time now that Microsoft would radically overhaul Windows, and now we’re getting it. The backwards compatibility problem has been solved, a new interface and userland created, and a good, stable, and loved legacy version of Windows is readily available. The perfect storm for Windows.
Where will this road lead after Windows 8? I strongly believe that Windows 8 is the transitional release, between Windows ‘classic’ and Windows Tile – for Windows 9, I would expect the Explorer environment to become an optional install. Whether or not Windows 7 will still be available by that time will largely depend on how well developers adopt the new Windows 8 APIs. However, since there are already 20000 Windows Phone 7 applications – despite the supposedly slow sales of WP7 – I would say that Windows 8 is going to do just fine.
Am I excited for this release? Well, I kind of am. I love how much innovation is going on in the computing space right now – GNOME 3, Unity, KDE4, the iPad, and now Windows 8. The only one seemingly left behind at this point is Mac OS X, which, like iOS compared to Windows Phone 7, will look archaic and quaint alongside all the modern and innovative violence from Windows 8 and the Linux world. Apple will have to really get out of maintenance mode for Mac OS X after Lion.
Good times to be an operating systems nerd, this.
There’s a big difference between changing the default shell and recommended APIs and removing the legacy cruft.
Make no mistake, the “new” so-called legacy free Windows 8 will not break compatibility in any significant way with things that worked in Windows 7 (or Windows 3.1, for that matter). There won’t be a big break in the way that Apple likes to do.
You really didn’t read, did you? You saw the headline, skimmed the teaser, and commented.
No he didn’t Thom. The problem is that you believe this to be something that it just isn’t and to be honest, you come up with this nonsense every single time about new versions of Windows because you buy the soundbites whole. Once upon a time there was an object oriented OS called Cairo or something………..
It’s the exact same version of Windows with a new default ‘shell’ with the real Windows OS still underneath, untouched. That ‘shell’ they have is just that. It certainly isn’t a new operating system or even the beginnings of one and with HTML5 and JavaScript involved it isn’t even a new programming platform worthy of desktop development.
Did you think Windows Media Centre was the start of a great new dawn because it ran a new interface on top? I must have missed that article.
It’s a hastily retro-fitted mobile interface that Microsoft are running on top because they’ve realised that they need a separate interface platform that will run and can be programmed on multiple versions of Windows, and crucially, on different platforms. That really is a new thing and why they’re doing this. Aside from Microsoft being a marginal player in a market now dominated by iOS and Android where HTML5 seems to be the future and they’re having to play catch-up there rather than getting people to use their development platform. Times have certainly changed.
Really? When did I write an article like this before? Or do you mean the articles I referred to in this one, articles which specifically ended with “I hope this happens, but it will not”?
Please – don’t start lying now.
So, all the work that’s been demonstrated and documented in great detail about all the changes that have gone into the Windows NT kernel and accompanying subsystems since 2003 is all… Made up? It hasn’t happened? They’re all lies?
Again – why do you have to resort to just making stuff up?
Again with the making up of stuff! I never claimed such a thing. Why are you so desperately making stuff up?
Interesting.
Honestly, you know what it reminds me of?
Microsoft Bob, set as the default shell in WIN.INI, on Windows 3.1.
You’re isolated in this happy go lucky world, until you start a normal Windows app, and bam, you fall into the Windows environment.
Looks a bit like a mobile OS with a seemless Windows emulator in it.
No, I disagree with your casual use of loaded terminology.
What you eventually do say in your writeup is that the legacy stuff will be isolated from the rest which will allow things to move forward cleanly and pleasantly. Fair enough (though my deep seated distrust of Microsoft’s engineering abilities makes me take a wait and see attitude on that one) but you didn’t say that very clearly and not at all until halfway through.
What you chose to do was talk about how Microsoft is going to ‘cut the legacy’, which is strongly misleading at best. Is there a citation for the “can be removed if necessary” line? I don’t find it probable that Microsoft is going to do that any time soon–not until business customers will be okay with it, which means at least 5 and more like 15 years from now.
Can’t we talk about reality in a manner that is free from hyperbole and wishful thinking? At least in articles which purport to be news?
Oh, and thanks for modding me down, guys. Way to abuse moderation to suppress differing opinions. What are we supposed to discuss if I can’t say “I think this is untrue and the article’s author is wrong” in the comments?
Edited 2011-06-02 20:25 UTC
I gave you a thumbs up.
But in general people are thumbed down if someone disagrees with the opinion given instead of someone replying to it. I’ve seen very valid opinions based on hard facts and they are just modded down because they were anti-Google or disagreed with Thom.
Also some very childish and stupid comments are voted up.
Not sure if the voting has any real use. I’d still like to see the negative voted comments. Even just to see what people are replying to.
My account > Preferences > Score threshold .
Ah, thanks, I didn’t realize you could change this. Was that always there or was it introduced recently?
Now browsing at -20, because all comments are worth something.
Which is incorrect behavior and something I have been pushing back against for quite a while on this site, which is the only reason I complained when it happened to me.
Disagreement should be expressed by either replying and disagreeing or giving +1 Insightful or Informative to a reply that already expresses your opinion. That’s what discussion forums are for. We can’t let reactionary down-modders ruin things for the rest of us.
You’re right.
And I also don’t understand why one can choose between a number of reasons to mod someone up/down. I don’t see those reasons displayed somewhere when someone had a score of 5.
People who get modded down are done so because people disagree with them, not because they are trolls or post inaccurate stuff. Then again apparently if you post something someone disagrees with you are labeled a troll (if you’re lucky).
For example you are not allowed to say anything positive about Apple or be insulted, accused of being brainwashed or just a plain troll. Yet Apple appears in a lot of articles, even if Apple plays no part in the story. One might consider that trolling from the author.
It reminds me of years ago when any criticism of Linux was fought with “But Microsoft/Windows is even worse!”. Linux could get away with mass murder if Windows just made one casualty more. And now Google can do anything it wants, because Apple has brainwashed the masses.
But those mods… I’d say get rid of them because the don’t have any positive role in the discussions.
Trolling and voting are the most exciting activities on Osnews now, especially because there aren’t too many interesting topics, almost always you see the usual stuff: patents, Apple, Lunix, Windows, VP8 vs H264, fredom of the Internet, rinse and repeat. Or you see a few topics about such obscure subject that you never heard of, even if you are an IT professional.
Trolling was always exciting, but its way moar exciting to troll fanboys and advocates.
And its fun watching fanboys(Apple, Lunix, Windows) and advocates(Lunix, FOSS) fighting between them.
For Apple it depends on the thread/story. In some any positive mention is a down-mod, in others any negative mention is a down-mod.
I usually have seen that comments were being voted up when posters disagreed with Thom. Or maybe it’s a feature implemented in the site’s software?
Although I have lots of comments voted down: Number of Comments: 415 (285 voted up, 26 voted down) , I’m not feeling butthurt because of this.
Comments are a nice way to annoy fanboys – especially Lunix’s, Apple’s and Google’s.
As soon as they showed Office running in a window there was no question of them being legacy-less. Very funny to get a headline that another Windows Media Center type of shell = no legacy, though to be fair it seems like they’re at least going to try to make this shell something developers can easily extend.
have you found anything that worked in 3.1 that even works in a 32 bit version of windows 7? 16 bit apps don’t work at all on the 64 bit platform (by contrast they work just fine, in most cases, on windows 7 32 bit).
I wonder how hardware will follow these new innovations. I work with 2 monitors mainly due to the amount of work I am doing at once (honest!).
A touch interface works fine with a tablet style single monitor but i dont see how it will with 2 or more.
I appreciate that you can still use a mouse and kyb, but its not designed with that in mind so it wont be ‘natural’ or intuitive.
If you could pick a different interface for each monitor… wouldn’t that be cool?
cool != usable
(A thing PC nerds always seem to forget when the do ‘cool looking stuff’ that was never meant to be somehting else than – well – cool looking)
switching interfaces each screen/task :S
I think like many who work on two screens I have an extended desktop split between the two, generally SQL client, email and reference docs on one and browser and other config items on the other. switching interfaces would drive me insane!
I think that in 2015, we will see an article staring like this:
“Four years ago, June 2011, Microsoft released the first few tidbits of information about Windows 8. Windows 7 had just been shipped, and it was received well – both by critics and the marketplace. During these days, I argued that for Windows 8, Microsoft ought to scrap the Windows 7 userland …”
I hope that Thom is right this time. MFC needs to die and maybe win32 needs to die, too. They should concentrate on .Net/WPF.
Uh, no, this is not what we have all been waiting for. The user interface looks awful for using on a traditional computer. It might be fine on tablets and phones. but for a computer with a mouse and keyboard? Thanks, but no thanks.
The worst of iOS multitasking (Pull an app from where you can’t see it? How about at least copy HP on this one?) + Windows legacy APIs + an interface that is absolutely NOT of interest for a desktop… well, it’s everything + the kitchen sink again, anyway.
IF Microsoft can pull off what they are trying to do it could be great. Lets hope this doesn’t become another “short horn” where Microsoft promised more than it could deliver.
I have no intention of buying a tablet, or at least, making one my primary computer. Keyboard and mouse is my preferred method for interacting with a computer. I’d hate to see the classic Windows desktop become a second class citizen, and I’m really not thrilled at all with a touch-driven interface. While it may technically work with a mouse, I’m not thrilled with large click targets separated by a large amount of space to accommodate finger input.
If the classic Windows interface becomes a second-class citizen, I may finally switch away from my beloved Windows full time.
What a shame, too. The changes that came out of MinWin are really, really exciting.
EDIT: I would like to clarify that, by “classic”, I mean the Start Menu/Taskbar paradigm, in it’s fully-evolved state, in case anybody thought otherwise.
Edited 2011-06-02 18:12 UTC
I’m sorry but I cannot agree here.
Supporting 80s-era MS-DOS applications (well, most of them) is what made Windows dominant up until today. It tooks a tremendous effort and engineering skill to do that and that’s why other companies and/or organizations didn’t even try to emulate that (see Apple or Linux, but not only those).
If you take some time to read a few stories about Windows subsystem to support legacy application you will find lots of highly talented and clever solutions, including Microsoft debugging 3rd-party software, automagically detect running legacy applications and providing that applications a support for “illegal” calls (for ex. arising from undocumented API which have later been deprecated) and literally thousands of other tricks. I think that’s something MS engineers should be proud of. And since Windows XP, that didn’t even cause system instability.
If people tell me Windows 8 ARM won’t support legacy applications, I can agree because it would take a big effort to port that stuff to a different architechture. But if people tell me Windows 8 x86 should drop support for legacy apps… hey…. c’me on 😉
Oracle (via Solaris), IBM, and HP support ancient apps with their OS’s.
Even Apple did a reasonable job. Backwards compatibility seems to be the norm. Only Linux completely abandons it.
You can run really old Unix applications on a Linux-based OS. Maybe you refer to the driver API. The userland API, including POSIX(!) is backwards-compatible since ages.
APIs have remained constant, but Linux ABIs have changed. Try downloading an old Linux app, such as Netscape Communicator. It won’t run on a modern Linux distribution.
On the other hand, it will run fine on Windows 7 64-bit. Granted, the installer wont’ launch (since it’s 16-bit, which the 16-bit VM is gone from 64-bit versions of windows), but if you get the files out it’ll run fine.
Sun has always guaranteed compatibility with any SunOS app ever written (except those from the dark days of Sun, when they built m68k workstations.
Yeah, so why I can’t run Heroes of Might and Magic 3 – Linux edition on latest Ubuntu? You will tell me that devs were proprietary pigs and didn’t realease their work on Open Source so the community can patch it with each new Xwindows release, each new kernel release, each new libshitxyz.1.how-cool-is-RMS.1.10015.so? I expect a Lunix program to run on Lunix. It seems I expect too much from Lunix.
You can’t run heroes of might and magic 3 because clearly you don’t know what you’re doing. You install the old Library versions and use an LD_LIBRARY prefix to run the old games. It works perfectly. Try doing that with old MS-DOS applications that need legacy memory modes or any old game that needs a Voodoo 2 graphics card. Windows just doesn’t support that stuff anymore. There are a lot of directx 5-7 games that Windows will not run anymore without driver/library hacks made by end users because they’ve deprecated large chunks of win32. I’ve had a lot of games run in wine that windows refuses to run anymore because wine bothered to include both old and new methods of directx.
We have arrived at this: http://www.penny-arcade.com/comic/2011/5/16/
That’s REALLY helpful. I mean, just google around hoping to find a list of all the old library versions you need, then try to either find all those libraries or proceed to download RPM or DEB packages and extract them from those. Then find out how to actually specify where the system should find the libraries and learn rudimentary command line skills along the way, and THEN get to play the game, hoping that PulseAudio doesn’t screw over its audio.
Something every novice should obviously know, right?
Both Windows and Linux have real issues with old software, especially games, and Linux ain’t any better in that regards.
Well gee, Windows is an OS. MS-DOS is an OS. Windows != DOS. Ie. you’re comparing apples and oranges here. Besides, not having a Voodoo 2 isn’t a software issue, it’s quite clearly HARDWARE.
That’s not really fair.
My experiences with binary compatibility on Linux have been pretty bad.
I remember glibc changing the behavior of the return value of nice() somewhere in 2.2.5-ish timeframe, which broke my build of VMware, and I ran with a hacked up glibc for a while. It took a lot of time analyzing strace output to figure out.
Right now I can’t run Netscape 4, because it depends on a version of stdlibc++ that no longer ships with distros, and when I put an old version there, it just AVs on launch. I haven’t been able to make much sense of the core dumps.
The best binary compatibility I remember was with Doom 1, which was an a.out binary so used a totally different/isolated set of libs. That meant I could run an entire ancient usermode stack on a modern kernel, and there were no usermode behavior changes to break it.
I’ve definitely had better compatibility experiences on Windows (and Solaris) where things like Netscape just work.
Trust me on this one, I clearly know what I’m doing. After all I’ve use Lunix, quite a few years.
Trying to use old libraries on an Ubuntu 64 bits VM can cause quite some conflicts. And crashes, and a lot of fun. I’m pretty sure I can get it to run if I’m willing to spend hours/days and use unnatural, awkward and ugly hacks. That’s not the point.
The point is that one can’t run HOMM3 on Linux. Is that simple. Not being able to run software 5-6-7-8 years old is a big FAIL for an Operating System.
^^ Well in this case it apparently doesn’t work because you’re not ‘Leet’ enough, but never mind, M$ still suck!
Especially after all the work they put into Silverlight, XNA, and .NET? There’s little demand (yet) for HTML5 desktop applications, so who are they competing against?
Don’t worry, I’m pretty sure XNA, Silverlight and .NET will be included as well – the details just need to be worked out before they announce that fully.
XNA, Silverlight, .NET, and the Win32 API is is all basically ‘legacy’ stuff and Microsoft will include it all because compatibility is part of their value prop.
]{
The point here that many aren’t getting is that XNA, Silverlight and even .Net (and whatever other alphabet soup they have) is being described as ‘legacy’ by many because that’s the way they’re portrayed, and they are certainly not the first things to come out of Microsoft’s mouth when they talk about development now.
If you have a classical application in the style of COM or .Net then you’re OK because that’s where it’s going to live. It isn’t an application you can put within the new interface. However, if you heavily bought into Silverlight, XNA and .Net in general as the future of programming on Microsoft’s mobile platforms…….boy, are you going to be disappointed and out of pocket.
Edited 2011-06-02 19:01 UTC
What? You do realise all of those are supported on WP7, right? And you do realise they haven’t said anything along the lines of “they will not be part of Windows 8”, right?
In other words, you know you’re talking out of your bum, right?
What’s WP7 got to do with Microsoft’s new platform? WP’s platform and compatibility, in particular, seems to change with the wind, which is the point being made here. If you’re using that as a counter argument it’s not a good one.
Developers are not interested in whether they will be a part of Windows 8 or not. You simply don’t understand that at all. They are interested in what the primary supported development platform will be, and that has changed God knows how many times on God knows how many versions of Windows and their platforms over the past few years.
That’s why there are a lot of people jumping up and down on places like Channel 9. They know what happens when a primary development platform changes and when they are told that what they’re using now will still be ‘supported’. It means they get left out of the new stuff unless they write new code in something completely different. It’s happened with .Net for the past ten years.
It would help if you knew what you were talking about in all honesty Thom. Coming up with a new technology, telling developers how they can program for it and making sure that their existing code and skills in that code can be reused is a big, big deal for developers. Microsoft used to get that.
In other words, developers don’t want to be told to write in HTML and JavaScript for something new when they’ve spent years developing similar interfaces with WPF, XAML and Silverlight. Mind you, having said that such developers are in a minority so Microsoft will probably get away with it.
Edited 2011-06-02 19:45 UTC
Bingo. I’m sure Silverlight will be part of Windows 8. Just like I’m sure you’ll still be able to run Win32 apps. That’s not the point at all. The point is why come out now saying these full screen apps are HTML5/JS as a big talking point. If Silverlight is a first class citizen then they should say so. Right now it looks like the focus is switching again and developers don’t like that (look at the destruction of Nokia for proof).
Edited 2011-06-02 20:01 UTC
You said, and I quote, “however, if you heavily bought into Silverlight, XNA and .Net in general as the future of programming on Microsoft’s mobile platforms…….boy, are you going to be disappointed and out of pocket.”
Emphasis mine.
Nobody has said anything about what platforms will be ‘primarily’ supported and which won’t. Looking at Windows Phone 7 – you know, Microsoft’s latest operating system from which Windows 8 clearly is taking a lot of cues – .NET/XNA/SL are all first-class citizens. Since nothing has really been said about how the development environment will look on Windows 8, it makes sense to look at where it draws from (WP7), and thus conclude that .NET/XNA/SL will be part of it.
Even more so because people like Rafael Rivera and Paul Thurrot – who are a lot more informed about Microsoft;s inner workings than either of us are – have already confirmed that these will be integral part of Windows 8.
http://www.osnews.com/story/24233/Is_Microsoft_Working_Towards_NT_S…
You are assuming that just because Microsoft chose to only mention HTML5/JS yesterday, the entire OS will be focussing primarily on those – in other words, your conclusion is based on absolutely nothing.
Well, yes. That is a logical conclusion based on the information given by Microsoft.
No, its based on the absence of information. You can say a lot by not saying anything. If you ask a small child if they did something wrong, and they don’t say anything, kick the dirt and avoid eye contact. They’re just avoiding saying something they know people won’t like.
I’m willing to bet they want to kick XNA,silverlight,.net to the curb, but will be forced by developer outrage to make them work as well.
That’s a silly way to come to a conclusion. They didn’t show an mp3 file being played. By your logic, we can conclude that Windows 8 will not support playing mp3 files. But, you say, that makes no sense! Of course you will be able to play mp3 files!
Well, there you have my position – *of course* Window 8 will not be focussed entirely on HTML5 and JS, because that would make no sense (like not being able to play mp3 files). Add to that the various talks from people who know more about Microsoft than we do about XNA/.NET/etc. being part of Windows 8, and I think it is very, very safe to assume that they’ll be part of Windows 8.
Not even close to the same situation. Its closer to an oscar night snub, where a winner might thank three out of the four executive producers. The intention is clear that other producer was an a**hole. Not mentioning your prime, top tier, development platform tools while introducing another one sends the same message.
A lot of people are picking up on that and are ticked off. Ticking developers off, whether intended or not is not a good business strategy when launching a new platform you want them to develop or continue developing for.
Uhm, that makes no sense. They mentioned *one* develop platform, a *new* development platform no less^. It would be akin to a film having 10 producers, and then in the acceptance speech you only name one.
^ New, as in, new in this context.
Edited 2011-06-02 22:34 UTC
Again, MS pissed off its hard core developers. Whether they have reason to be pissed off or not is really immaterial here. At the least, its terrible PR. On par with having your CEO announce a product and then retract his whole speech a day later.
Now wait a minute. We don’t know many things yet and we, devs, are angry because we invested thousands and thousands of hours from our lifetime in some technology and we think MS might screw us. We are being proactive and we make sure we use all channels to let Microsoft know we don’t like ditching .NET, WPF, Silverlight, XNA in favour of HTML/JS. I think it’s what we should do. But maybe MS is not that evil towards the devs and they won’t promote HTML5/JS as the primary development platform. Even if Microsoft is that evil, if all devs and big software houses will ignore HTML/JS and continue to use C++/NET/whatever, than Microsoft will be screwed, not the devs.
That’s what I meant, even if I didn’t quite express it correctly. I’d be very shocked myself if they didn’t cave into the developer pressure.
Edit: That is, if they really did mean for the windows 8 to be .Net/Silverlight/xna free. Then they’ll cave in. Otherwise, they simply committed a horrible gaff.
Edited 2011-06-03 04:10 UTC
Developers are not jumping to conclusions based merely on hearing HTML5 + JS. They’re jumping to conclusions based on a triple whammy of: (1) the presentation (2) half a year of speculation that Silverlight had lost an internal turf war to HTML5 (3) a nonresponse to a direct question about Silverlight.
At the Q&A session, Sinofsky was specifically asked about Silverlight. He said that Silverlight would continue to run: (1) in the browser (2) on the desktop. (That would be the Silverlight out-of-browser application.) Basically, all he said was that Silverlight backward compatibility was not being dropped.
To continue the Oscar night analogy — you mention one producer in your speech, then someone from the audience shouts out, “Hey, what about John Smith?” And you say, “Oh yeah, he did a great job on this film twenty years ago.”
I still don’t see how Microsoft can possibly get away with HTML + JS as the sole developer story. But after the Skype deal, I’m no longer willing to discount rumors of irrational action on the part of Microsoft.
If that’s how you logically think, then you sir are an idiot.
Those are the things that bothers me mostly. I refuse the HTML5 crap. Maybe I can start learning Logo now, because it will be for sure the development platform of choice in Windows 9?
I’m not worried so much as trying to suss out their motivation. If they are serious about their dedication to HTML5 there are some applications that are difficult to impossible to write with the current spec — some games, desktop sharing, video collaboration… (Kroc would no doubt correct me on this.)
Unless they resort to plugins, in order to write these applications, they would need to extend HTML5 with custom extensions similar to webOS.
HTML5/JS can be only used for UI part. Unless they come with a powerfull JS compiler, which I doubt. Probably we will still be able to use C++ or C# for programming and we will hire web designers to do the UI part. I respect web designers, but their place is on Web, not on the desktop.
This HTML5 move seems idiotic – at least from a developer point of view.
Hmm, maybe I’ll forgive them if they will give me some classes to generate HTML5 UI from within C#.
But if they’ll force me to use the bullshit UI on desktop and do my stuff in HTML5/JS I will:
1. buy a Mac even I dislike Apple and Macs
2. start developing for mobile and maybe games, forget desktop and web
3. emigrate in North Coreea
4. start taking crack
5. cut my penis and mail it to Ballmer
3.
I remember how, a few years ago they were offering the new “legacy free” windows nt, alongside the crufty legacy 9x range…
They ended up porting a huge amount of the cruft over to nt… And although the nt design was originally fairly decent, the finished product now has a huge number of serious fundamental security flaws, most of which are inherited from the crufty 9x series.
I am not sure you can say this is the ‘first piece of the puzzle’ on the road to a new, legacy free, Windows.
In fact, if anything, their adding yet more legacy layers. Microsoft is adding a new UX while maintaining the UX of the previous version.
Just because there is a new direction does not mean that all those old (or for that matter new) technologies that Microsoft has de-empahsized will be abandoned.
We’ll see in the ARM version exactly what Microsoft leaves out and I think that will set a tone for the future releases. I would hope that, at a minimum, all that legacy junk becomes an optional install. Just now it seems that won’t be the case.
Please, pretty, pretty, pretty please actually READ the article. Is that really so much to ask?
Your comment takes absolutely NOTHING into account from the article. NOTHING. Very aggravating.
As huge Apple and Linux fan I actually think this is kinda cool. I agree with Thom about OS X needing to kick it up a notch (Does an OS ever reach a point where it doesn’t? Well maybe if you consider BeOS ). Microsoft made it too easy for everyone to have better/cooler products maybe this will get them heading in the right direction. Even if it sucks, people will think them colored tiles look purdy and buy it anyway. This will benefit the non-windows user just as much.
I think (hope) the goal of Windows 8 is to bring all the pieces together from the past they have been working on, and make a OS that is good enough to run on multiple devices. They layered everything in Windows 8, so that what will run is only what you use. For example, you install on a tablet, then the tablet based features will be active. If you never run a old program which might require a emulation environment, then no extra resources will be used. Think OS device roles of a sort. Layers will only become active if you use them. If you want programs to work between multiple devices (regardless of CPU) without any re-compile you can use .NET, Silverlight, or HTML5/JavaScript. Thus why they are making a ARM version of Windows 8 to work on tablets and phones.
In the past what Apple and Google have been doing is relating the tablet to the phone. By this I mean using iOS on phone/tablet, and Android on phone/tablet. What I think they are trying to do with Windows 8 is the tablet/desktop bridge. This was unsuccessful in the past because the OS was not built in such a layered way to be able to shed or add layers as needed for the device. On top of that the tablet hardware was not powerful enough. The time might be right to make this happen. Question is if Microsoft can pull this off or not. I could see this being successful if they pull it off.
Imagine having a tablet that runs Windows 8, and when you use as a tablet, tablet features become active, and programs are formatted for the tablet interface. You then go to your desk and put the tablet on a stand and use a wireless keyboard and mouse. The role now goes to a laptop/netbook, where you decide to run some old Windows software which will run the emulation environment which was not running while in tablet mode. Mix into this a future Windows 8 phone (which Windows 7 mobile by the way already uses .NET and Silverlight).
If Microsoft doesn’t screw this up, they have the chance to finally be the first to have an OS and desktop environment that runs on multiple devices with software able to run on multiple CPU’s using .NET, Silverlight, HTML5/JavaScript mix.
Actually this was a good article outlining what I talked about some and the various approaches:
http://news.cnet.com/8301-27076_3-20068142-248.html?tag=topStories1
I think the direction Windows 8 is going is very good considering the timing is good since the hardware in phones and tablets is getting so powerful. With Intel jumping into the mobile market (I actually think Windows 8 has a big part in this), 2012 is going to be interesting if Microsoft get the job done with Windows 8. I think due to the competition Microsoft has finally got into gear and finally started producing some decent products (Windows 2003 and above, Windows 7, and Windows 7 mobile). This comment coming from a Mac OS X, Windows 7/2003, and Unix/Linux user.
Hmm is that is the case, than is almost perfect. So perfect that in fact sounds SF.
While in theory all is nice, I believe that in practice is hard to accomplish these goals. Apple went the easy and somewhat logical way: Os X on PC and iOS on tablets. Even that Microsoft has 89,403 employees I still find it hard to accomplish the goals you stated. Anyways, I hope I’m wrong and you are right.
So the rumor mill for Win8 has started. Time to get french fries, lean back and watch fanboys in the coming months trying to outpace each other with spectaculare speculations ..
What you are forgetting is that every Windows version with major changes has been a disaster.
I’m expecting Windows 8 to be another Vista, except that it will be done faster with more bugs and suck on all platforms.
Thom, I have a bridge I’d like to sell to you.
First of all I think you’re concluding quite a lot from one small tech demonstration of Windows 8. One that I could personally have coded in Windows 7 in about a week if you gave me the graphical design for each of the tablet screens he was sliding between. Basically we are talking about a simple full-screen app with some tiled widgets and some pretty colors and gradients. Note that I’m not saying it wasn’t pretty or good or bad but it showed NOTHING about what architecture Windows 8 is based on.
The mythical rewrite that supposedly fixes everything is a very classic junior developer mistake. Since these forums have a lot of new and/or wanna-be programmers its not uncommon to have this point of view voiced here or on the Internet in general. Only a fool would throw away the biggest ecosystem of applications for the desktop just because Thom from Holland read on the internet that .Net is good and all older languages are bad. Only a fool would waste time rewriting perfectly working things when they could spend 1/10 of that time just addressing the real issue: better OS process sandboxing.
But anyhow if you’ve studied the history of the infamous Vista they indeed did try to pull this insanely stupid stunt of rewriting things in .Net. You know what happened? The OS got delayed by years and eventually they had to restart the entire project (hint: abandon all code and revert back to the Windows 2003 code). Then because of the delays they were forced to release a barely working version of Windows. I bet everyone at Microsoft knew Vista was crap in the RTM version, but sometimes you just have to release to stay in the game.
For all we know this welcome screen could be only for the tablet edition and the desktop Windows 8 will default to the task menu for the ‘legacy’ desktop that some of us actually like and prefer over tiles that only really work well on a phone or maybe a tablet.
I think you are right when you say we know shit about Windows 8. We cannot draw many conclusions based on that presentation. On thing is for sure, though: the “tile&widget” interface is going to be present in Windows 8. And its UI will be based on HTML. That’s what we know. We don’t know if they are going to use that on desktops, too. Thom took just some educated guesses.
As for .NET being good just for “Thom from Holland read on the internet that .Net is good”, I have to contradict you. .NET is good because it can run on many platforms – phone, tablet, desktop, server, cloud and Web – , it is good because it takes little time to develop on .Net comparing to alternatives, it’s good because the code has a high reusability – i can use on Web stuff I written for the desktop and viceversa – it’s good because it’s architected to be good and, it’s good because you can use RAD tools and it’s good because it’s not the win32/MFC nightmare.
I develop software for 10+ years and I used C++ exclusively. At the beginning of .NET I disliked it as I thought of it of “yet another java” and I thought that “you can’t do performance stuff in .NET”. After a few years I’ve learned .NET and I escaped the win32/MFC nightmare. Not only that I am 2x more productive with .NET, but .NET enables me to do both desktop apps and web sites with ease. If it wasn’t for the .Net, I would have to use win32/MFC for desktop and ASP or PHP for the web. More complicated and with probably poorer results because its hard to master 2 entire different technologies and programming paradigms. I would have to stick with either desktop programming, either web programming. Now .NET enables me to use one technology on desktop, web, mobile phones, tablets. I can’t really ask more from it.
One thing would be nice, though, a native WPF or Winforms implementation so I don’t need to use ugly p/invokes when it’s time for heavy lifting.
As about “Only a fool would waste time rewriting perfectly working things”, I have to remember you of the company from Cupertino?
“I love how much innovation is going on in the computing space right now – GNOME 3, Unity, KDE4, the iPad, and now Windows 8. The only one seemingly left behind at this point is Mac OS X, which, like iOS compared to Windows Phone 7, will look archaic and quaint alongside all the modern and innovative violence from Windows 8 and the Linux world. Apple will have to really get out of maintenance mode for Mac OS X after Lion.”
Really? So just because everyone seems to be making the “new versions” of their desktop environments specifically target tablets and similar devices, Mac OS X will look archaic and quaint?
Developing interfaces for portable touch-screen devices, and trying to somehow make them “scale up” to full-power systems… that seems to be becoming the latest trend along with all this “cloud” garbage. It sounds like a big “f*** you” to traditional desktop machine users and power users.
These limiting interfaces are what we should’ve had in the days of 640×480 or less, not in the days of 1680×1050 and 1920×1200 (or the 720/1080 crap that seems to have, unfortunately, become the standard). Although I originally had some serious doubts about KDE4, it’s turning out that they’re the only major desktop environment developers who care about power, features and functionality; while they have a “netbook” interface, they also provide a traditional interface (which has improved vastly since 4.0). Too bad its ridiculous resource use keeps me away from considering it as a serious desktop.
thats a really good point you make. Why wernt we looking for simple almost palm like interfaces on the desktop before… When small screens really DID impede what you could do
*lovingly remembers the ‘good old day’*
I have no idea, but IMO it would have made a hell of a lot more sense. Back then, we got power, flexibility and features. Now… with all the screen space we have… we’re getting dumbed-down interfaces that just don’t suit the desktop, and even worse, are a huge waste of pixels. Luckily, there is still Xfce for a decent lightweight “traditional” alternative, hopefully they don’t go off the deep end next.
I do love where Windows 8 is going with the interface. It’s simply refreshing. I just wish that the Office team would follow suite and adopting elements from the new UI. At the moment when using regular apps on Windows 8, revealed the regular desktop that we know of and what a world apart it looked against the new UI. Almost dated looking. It is still early yet to see what shall transpire from this, one thing I can say is I find Windows suddenly sexy again if you can believe it, I look forward to the release of Windows 8 with bated breath and gleeful anticipation.
Edited 2011-06-02 20:02 UTC
All i keep thinking seeing this new UI is how they just took a huge dump on the power users.
I think there is still a lot to be said as far as standard desktop interfaces go. Hell, even the gnome guys managed to produce something interesting lately (and this is coming from someone who generaly dislikes the linux desktop experience).
This? Will probably be cool to play with for about 5-10 minutes and will make the facebook/twitter crowd happy but it really just transforms what used to be workstation-capable desktop into a oversized tablet.
There will probably be some form of classic desktop there but i’m just sad that it won’t see any improvement beyond what’s available now.
Thom, seriously. Did you even do any research before you wrote this? Here’s some screenshots showing the fact that this is still the same old win32.
http://blog.mattatobin.com/2011/04/30/update-windows-classic/
Another one who didn’t read AT ALL.
It IS the same operating system. It IS Windows. I never claimed ANYTHING ELSE. Point me to where I claim this isn’t Windows. Point me to where I say this is a new operating system or a new kernel.
I dare you.
I think the point that everyone is taking issue with is that you wrote …
… and its just not the case that Windows 8 is ‘legacy-less’ by any stretch of the imagination.
If I was only allowed to make (1) suggestion, it would be, “Hire a Graphic Artist”.
What? Did Ballmer do the graphics on that interface with ‘Paintbrush’?
Just awful….
Great article. Part of the key to corporate acceptance of Win 8 will be its backward compatibility to the UI and apps of Win 7 & Vista. Microsoft’s track record is not good here.
Here’s to hoping they “get it” this time! (And if not, I’m not going to read the ten million hype-job articles that will be forthcoming from the publicity machine on Win 8).
Don’t celebrate yet. While windows might be getting better, the focus of all these large companies is on that annoying cloud. They love it because of lock in and because of monthly charges to every customer.
A lot, a very lot, of microsoft’s effort is going to azure. As a developer, I’ve definitely felt this shift. All the cool new features are windows azure based… Which means I either develop for that platform, or use the old stuff…
What about kernel, file system, networking and so on? I guess these aren’t interesting enough topics.
The UI is the thing which people directly interact with, so it’s only logical that they care a lot about it. The fact that lower-level layers have a huge role to play as far as reactivity, reliability, security, power management, etc… are concerned is often forgotten, because it’s hard to associate the cause with the consequence there.
Drivers and most other subsystems is basically what got rewritten with Vista and “perfected” with 7. It is also the main reason that Vista was received so badly and 7 so well: Drivers weren’t ready when Vista came out but they were when 7 arrived. 7 (kernel 6.1) is actually Vista (6.0) improved, just like XP (5.1) was 200 (5.0) improved.
Kernel improvement/untangling is the main thing for 8, making it a big candidate to be labelled kernel 7 for me.
(Thom actually worded all of this in the main article quite nicely)
Watched the demonstration on all things D and as soon as you launch a real app your back in the “classic” windows ui start menu and all. The only major changes i see is with the addition of html5 java script apps. And of course all your old apps wont work on the arm version. So basically they slapped windows phone 7 ui on top of windows 7 built in some arm support and call it windows 8.
No, windows 8 is that dream of a completely fresh version of windows bastardized, thrown into a paper shreader, then glued together into a ball with spit and donkey manure.
Thom, good article. I like what I’m seeing.
The problem I’ve always had with Microsoft software – and this flows down to third party software on their platforms – is the mindless UI decisions that favoured buttonitis. They made a ribbon interface so that they could fit more buttons onto the screen for pete’s sake.
Metro is a breath of fresh air. It couldn’t be more different from the old Microsoft UI philosophy. It’s minimal, sometimes to extremes. Some buttons don’t even look like buttons – they are just text, more like hyperlinks.
As a user, I applaud this move by Microsoft. However, as a developer, I’ll wait until we see the API before passing judgement.
Edited 2011-06-03 01:49 UTC
It is still in its early development stages but it would be interesting to see how they bring forward all the various components that make up Windows into the new ‘Metro’ interface. They’ve shown off some features but what is missing are the bundle applications and system tools for example the control panel – are they going to rewrite it in the new ‘metro’ way of doing things or do they assume that tablet users will never have to deal with system settings? I also wonder where Office fits into the equation as well given that the current interface is hardly something ready for a touch environment given the small icons etc. that are used.
I’m excited that Microsoft is showing off some cool ideas but at the same time I think they’re ignoring the larger picture – how everything actually fits together into a coherent experience for the end user rather than a clusterf–k of legacy and Windows 8 applications. This should have been the time for a genuine departure from the past and pushing ‘Windows Classic’ into a virtual environment but it appears that once again Microsoft don’t have the stomach to take on what I deem as ‘necessary’ for the advancement forward of Windows.
As a side note, I’ve recently upgraded my iMac and MacBook Pro to the latest Thunderbolt models – I was hesitant given that I was hoping Windows 8 would really show a major leap forward. Low and behold, when it came to Windows 8 it is just more of the same but with less rough edges – closer working relationship with OEM’s, something promised every release, exciting form factors which again is promised every release, a major leap forward in terms of usability but even at Windows 7 there are parts of the operating system still dependent on code form Windows 3.11 (yes, I understand the libraries *THERE* for backwards compatibility but there should be absolutely no reason what so ever for a control panel tool to be making reference to code from 20 years ago). Am I hopeful about Windows 8? sure, but any hope has pretty much been killed once again as the bare minimum is being done by Microsoft (which leaves me to wonder what the hell do the other thousand programmers do as the 12 full time Windows programmers are doing their thing).
Edited 2011-06-03 02:43 UTC
We have not seen much to love yet. The similar interface was in Media Center and it was also very nice on demo, but useless in practice. The same about HTML integration idea. All attempts of embedding HTML into shell, from infamous Win 95 “Active Desktop” to Apple’s Dashboard and Chrome Apps were failed in terms of customer interest. And, I think, we will see the same again.
About Metro primitivism, I gave a try to Win Phone 7, recently Android, and I can say, that iOS is much more comfortable, comparing with everything I’ve tried. Maybe this is because of beautiful screen, but it is much easier to read, even fonts are better. The same with desktop. OsX has a lot of issues, but its visual theme is excellent. I always use similar in Gnome. And if it will be the last native code platform, I’ll stick with it.
Thom, did you delete some replays right now ??
I just do REFRESH and suddenly one replay with 8 point score DISAPPEARED completely !!!
plz let me know if you DO delete post that you do not like it ! ;/
It has happened before and people have disappeared, but it’s his site so he can do what he wants.
Well, I am incredibly lenient, and have no problems with sharp discussion and debate (as you can clearly see in this thread alone). However, two comments were deleted in this thread, and in the interest of full disclosure:
– the first contained several instances of “design fags”. I will obviously not tolerate such slurs.
– the second one was the bazzilionth personal attack on myself by one particular user, who has been showcasing such behaviour for months now. The bucket was full, so he got banned.
Design fags? Well, there is the TV show were people (men and women) design clothes and all the guys… ehm… Let’s say I see nothing wrong with linking those two words.
Which was proudly written by me.
Well, he is jealous his posts aren’t hitting such scores.
You wishing too much from Microsoft and Ballmer. I am like you, they should cut legacy off, but even with Windows 8, legacy will go back as far as Windows 95.
They just cannot cut that chord. It is the wrong move, again, but Ballmer is too hard headed and not so up to speed as his engineers. Too bad, because overall, Windows 8 looks beautiful. But because all desktop program will run in the tablet version, why should anyone write tablet specifics apps? A waste of a great opportunity for Microsoft.
It is refreshing to see Microsoft finally doing it right.
P.S. I liked the reference to Star Trek Enterprise in “It’s been a long road getting from there to here”
Well, since Win7 turned out to be fairly OK from multiple points of view, maybe it would be time for MS to adopt a release model like Ubuntu (I know, I know, bear with me), by making Win7 an LTS release, and Win8 (and later 8.x) running in parallel for a longer time period. This way legacy-needing people would have the possibility to use Win7 for a longer time (during which it would be actively supported and serviced) and have Win8+ so in time (when enough legacy apps get new releases for it) a switch can occur easier, and by that time Win8+ would be able to produce a next LTS Win version, and Win9+ would be the next new line.
I guess Win XP is the LTS release. It’s running longer than a number of Ubuntu LTS releases.
I don’t think that the UI elements we see on the Win8 demo are not standard HWNDs.
What Microsoft has done was simply replace the default shell. Other than that, the underlying technology is the same as in all previous versions of windows, improved.
Even WP7 isn’t legacy free. It’s a Window NT based kernel, and the version of IE that ships with it is at least partially written in C++ and uses portions of the win32 api.
Windows 8 will use even more ‘legacy’ stuff, including the entire Vista driver model, the display model, and vast portions of the win32 api, even when you are programming in HTML/JS (ugh).
Lolwut? WP7 uses a completely re-written Windows CE kernel. The IE in it is indeed suckage comapred to WebKit (but not as bad as those who have never used it seem to think).
We’ll see.
Since people seem more interested in discussing their mod scores than the actual topic at hand – locked.