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.
@Vic: “Eventually”. That’s the problem. You might have some insider info regarding the path MS will actually make us walk on. But do we need a company full of teenagers engaging in “It’s all for the good. We have secret plan hidden beneath all those partner-company-destroying revelations we spit out”. This code smells. Whatever political / marketing reasons are currently running, something went wrong in the first place and we don’t like our intelligence to be insulted by a bunch of kids playing with teddy bears. I.e. this situation is silly and destructive and this means: the actors let it come to a point where a situation can only be fixed with silly, irritating and destructive games. I don’t like that. It’s not wise. Makes me feel worried about future operations of MS.
Best regards,
Kasimier Buchcik
You all that think MS won’t drop a technology should go back and read the comment by Fortis Bonitas again. Not only VB but remember ASP and how that was dropped for ASP.Net with no sort of bridge. I really don’t know why some people cling so tightly to MS. MS doesn’t innovate. They follow. And when they start getting to far behind they will cut you and your technology off at the knees to do catch up to what everyone else is doing. Right now Google and Apple are racing a bottom up race changing the landscape starting from phones into a tablet market that MS never could get going and both heading into the desktop in their own ways. MS has to cut them off and this is it. The hottest development these days is not going on in .Net or really any other desktop technology. If you want to get developers flocking to you it better be with HTML 5, Javascript etc. Thats what MS is trying to do.
None of this should worry you if you don’t tie yourself into exclusively into MS technology. There are many other systems, platforms, IDE’s etc that are just as good and better. I know because I work with them side by side with MS tools all the time. I welcome this whole change by MS because one way or another this will usher in a lot more openess and cross platform application development.
@Kasimier: No inside information here. I understand that you are angry about the lack of information and agree that anger is reasonable. I’m just offering a hypothesis that might explain the thinking behind it.
FWIW: I’ve been working with SL/WPF for the last 3+ years. Am I going to drop that? And move to what? If I really had to switch, I could re-write the UI in WinForms, or even native Win32. I’m sticking with SL/WPF because it’s a reasonable platform for now. Frameworks come and go, but the core functionality of an app is what’s really important.
Vic
Dude, you can run .NET and Silverlight in an HTML container. If your app needs to do anything with the PC run it as a service, etc. The Tiled mode DOES HAVE .NET SUPPORT, now the real question is will they make it easier for us then everyone else. But even as is, this won’t be a difficult platform for me to code against. 😛
As i know MS newer did leave developers behinde, remember Visual Basic now for the today market you use VB Net, before you use Java then Microsoft came with C# and so on. My point is that MS will come with some enhancment to the platform so existing languages we cane use to build HTML 5 and Javascript like (Script#).
Sorry for my bad english
Well, you hang around software development with Microsoft products long enough you see this scenario play out over and over again. About every 10 years or so, Microsoft makes radical changes to their software development platform.
In the late 80’s at the start of my programming career, I used QuickBasic, along with C and MASM. Then Windows and tools like VB came along in the early 90’s. Next, in 2001, here comes .NET which is quite different from classic VB and has a sorta new language that MS is pushing C#. Now, here we are 10 years later and, surprise, another big change is brewing in Microsoft’s development tools division.
Microsoft’s future is dev. Silverlight isn’t going anywhere. With Azure taking center stage, attention is turning from infrastructure and IT pros to apps and developers. And with the current emphasis on Silverlight and WPF, and Microsoft’s own products being built on Silverlight, I find it hard to believe that Microsoft would turn their back on it. The toolset needs to continue to grow, becoming increasingly rich and robust, which will probably mean new tools. But that is a good thing, and I’m with @8r13n…no one said Silverlight won’t work or that you can’t use. I expect Silverlight will continue to be a great tool for Win8 platforms and beyond.
Windows needs some answer to the iPad and Android tablets.
Windows needs its APIs to appeal to developers other than just C/C++.
Windows needs to make sure its APIs can be adopted on day 1 of shipping – not to depend on some 3rd party framework like .NET.
Windows got burned by .NET in the Vista era and doesn’t care for .NET – it’s irrelevant.
Windows needs an application store which usually means that the applications must be written in some sandboxed technology, not native.
Windows 8 = 5 birds killed with 1 stone.
Jim, .NET is not a 3rd party framework, and is sandboxed.
Tim
If you’re the Windows team then .NET is very much a 3rd party framework because you don’t own it, or its ship schedule or its feature list.
.NET is sandboxed so would work in an application store but it’s not as popular as HTML/JS and Windows doesn’t like it so…
That there appears to be such hostility and internal competition between the Windows and Dev divisions at Microsoft is cause for concern. How can they expect to be successful if they don’t have a joined-up strategy? It’s one thing for directly competitive projects to clash – remember Lisa vs Mac back in the early Apple days – but quite another for divisions which *ought* to be symbiotic. Windows provides the platform, DevDiv provides the tooling. If that’s broken down then the organisation itself is fundamentally broken.
Sinofsky ships stuff, he gave us Office and Windows 7, so I find it hard to condemn him, but this apparent war against all things .NET will only damage the brand for the one community that still genuinely likes Microsoft – its developer community. Were Ballmer a truly savvy CEO then he’d have Sinofsky on the carpet right now and there’d have been a hasty post-Muglia style ‘clarification’, and several hundred thousand developers and interested parties would not be at silverlight.net reading all about how much Microsoft currently sucks. It’s a PR disaster, at least within that community. And it’s not a community Microsoft can just ignore, no matter what the Windows team thinks. Are they really that deluded?
Fine, Microsoft, become disliked – or at least nothinged – by everyone; become the new IBM. You can stil be financially very successful, just like IBM is. But you will no longer be in the driving seat, or in with a shot of taking it back from Google and Apple. And when Windows dies, even if it’s thirty years from now, you’ll become irrelevant.
Wow – I’m surprised how angry this whole thing is making me, even though I’m a Web developer by trade and in theory this move should make life easy for me if I want to develop ‘new’ Windows apps. Haven’t felt this annoyed with Microsoft for a *long* time 🙂
NH
I wonder which tile the Blue Screen of Death will appear in
Developers,developers ,developers,developers, developers,developers, we are going to screw developers!
@Vic: “I’ve been working with SL/WPF for the last 3+ years. Am I going to drop that? And move to what? If I really had to switch, I could re-write the UI in WinForms, or even native Win32. I’m sticking with SL/WPF because it’s a reasonable platform for now. Frameworks come and go, but the core functionality of an app is what’s really important.”
The difference over here is that I’m doing WPF/SL development for *free* now. I cannot find any customers who want to pay for WPF/SL apps; they are all too scared wrt the future. I don’t understand what MS is doing here. MS is producing headlines with big neon HTML/JS letters. This is what customers read and understand; they won’t listen to subleties related to Jupiter. MS is not *that* naive to know that, thus it is responsible for the mess. I’m located in Kiel, Germany. Currently, and partly, I earn the most of my living by refactoring a WinForms/ASP.NET monster and we’re planning to go full ASP.NET in the future; which will cost our customers much more than a WPF Fat Client. WPF/SL is just a hobby now, which I enjoy more than everything else, but it’s just a hobby and this is really, really sad. It makes no sense to me and should not make sense to anyone else beside specific braindead and please-to-be-transferred-to-a-lonely-island MS executives.
Best regards,
Kasimier Buchcik
@Vic: I should replace all occurrences of “braindead” in my writings with “irresponsible”. Those guys are sadly not braindead (easily recognizable) but just irresponsible children who need some weeks of hard real work at a shop in order to f*** the decadence of out of them and calibrate their reality processor.
Best regards,
Kasimier Buchcik
@Neil:
I agree the handling of this and the conflict within MS is disturbing. I recently read an article which suggested that replacing Steve Ballmer wasn’t really what was necessary. Rather it was finding a replacement for Gates (which probably is as unlikely as replacing Steve Jobs at Apple). MS rose to power with Gates as a unifying technical lead, but now it seems we are left with multiple, unsupervised power centers (eg. WinDiv/DevDiv) pulling in different directions.
@Kasimier:
So why should we continue to invest in learning about and working with SL/WPF? Because although the technology isn’t perfect, and it _may_possibly_ not receive a lot of future investment from MS, it is here now, fairly complete, and fairly well supported (documentation, samples, etc.). These new hypothetical frameworks that will be introduced with Win8 will presumably have some technical advantages (like better perf in some use cases), but also be immature. Look how long it has taken to get the SL/WPF tooling and supporting control classes to where they are now. If I need to deliver a rich client application in the next 1-2 years on Windows, I’d prefer to do it with a semi-mature toolset and framework.
Vic
I think everyone seems to be missing an important point here. Microsoft makes money selling Windows and Office which runs on Windows. Most people run Windows because that’s what all the apps they use run on and because they’re used to it.
If Microsoft move completely to a dev model based on HTML/JS then the apps that are created will run on any OS. That means in a few years time when legacy apps are obsolete then nobody needs to run Windows anymore – they just need to run an OS with a browser.
If they put in a load of hooks to underlying Windows functions they’re back where they were years ago being slated for not being standards compliant.
I think this is all a poorly managed PR exercise by Microsoft to show how committed they are to HTML5. There will be an announcement at BUILD that as well as supporting HTML5, Silverlight will be used to develop rich apps for W8 (the Jupiter project). There will also be a new app store to buy all the fancy new apps, and hopefully a new app deployment model that doesn’t mean a load of registry entries, files dumped all over the filesystem, a secure sandbox, and a simple drag-to-recycle-bin method of deleting an app.
It’s a good thing I think and .NET and Silverlight is not going anywhere. WPF will die but in a way that sees it merged with Silverlight. Let’s just hope this PR blunder doesn’t scare off all the Microsoft devs in the meantime.
Microsoft will not abandon it’s bread and butter it’s just trying to attract more gravy.
You guy are overreacting.
MC
@tim
“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.”
Just terminology wise I think its worth being clear, even if they did go fro HTML/JS on client its quite possible server side would be .NET (including for example using JQuery/ASP.NET MVC).
Take a business rather than developers perspective for a moment.
Microsoft’s core profits came from PC Applications, Operating Systems and some high end business packages, all PC oriented. “.NET” was concieved as, a better Java and a better Visual Basic/MFC for building desk-top applications, business applications and “software-as-a-service” frameworks. Windows CE development was a travesty of mismanagement, as support for “.NET” technology was imposed on it, when thin-clent technology was the only thing that meant sense.
In the meantime Apple copied the games industry model of digital distribution (pioneered by Valve’s “Steam”) matching it with attractive portable hardware. Cloud technology based on linux/Unix, emerged as the dominant “Software-as-a-service” technology. The battle grounds are (a) thin client/portable hardware (b) specialist games consoles, and for the business sector (c) cloud services/applications. Microsoft has an edge only in one of these.
So.. move Scott Guthrie to Azure, at least try and claw back come ground on Cloud, try to leverage the existing “.NET” base. However “.NET” is not the solution to the thin-client/portable hardware problem.
The result? For desktop applications “.NET” becomes the new MFC. For Azure, expect a “Cloud.NET”. For the consumer market, Appstores and thin-clients without the overhead of “.NET”. However these are areas where Microsoft cannot catch up. NOt technologically, but because its brand is inextricably linked with the Desktop PC, and Desktop PC development.
We can stay a “.NET” developers and maintain “legacy” systems… or…
I think Microsoft has NOT been given the credit I think it deserves for this ploy; designed to achieve three things:
1) Finally killing the competition: Adobe Flash+Air – browser plug-ins are NOT required if HTML5 is de rigueur. Silverlight is already dead in the public space anyway – so the death of public Silverlight is irrelevant (to Microsoft) AND get brownie-points for being standards compliant into the bargain.
2) Hurting established app stores: by defining HTML5 as the “open standard” for ALL apps – ie. run your apps NOT just on your iPhone – thus making native (ie. non-HTML5) apps a “legacy” approach now. Windows Phone Marketplace is the Sacrificial Pawn to take the opponents’ Queen: Apple App Store or Google Android Market.
3) Keeping Microsoft Windows relevant: “everyone” has an iPad and so Windows needs tablet+slate form-factors with excellent UX. Offering Tiled+Classic is brilliant: Microsoft Office (cash cow) can still work in Classic + it’s a portable-ish Tablet when undocked … AND the light 7/10-inch portable slate just runs Tiled on ARM for days/weeks between charges.
I’m sure there are more reasons but I see this as Microsoft facing-up to reality and about time.
Pity about Silverlight though – can’t see it appealing any more if it’s just for Intranet apps – I feel this will lose out to HTML5 as well even in this space – who wants to have developers split with such close BUT ultimately totally different skill sets?
re: “Microsoft will not abandon it’s bread and butter it’s just trying to attract more gravy.
You guy are overreacting.”
Yup. That’s what they said about VB7 as well. Good luck guys. BTDT. Trust me, there is life after MS.
http://vb.mvps.org/vfred/Trust.asp
Dan (former VB MVP)
Is it not possible that at this Build conference, a new fancy compiler is announced, that will convert your windows forms/wpf/SL applications to HTML/JS?
Lots of things are possible 🙂
Tim
xaml, xaml, xaml … build, clever, howgh!
A new fancy compiler is announced, that will convert your windows forms/wpf/SL applications to HTML/JS? Lots of things are possible
google