
Windows 8 for software developers: the Longhorn dream reborn? - hugorodgerbrown
http://arstechnica.com/microsoft/news/2011/06/windows-8-for-software-developers-the-longhorn-dream-reborn.ars/
======
larsberg
This article gets more than a smidge of its history wrong. For instance, it
makes it seem as if WPF (nee Avalon) was written by DevDiv in isolation from
Windows, where in reality the Avalon team was mostly made of the former IE
team after its legal dismemberment. In fact, we moved my team (which was
focused on developer tools on, for, and made with WPF) from DevDiv buildings
into Windows buildings just so we could build apps and tools for Avalon to
help test their platform.

But, it was a big effort. And even coming from inside of Windows, getting the
rest of the shell to run on a whole new stack -- from drivers, through C++
layers, through managed -- was a challenge, especially with all of the other
things going on in Longhorn. Sometimes, you bite off more than you can chew,
especially when you make the dependency stack too deep.

Also, all of this happened _long_ before Silverlight efforts started... XAML
came out of the WPF work. Arguing Silverlight stole DevDiv focus from WPF
during the Longhorn timeframe is temporally impossible. Certainly, you could
argue DevDiv was being pulled in many directions with the concurrent efforts
to placate the VB4 crowd, push out a new version of VS, figure out a new
syntax for Managed C++, compete with the then-rapidly-expanding Java tools
ecosystem, and support all of the internal and demanding partners (especially
SQL and other Windows efforts). But a substantial portion of both the tools
and .NET runtime team's efforts were spent making Avalon perform, and I don't
think that even now anybody who was there would claim that more DevDiv
resources could have made the "Windows Shell is now made from WPF" effort
succeed in the desired schedule.

------
brudgers
The article plays on the ambiguity in the phrase "Windows is not based on
.NET."

On the one hand, if "Windows" refers to the black box bits and pieces of code
which make up the Windows operating system, then it is pretty much true that
Windows is not based on .NET.

On the other hand, if "Windows" refers to the interfaces to the black box with
which software developers _typically_ interact, then it is largely true that
Windows is based on .NET because .NET provides control of the operating system
for the vast majority of projects. Yes, there are exceptions - but from a
practical standpoint, the working of the black box is irrelevant for most
projects and it appears that Microsoft recognized this when Longhorn was
shelved.

The speculation that the javascript/HTML5 model indicates a fundamental
architectural shift in the Windows OS core seems to be unjustifed - the
meaningful evidence for such an architectural shift being underway is the
demonstrated ability of Windows 8 to run on diverse architectures.

Which is why the FUD being disseminated about the Javascript HTML model is so
interesting. It is nothing new; merely another implementation of an idea
Microsoft has been kicking around for years: i.e. HTA's (HTML Applications)
have been a part of Windows for more than a decade.

