Microsoft refuses to comment as .NET developers fret about Windows 8

There is a long discussion over on the official Silverlight forum about Microsoft’s Windows 8 demo at D9 and what was said, and not said; and another over on Channel 9, Microsoft’s video-centric community site for developers.

At D9 Microsoft showed that Windows 8 has a dual personality. In one mode it has a touch-centric user interface which is an evolved version of what is on Windows Phone 7. In another mode, just a swipe away, it is the old Windows 7, plus whatever incremental improvements Microsoft may add. Let’s call it the Tiled mode and the Classic mode.

Pretty much everything that runs on Windows today will likely still run on Windows 8, in its Classic mode. However, the Tiled mode has a new development platform based on HTML and JavaScript, exploiting the rich features of HTML 5, and the fast JavaScript engine and hardware acceleration in the latest Internet Explorer.

Although D9 is not a developer event, Microsoft did talk specifically about this aspect. Here is the press release:

Today, we also talked a bit about how developers will build apps for the new system. Windows 8 apps use the power of HTML5, tapping into the native capabilities of Windows using standard JavaScript and HTML to deliver new kinds of experiences. These new Windows 8 apps are full-screen and touch-optimized, and they easily integrate with the capabilities of the new Windows user interface. There’s much more to the platform, capabilities and tools than we showed today.

Program Manager Jensen Harris says in the preview video:

We introduced a new platform based on standard web technologies

Microsoft made no mention of either Silverlight or .NET, even though Silverlight is used as the development platform in Windows Phone 7, from which Windows 8 Tiled mode draws its inspiration.

The fear of .NET developers is that Microsoft’s Windows team now regards not only Silverlight but also .NET on the client as a legacy technology. Everything will still run, but to take full advantage of Tiled mode you will need to use the new HTML and JavaScript model. Here are a couple of sample comments. This:

My biggest fears coming into Windows 8 was that, as a mostly WPF+.NET developer, was that they would shift everything to Silverlight and leave the FULL platform (can you write a Visual Studio in Silverlight? of course not, not designed for that) in the dust. To my utter shock, they did something much, much, much worse.

and this:

We are not Windows developers because we love Windows. We put up with Windows so we can use C#, F# and VS2010. I’ve considered changing the platform many times. What stops me each time is the goodness that keeps coming from devdiv. LINQ, Rx, TPL, async – these are the reasons I’m still on Windows.

Underlying the discussion is that developers have clients, and clients want applications that run on a platform with a future. Currently, Microsoft is promoting HTML and JavaScript as the future for Windows applications, putting every client-side .NET developer at a disadvantage in those pitches.

What is curious is that the developer tools division at Microsoft, part of Server and Tools, has continued to support and promote .NET; and in fact Microsoft is soon to deliver Visual Studio LightSwitch, a new edition of Visual Studio that generates only Silverlight applications. Microsoft is also using Silverlight for a number of its own web user interfaces, such as for Azure, System Center and Windows InTune, as noted here.

Now, I still expect that both Silverlight and native code, possibly with some new XAML-based tool, will be supported for Windows 8 Tiled mode. But Microsoft has not said so; and may remain silent until the Build conference in September according to .NET community manager Pete Brown:

You all saw a very small technology demo of Windows 8, and a brief press release. We’re all being quiet right now because we can’t comment on this. It’s not because we don’t care, aren’t listening, have given up, or are agreeing or disagreeing with you on something. All I can say for now is to please wait until September. If we say more before then, that will be great, but there are no promises (and I’m not aware of any plans) to say more right now. I’m very sorry that there’s nothing else to share at the moment. I know that answer is terrible, but it’s all that we can say right now. Seriously.

While this is clearly not Brown’s fault, this is poor developer communication and PR from Microsoft. The fact that .NET and Silverlight champion Scott Guthrie is moving to Windows Azure is no comfort.

The developer division, and in fact the whole of Server and Tools, has long been a bright spot at Microsoft and among its most consistent performers. The .NET story overall includes some bumps, but as a platform for business applications it has been a remarkable success. The C# language has evolved rapidly and effectively under the guidance of Technical Fellow Anders Hejlsberg. It would be bewildering if Microsoft were to turn its back on .NET, even if only on the client.

In fact, it is bewildering that Microsoft is being so careless with this critical part of its platform, even if this turns out to be more to do with communication than technical factors.

From the outside, it still looks as if Microsoft’s server and tools division is pulling one way, and the Windows team the other. If that is the case, it is destructive, and something CEO Steve Ballmer should address; though I imagine that Steven Sinofsky, the man who steered Windows 7 to launch so successfully, is a hard person to oppose even for the CEO.

Update: Journalist Mary Jo Foley has posted on what she “hears from my contacts” about Jupiter:

Jupiter is a user interface library for Windows and will allow developers to build immersive applications using a XAML-based approach with coming tools from Microsoft. Jupiter will allow users a choice of programming languages, namely, C#, Visual Basic and C++.

Jupiter, presuming her sources are accurate, is the managed code platform for the new Windows shell – “Tiled mode” or “Tailored Apps” or “Modern Shell – MoSH”; though if that is the case, I am not sure whether C++ in this context will compile to managed or unmanaged code. Since Silverlight is already a way to code using XAML, it is also not clear to me whether Jupiter is in effect a new Windows-only version of Silverlight, or yet another approach.

53 thoughts on “Microsoft refuses to comment as .NET developers fret about Windows 8”

  1. We are all Symbian developers now. 🙂

    The funniest thing is that to prepare yourself for Windows 8, you should abandon Windows Phone and turn to ChromeOS and Android tablets ASAP.

  2. While the future of Silverlight is unknown, there is no chance the .NET framework will be depreciated. HTML5 can only provide 1% of the functionality of .NET. It is a front end technology not a complete package.

    1. @Craig

      On the server I agree. But on the client, if it is not Silverlight, what is it? WPF? Winforms? Something new?

      Tim

  3. Great article. Will Micorsoft never learn. The lack of communication is shocking, how do they expect any of their platforms to expand if they are unbale to decide for themselves what their plans are for development. However great the tools are do they really expect developers to wait around while they finish arguing internally. If they do decide to drop WPF, Silverlight or .NET at least hurry and decide, demonstrate what the alternative is and let people start to move on. At the moment nobody can plan anything with any degree of certainty. Patience and good will is running out very quickly.

  4. Tim, who knows what it will be. I will be focusing on HTML5 and other ‘standard’ web technologies for the front end. At least they have support outside of Microsoft.

  5. Nice summary Tim.

    Every time I think Microsoft can’t possibly make a bigger screw-up of something they prove me wrong and go one step further and this is just the latest example. Honestly, it’s unbelievable.

    We had the Windows Phone changing message re “It’s for consumer devices not business ones but it’s for business as well”, “It’s all about consistent UX which we’ll completely ignore in our greed to get as many apps as possible into the app store”, “We’re open now, but you can’t tweet or blog what I’m about to say even though this is a user group not a Microsoft event and nobody’s signed a disclaimer”, the “Silverlight is being realigned” PDC announcement from Muglia that seems to have got him fired on the back of all the “Silverlight is dead” stories that then erupted, pre-MIX 11 “Yes Silverlight is being realigned” Guthrie and co announcement that had got Muglia fired but seeningly Guthrie reassigned to Azure, the “Use HTML5 for reach, use Silverlight for Reach” message that became “Er. Forget that. Use ‘Native HTML5′ for reach” MIX 11 keynote, the MIX 11 day 2 keynote that proved Silverlight was still alive for line of business apps … by demonstrating a bizarre 3D house application and promoting a web site for the Blue Devils that’s written in HTML5 and Flash.

    The list of sheeer incompetence just goes on and on, and now this. I wonder how many .NET/Silverlight/WPF developes like me are now spending as much time in JetBrains’ WebStorm IDE playing with JavaScript HTML5 and CSS as they used to spend in Visual Studio or Blend.

    The Windows 8 early demo was a brilliant way for Microsoft to accellerate their own inevitable decline!

  6. Microsoft is not going to throw all the years of investment in managed languages out of the window that’s just crazy!
    Microsoft doesn’t want to comment on what’s going on.Obviously it’s still work in progress. Anders spoke about the future of .Net at PDC last year so it’s highly likely that we’ll be seeing a beta of VS:next at BUILD this year. And possibly even Redhawk.
    The developer story will be clarified at BUILD .Why would they need to hold a huge conference just to speak about HTML5?

    1. While I agree with you, it is not surprising that .NET developers worry when Microsoft comes out and says the new Windows client platform is for HTML and JavaScript. It would have been easy to add that there is a great .NET story too but we are keeping it under wraps.

      Tim

  7. You wrote something on bas assumptions, Microsoft still has the best develping environment and for sure they will not put that away.

    Maybe you forget microsoft invented Webdav standard
    In simple very terms be able to html “POST” commands and return something.
    The posting could go straight to a dll or whatever you code, this new view is this about the view that could be done in HTML 5 and from what i understand .net needed also a interface based on code, it couldnt get better by using html5

    I really like to see those things come together web development and classic apps to fuse their GUI (most involved in visual studio, knew these where always nearby > but new vs studio makes it even more easy.

    The fear you speak about in this article, is about that your overwhelmed by Microsoft technologies, your not sure what to choose, maybe if you where a real programmer you wouldnt be that afright. If you programmed c++ for the last ten years i wouldnt call you a programmer rather a dinosaur, things have changed you know the world invented new things.
    A true programmer has learned more then one language, and would always be on the lookout for new possibilities, with this MS made real cool possiblities, finally things come together.
    Web developers / device / platform /server ..it rather are exciting times

  8. It’s the usual MS move. It’s why I stopped working on Windows after being F’d in the A from with DCOM / ActiveX.

    Developers are not the customers, they are the product.

  9. For all of you who think Microsoft won’t drop .net. Ask the millions of ex VB programmers (not vb.net) out there if it’s possible. I was a Microsoft dev for a long time in the 90s and early 2000s. I learned what Microsoft said to learn, all the technologies they said were the future. Only to get burned time and time again. Them dropping everything to switch to .net was the last straw.

    Eventually I switched to Java, then to open source languages such as Pyhton and Ruby. Never again will I work in a language that is controlled by one company.

  10. To go one better than Wayne, it sounds like a great advertisement for *Monty Python*.

    From now on, Microsoft should have John Cleese do its product announcements. At least they’d be funny.

  11. Much as I can understand all the frustration in not getting response back from MSFT, I didn’t expect this to raise as much dust as it is. Personally, I believe that a unified way of designing and rending UI for web and non-web is the way of this era.
    The package I see being introduced for Windows 8 is situation where the Markup just changes from XAML to HTML5 and JavaScript. You still get everything you get today beyond the UI hood.
    I don’t even know how speculating that “.NET is dying” comes into the picture at all. Of course, .NET is not dying and has no reason to. .NET has no UI markup/rendering subsystem. It has always depended on something else to do that. Before now it was HTML4 for Web, WinFroms and XAML for Windows.
    Now, moving the markup/rendering subsystem up to use HTML5 is the only upgrade I see and that is the way the World is going right now. I hate to have to speak to my colleagues: Flash and Silverlight already have their obituaries written by HTML5. You know that, don’t you? It’s only a matter of when. And I’d rather now than later.
    We asked Microsoft to exit their silo and embrace common standards. Now, they are waking up to it and why do we appear to be quaking in our boots?
    I am already imagining all the cool things that can happen when the UI of Windows uses standard web technologies. I’m excited to imagine how much little help it will take to port my native Windows App to become a web App that you can open in a linux browser. I can also see the possibility of pulling a web app into a sandbox on windows to improve scaleability and processing power.
    Let’s just relax a little. All this quaking is making me thirsty.

  12. I see only one thing,that happens over and over again, when Mr.Sinofsky make a statement, the Microsoft Dev Team take a kick in the ass.

  13. @tim I’m inclined to disagree with you earlier response: “On the server I’d agree …”

    Even on the server, with node.js (and other recent server-side javascript developments) perhaps, as this seems to often happen in history, things are actually going full circle.

    i.e.
    from the ‘tower of babel’ that is the vast number of current languages/frameworks/devices/etc perhaps the movement towards a simpler and unified way of doing things is what is needed and occurring right now.

  14. C#.Net Web applications (along with Java) have been taking such a strong hold of business IT departments that it was a sure thing. But, just as with the appearance of the web, MSFT eventually smells the rot of their long-outdated technologies. The world does not want monitors and windows and operating systems and keyboards and mice and other old-school techno-nerd clunkers. The world wants what Google and Apple are delivering. The world wants portability and ease-of-use and attractive-simple design. Windows 8 might be the bridge from the desktop client PC to some kind of iPad-like, Chrome-like Worktop, always connected to “the cloud”.

    Developers using MSFT technologies must always keep one foot in the open, web standards world that is steamrolling over the Windows world. The other foot probably should be in the Android/iPhone/iPad world. No more feet left for Redmond.

  15. Is this a developer messaging PR “blunder” for MS? Maybe a bit, but after the similar PDC2010 controversy, they must have expected some of this.

    Why did they allow it to happen? Apparently MS’s top level decided this “collateral damage” was a price worth paying.

    MS has far bigger problems than causing anxiety among SL/WPF devs. They’re bigger challenge is to find a response to the momentum of Apple and Google. One way to do that is to “embrace” HTML5/JS and tie it to Windows.

    If you are a SL/WPF dev (like me), you already drank the Kool-Aid a long time ago, and are unlikely to going anywhere. If you’re writing LOB or similar apps with SL/WPF, where are you going to go?

    To get the attention of the wider world, MS needs to talk about HTML5/JS. Most of the world doesn’t give a **** about SL/WPF. Talking to the wider world about SL/WPF sends a message (rightly or wrongly) of MS-centric, proprietary-ness and decline. Talking and embracing HTML5/JS gets peoples attention.

    I honestly expect to be doing SL/WPF/.NET for many years to come.

    Vic

  16. Moving to a unified way of doing things where you have to do everything in JavaScript would be like coming away from the tower of babel deciding that from now on, everyone would speak nothing but Pig Latin.

    Eingbay orcedfay otay useway Avascriptjay orfay allway ientclay evelopmentday ouldway ucksay.

  17. C# for managed code, C++ for native and leave the GUI stuff to HTML/css/js. Sounds like a good plan to me.

    Just this afternoon I was sitting in WPF, wishing that I could use a js-style callback model instead of codebehind (or MVVM for that matter).

    I’m sure that the smart people in Microsoft’s development team will be the first to admit that C# (and compiled language in general) aren’t very well suited to GUI development. Take their MVC framework: sure, it’s a massive improvement on ASP.NET WebForms, but compare to Ruby or Python it’s clunky and eventually annoying.

    But the compiler catches bugs, I hear you say. Sure it does. So why are you writing unit tests? If you’re writing unit tests, then why not just go the whole hog and just work with a dynamic language?

  18. My guess is that Microsoft is simply adopting JavaScript as another .NET language to join C#, F#, and VB. That would be relatively easy to do and would explain Microsoft’s statement that JavaScript will have access to Windows’ full capabilities. HTML5 will perhaps be an alternative to the use of XAML. .NET is a perfect platform since its bytecode can be made to run on ARM processors relatively easily. The resulting .NET apps would run on both PCs and tablets without the need for separate compiles.

    To be honest, I can’t think of any other explanation that even begins to make any sense. But if my guess is correct then Sinofsky blundered badly in his presentation and Microsoft needs to quickly step forward with a clarification. We don’t need details, but we need confirmation that .NET has a future.

  19. Huh? How can you possibly say that compiled languages aren’t good for building GUI? You do know that almost every rich UI ever built (and I’m talking about stuff WAY more rich than anything the web has ever seen) has been in a compiled language right?

    There is nothing intrinsically good or bad about doing UI in a compiled language. Whether the language is compiled or not is pretty much 100% irrelevant to how well it handles UI.

  20. @Tim: “… it is bewildering that Microsoft is being so careless with this critical part of its platform …”.

    Someone like Sinofsky would probably argue that this is not being careless. Ruthless and calculating, but not careless. From this angle, the anguished wails from SL/WPF/.NET devs are actually a positive. Those wails prove to the non-MS world that MS is really serious. If MS wimps out and “clarifies” too early that SL/WPF/.NET are still central to Windows, the non-MS world can conclude “Oh, they weren’t really serious about HTML5/JS”.

    The wailing from MS’s own “children” makes news (of which your blog-post is a part), draws attention and shows a “brutal” sincerity.

    MS is in a war for survival. This is a classic case of “killing thousands to save millions”.

    Vic

  21. @Vic: “This is a classic case of “killing thousands to save millions””

    You mean like in killing thousands of developers to save millions of dollars?

    Best regards,
    Kasimier Buchcik

  22. @Kasimier: Re. “killing thousands of developers to save millions of dollars”: I’d change that to: “temporarily irritating thousands of devs, to save the larger platform those devs make millions of dollars from”. The decline of MS and Windows has already destroyed hundreds of billions of dollars in MS market value. I see the embracing of HTML5/JS as a bold strategic gamble to keep MS/Windows relevant.

    Just to be clear, I think MS will _eventually_ make it clear that SL/WPF/.NET are still central to Windows development, at least for LOB/Enterprise apps.

    Vic

  23. The fretting is pointless… there will be a good development story for .NET and native developers. The big question is on whether those writing .NET and native apps will be writing some javascript too? And I can see that being answered a few different ways.

    Those writing C++ apps will probably have the underlying API available to them but they’ll probably will be writing a lot of javascript. Kind of like where Qt5 is going. Those writing .NET applications will probably be able to avoid javascript.

Leave a Reply

Your email address will not be published. Required fields are marked *