[<http://en.wikipedia.org/wiki/HTML_Application>]

[[http://msdn.microsoft.com/en-
us/library/ms536496%28v=VS.85%2...](http://msdn.microsoft.com/en-
us/library/ms536496%28v=VS.85%29.aspx)]

In addition given that .NET can provide total control of the browser and that
such a browser exists on the Windows platform in the form of IE, the whole
javascript/html model Microsoft demonstrates can be seen as just another layer
running on top of .NET.

~~~
ern
_refers to the interfaces to the black box with which software developers
typically interact, then it is largely true that Windows is based on .NET
because .NET provides control of the operating system for the vast majority of
projects_

I agree that the vast majority of Windows thick client _business_ projects
developed in the last few years probably target .NET, but, looking at the
start menu on my Vista laptop currently, apart from dev tools, PAINT.NET and
Keepass 2.0 (which still maintains a 1.x Win32 release), every other end-user
application installed on my machine does not run on .NET.

EDIT: In fact, I only run Keepass 2.0 for Mono compatibility on Ubuntu. I also
would guess that a default Ubuntu desktop install has more dependencies on
Mono, than a default Windows install does on .NET.

------
nhebb
I sell a Windows application targeted toward business users. 57% of my site's
visitors are still running XP. Of those who purchase, 50% are XP, 40% are Win
7, and 10% are Vista users. So forgive me for not getting excited about
changes to any upcoming version of Windows because until the folks in Redmond
design an OS that businesses are interested in, it's mostly moot.

~~~
goalieca
The thing that kills me is that XP is basically 10 years old now. It still
"adds a new device" every time i plug in a usb key.

~~~
melling
Why should this change? Microsoft has invested billions in Vista and Windows
7. It's time to upgrade. Supporting all the legacy costs Microsoft money that
can be better spent on future enhancements.

~~~
cturner

        Microsoft has invested billions in Vista and Windows 7.
        It's time to upgrade
    

Non-sequiter.

You can buy support for legacy versions of VMS, Unix and OS/2.

    
    
        Supporting all the legacy costs Microsoft money that
        can be better spent on future enhancements.
    

It would be definitely be cost-effective to sell Windows XP support.

The reason for withdrawing XP support are strategic, not cost-oriented (nor
customer-oriented!!)

------
MetallicCloud
How can there be so much in fighting within Microsoft?

Surely there must be a manager somewhere that looks over both teams and makes
sure they aren't trying to shaft each other.

~~~
StrawberryFrog
I'd imagine that that manager is Steve Balmer, or only 1 level below him. The
heads of WinDiv (<http://www.microsoft.com/presspass/exec/ssinofsky/> ) and
DevDiv (Not sure who that is - Scott Guthrie or his boss?) are pretty senior.

Has the infighting gotten worse since Bill Gates handed over?

~~~
michael_dorfman
ScottGu's boss is Soma (<http://www.microsoft.com/presspass/exec/somasegar/>),
if I am not mistaken.

~~~
StrawberryFrog
Ok. Still, I get the feeling that Balmer should be sorting this out and
setting direction. or making sure that someone does. Doing the "vision thing".
Leading, basically.

------
extension
Developers asked about Windows APIs. Then Windows builds leaked to the
internet with the new APIs. Maybe they got their answer?

------
io
This might be interesting in ten years, when virtually everybody's running
Win8 or later and I can consider using the new API.

------
Blunt
".NET would be the way to write Windows applications. Win32 would still exist
for backwards compatibility, but it would be frozen and left static."

OMG, Another non-technical person trying to write about technology again
<sigh>

~~~
z92
Just curious. How is it wrong?

~~~
artmageddon
In my opinion, it's very misleading because the .Net framework relies on the
Win32 API to interact with the operating system. Without Win32, there's no
.Net, so if Microsoft plans to make upgrades/updates to the OS, how can it do
so when Win32 is "frozen and static?" While it's clear that they will
eventually(hopefully) rewrite the main applications(Explorer, Calculator, etc)
to use .Net, that last part didn't seem to make sense given the dependency of
.Net on Win32.

Edit: Please correct me if I'm wrong, as I'm looking to make sure I
understand. I based my comment off of David Morton / nobugz's comments in the
following thread:

[http://social.msdn.microsoft.com/Forums/en/netfxbcl/thread/a...](http://social.msdn.microsoft.com/Forums/en/netfxbcl/thread/ac6a20d5-3d18-4eb2-acd6-5bae1774f14a)

~~~
rahoulb
As I remember it (and it is a long time ago), one of the key promises of
Longhorn was it was to make .Net a peer of Win32.

At the time (Win2K, WinXP time) there were a few ways to write apps that ran
on Windows - Win32 was the preferred way (using a C api), but there was also a
much neglected POSIX layer, the DOS API and Win16 (the last two using what
they called "virtualization" though I don't know exactly how it worked).

COM, MFC, .NET (and Delphi) built layers over the top of Win32 - so if it
wasn't in Win32 it couldn't be done.

The promise of Longhorn was that .Net would become a peer to Win32, not a
layer over the top of it, so it could become the foundation for moving the
core of Windows forwards (as the parent says, freezing Win32 and adding stuff
to .NET).

And then the security issues over XP and the ever increasing delays to
Longhorn prompted the "Longhorn reset" (in about 2003?), which threw this away
(making Vista a shinier version of XP with an annoying security model, rather
than a fundamental rethinking of the internals of Windows).

~~~
kenjackson
_As I remember it (and it is a long time ago), one of the key promises of
Longhorn was it was to make .Net a peer of Win32._

I don't recall that, and I don't think it would make sense (although I'm not
saying it wasn't the case). Win32 provides so many services it would be
foolish to reimplement them. And .NET and Win32 come from the same company. If
there was a feature that the .NET team needed exposed, it would probably be
easier to get them from the Windows team than to plumb it themselves in a
subsystem.

~~~
rahoulb
Well one thing i definitely do remember about Microsoft at that time was their
"white papers" that were little more than made-up visions of a utopian future
(which when implemented fell a long way short).

My favourite (from a bit earlier - mid 90s I think) was the "zero-
configuration PC" - no matter which PC you logged into it would know all your
settings, programmes and documents - which eventually materialised as a
"synchronised My Documents folder".

