Over the past few months there have been many odd announcements, rumors and convulsions coming out of Microsoft. It all started when Bob Muglia announced that their “strategy has shifted” toward HTML5, and Silverlight will not reign supreme forever. That one statement caused ripple effects that literally put some people out of work, caused projects to be put on hold or cancelled, and made many people in the IT world wonder…
The major concern for people who have invested years of time learning Silverlight, whether it is valid or not, is that they are about to become dinosaurs. For people focused on WPF this news was not as threatening or shocking because, well, WPF was not the new kid on the chopping block anymore. Silverlight was. Until now. Chop!
Perhaps the world at large does not follow all of this nonsense as closely as the people who bother to blog about it do. I have heard from several friends in major U.S. cities, including New York and Boston, that there are many opportunities for experienced WPF and Silverlight developers. Brief searches on Dice.com confirmed this. The “real world” seems to have just recently (past year or two) wholeheartedly adopted WPF and Silverlight. I have noticed that it takes a long time for large organizations to adopt new technologies, so perhaps all of this handwringing is for naught. Unless you depend on cutting edge technologies for a living, there’s really nothing to be concerned about. But there is something else to be interested in…
Jupiter is the code name for some new UI programming platform that supposedly might be available in Windows 8. There is a lot of speculation and rumor on the Web about what exactly Jupiter is, and is not, but there have been no official announcements as of yet from Microsoft. I have heard tales of it being a replacement for WPF on Windows 8, using XAML (amidst rumors of the XAML team at Microsoft being disbanded), it supposedly is called DirectUI, and it supposedly will support being used with native C++. All I can say is “Cool!” and I hope that this Jupiter thing turns out to be awesome, but I don’t care much about it until I can fire up VS and kick the wheels.
Supposedly all will be revealed and clarified at the upcoming BUILD conference in 2011. I suspect BUILD will answer some questions and unleash a new wave of turmoil in the developer community. Regardless of how successful the Microsoft PR machine is at that conference, one thing is certain. These are strange times in the world of Microsoft developers.
Good post – while the UI shift is pretty apparent, I think the biggest chamges will be in the .NET platform itself. Microsoft has bet the farm on Azure, and I suspect the new platform will be their way of capitalizing on this bet…my .02!
Phew! I thought I was the only one having doubts about Microsoft’s sanity.
I don’t use Silverlight (unfortunately), but I did contribute to my company’s decision to depend on WPF, starting 4 years ago. To hear, even in rumor form, that perhaps WPF is on the way out does not make me feel very comfortable.
See, I’m of two minds about WPF. On the one hand, I’m sold on declarative UI layout and databinding. On the other hand, the dynamic aspects of WPF make me uncomfortable (debugging issues, etc.).
Also, WPF reminds me in some ways of the old Windows APIs; thats the F part of WPF. My impression is that additional abstractions were intended to be built on top of the raw APIs, sort of like MFC and VB were on Win16/32. Clearly this never happened, at least not from MS (although rumor has it that private individuals did attempt parts of this…).
We could also go on about the steep learning curve, the performance problems, the lack of continued development effort,…. and so, etc.
So, if WPF were to be semi-deprecated in favor of a newer framework, such as has been hinted at, then maybe it would be not too bad. But MS had better deliver this time, and had better not deprecate .NET, or you could have lots of company on the Sayonara Microsoft express.
HTML5+JS+platform extensions: Fine. A modern environment for C++ (or WinC++ or whatever they decide to call it), also fine. Just don’t force me to go either of those routes.
@Brandon – Good point about Azure. I read your blog post that you linked to and am intrigued. Good speculation on your part. I guess time will tell if you’re right.
@hybrid – WPF isn’t going anywhere. Microsoft supports their platforms for at least ten years. It’s not “dead” or becoming deprecated. Plenty of people still use MFC today. Plenty more are still using WinForms. The chaos at the center of the solar system (Microsoft) is necessary to keep the planets functioning properly.
@hybrid – One other thing to mention…the fact that there is not a lot of new development on WPF by Microsoft does not indicate that there is anything wrong with WPF. In fact, it indicates that the platform is mature and works well enough to not require more work. Sure they could add new features, but, outside of massive work items like “substantial perf improvements” I personally don’t think there is much left to be desired.
Perfect synopsis, thanks Josh. All I might add is that Ars Technica has an article speculating about Win8 shipping a second runtime, WinRT, that fulfills some of the “Longhorn” dream:
Hey thanks, David. I read that article when it came out. Definitely a good read. The fact that they compare DirectUI/Jupiter to Longhorn makes me immediately question whether that new platform will be “for real” or if we’ll be stuck with HTML5/JS if it fails to materialize.
I’m with you on the iOS point. I am rapidly picking up the Mac stack because what I see out of Redmond is a flailing company just trying to do whatever it can to stay hip and relevant. I’m sick of them going back to the drawing board instead of fixing what’s broke.
I for one have lost all faith in them. I will never waste the time to learn a new Microsoft API again because I have zero confidence that it will be actively supported in 3-4 years. So if they wanna go the HTML5 active desktop route, go ahead but then there’s no reason for me to stick with Windows. Hell even if they come out and say all is fine in XAML land I won’t believe them. The damage is done.
@Josh Einstein – I think a lot of people are starting to see things that way. From the outside, MSFT looks like it’s gone mad. Sure, they might be making a genius move that we just don’t understand yet, but until that’s proven to be the case, it’s rather disconcerting to watch. Compared to other tech giants, like Apple, MSFT seems unwilling and unable to calm down and commit. They are all over the map, with a new story every time you hear from them. Contrast that with Objective-C and Cocoa/CocoaTouch, the long-term staples of OSX/iOS development. That is a stable world to work in, and stability is what most people prefer.
@luv2code – Bravo! Thanks for sharing that. 🙂
How about good ol’ Charlie Brown: http://peanutsroasted.blogspot.com/2011/06/sunday-march-21-1954-eight-stages-of.html
@fignewtron – That’s fitting! LOL
I for one welcome the change of direction of our overlords. Been doing the wpf thing for 4 years, getting a bit bored, and it will be cool to have something new. The race will be on to be the first to blog about new patterns and widget rounding techniques. Exciting times.
I’ve made a fine living the last 20 years blindly accepting what MSFT tells me to di, why stop now.
I won’t be doing the html/js thing as my main stream activity either, otherwise I would be working on boring projects. I am more interested in the possibility of a new xaml based platform.
I learned WPF from using Silverlight, and the first big WPF project that we got, it took a lot of interop and WinForms Integration to get it done. WPF is missing a lot of stuff that’s easy to do in WinForms and C++.
However, we fell in LOVE with Silverlight, but it was never the complete solution for any customer, we always had to do HTML/JS/CSS for any of their customer facing stuff, and for the Military, Silverlight wasn’t even in the conversation because you needed admin rights to even install it(they all had flash already installed).
What will be easier to ignore is continuing to use Microsoft tools to build the client. Before Silverlight, we only used VS for the server, and now that there are free versions, we won’t even need to buy the higher versions because we don’t need the other stuff that’s in them.
Silverlight was the first time we ever trusted Microsoft for a client technology, and I’m not impressed with the result. As someone above said, the damage is already done.
We’re business people, so we won’t just dump everything Microsoft, but as soon as there is any choice, that opportunity will be utilized to drop the Microsoft product in favor of anything else.
I’ve stopped wondering why they’re doing this, it is what it is, and if they’ll do this to their customers, it’s a performance that I don’t want to give another chance to deliver… once is quite enough.
I think this illustrates Microsoft’s problem pretty well:
That said, I think anyone saying Windows 8 will be the death of Silverlight / WPF / .Net / their kittens / C# / XAML is severely overreacting.
Microsoft aren’t idiots. They know how important developers are to them. If they would go “Oh hi, .Net is out the window, everything is in JS/Html now”, a large chunk of their developer base would go “Well, &%# you, we’re switching to Java/Ruby/Apple cult/Anything but JS”. And they know that.
Win8 demo was about the UX nothing else. If they didn’t want to engage with dev’s they shouldn’t have mentioned H5. Failure to engage post demo doing damage that may not be recoverable in September especially if Apple release good hardware experience to go with iOS5. August/Sept going to be huge months for dev’s.
Ironically, MSFT saving grace at moment might be Mango.
Thought provoking writeup. I think this has been hapenning to MS developers from time to time. When ASP.NET MVC was release it was as if the end of road for ASP.NET developers. When WPF was released it was end of road for Winform developers. Time and again MS has been restructuring its developer platform. It shouldn’t come as a surprise what they decide to do with Jupitor.
@Thomas RE: “Microsoft aren’t idiots…”
There are definitely a lot of really smart people at Microsoft, but it would appear that there are also one or two of the aforementioned making some prety dumb decisions.
Silverlight was underdeveloped and underfunded.
However, you may notice that many of the proponents of Microsoft’s latest technologies are very smart people and that Microsoft is no longer producing developer friendly tools and technologies. The learning curve for these new technologies is pretty steep as is the investment to master them.
Microsoft made it 80% of the way, but over the past two years they have lost their way. Only the IE team have got back on track, but this has scewed the view of the rest of the company.
Finally, Apple and Google Apps sell because they are $1.99, whereas Windows apps cost $199. It is not the technology that is the problem for users, but the price of the apps.
I’m sorry – what “Microsoft PR machine”? 🙂
Microsoft could reveal the most awesome new technology at Build but it would not excuse the way they have treated their development community.
I have made a living developing with Microsoft product since their very first ‘C’ compiler. I have supported Microsoft through the OS2, Borland, WordPerfect, etc. wars; however, they have lost my support now through their treatment of the development community.
I will continue to use .NET, C#, WPF, and especially Silverlight as long as I can get it to download to the user’s machine.
I’ll take a look at any new technology from Build but if some form of Silverlight is not on Windows 8 I will be extremely disappointed in Microsoft – we finally get awesome 3D in Silverlight but maybe it will not be supported in the future – what is that?
What ever happened to Dr. WPF – the Doctor’s last post was May 8, 2010.
Web-applications and cloud-services will become more and more popular. HTML5 provides a powerful platform for many purposes, just take a look at the google applications.
But real desktop applications will not disappear when Windows 8 is released. What Microsoft presented just showed the new desktop. This desktop can be enhanced with some widget that are created in HTML and JS. I don’t think that that is a problem, those widgets are no full featured applications, they are just some simple widgets.
No need to panic.
Yeah – I spent too many years laboring at the HTML/JS rockpile. No Thanks! Hello iOS/Android! I’m diddling with Objective C at home in the evenings, and it’s no prob for an experienced C# dev. Lean and fast.
Our IT manager says were staying with Windows 7 for the next 4 years at least, and views Windows 8 as a consumer oriented OS. Our IT dept is committed to Silverlight, and our users totally love what we’ve done with it, and much prefer it over HTML apps.
I recently right-clicked and selected “View source” on an HTML business app. OMG. What f-ing crap. Never again. But then, I’m extreme; I code everything Silverlight in C#, no XAML. It’s super fast and super lightweight that way.
I think they should have used WP7 for tablets, instead of waiting another 9 months or so to enter that market. That’s just crazy to wait so long. I don’t think MS is very good at business matters these days, otherwise they would have had WP7 out immediately as a tablet OS. Very lame on their behalf to make their hardware vendors wait a year+ just to compete in the tablet market. No surprise then, that these same people would rave about HTML5 when Apple, Google, Amazon, IBM, or any other OS manufacturer would give their teeth and left sphere to have Silverlight.
Luv2Code: Hey! That was a great video – laughed my tail off. Thanks.
I saw a video of Sinofsky demoing W8 while interviewed by a Wall Street Journal tech guy. At the end they took questions, and this guy from Seesmic asks if their investment in Silverlight apps (they have a couple that have sold very well) was wasted. Though Sinofsky assured him that W8 supported Silverlight on the desktop and in the browser, his response was kind of indignent, as though he was irritated or something. I’m worried about MS being around much longer. They don’t seem to have respect for the developers who take years to learn and use their technologies. They’ve pissed everyone off. There were about 30 million hits on one of the developer blogs regarding their being remiss over Silverlight in W8. They may lose their relevance in a few years. I don’t care as long as they don’t take SL with them. Love working with SL. My users love it too.
I thought that developers are smart people. Do you really think that Microsoft is going to dump everything in favor of html/js?
Please, come on. All those moaning and groaning is plain stupid.
After playing with Rx a little I’m confident that MS will always have better dev story.
Enterprise apps are web projects. Microsoft is just recognizing reality.
Why learn iOS and Android when the same LOB html5 Mobile app can run on any device. Modern mobile browsers will support the gestures native apps enjoy now.
.NET has a steep learning curve? Good. This means I’ll be paid more than LAMP developers and I’ll busy and excited to be learning and not be bored.
Follow the jobs, not the technology.
@luv2code – Excellent! Who makes these things?
Thanks for sharing that.
This madness comes standard with most development platforms. It happened to Cobol programmers, and it will happen to Microsoft, Apple and Android developers as well. The frustrating part is that it happens too frequently for Microsoft developers: Windows API, VB6, Active X, DNA (remember that?), .Net, WPF, Silverlight and now HTML5? With everything becoming obsolete so quickly and the mounting pressures on developers to deliver products quickly, it is discouraging to delve into any (Microsoft) technology.
That being said, I don’t think WPF and/or Silverlight are going anywhere. The last few seconds of the Windows 8 demo shows Office 2010 running comfortably on Windows 8. Guess what? Office 2010 is still running on native C++ (with some .Net interoperability). If Microsoft tells it’s users to use Office Web apps, they lose serious revenue. And why should users to go Office Web apps anyway? They can go to Google or Zoho. Before telling developers to throw away WPF, they should convert their own desktop apps to HTML5/JS. Have fun doing that!
On a final note: If you looking for stability, this not the place to be. Go to medical school (or something similar, where pseudo knowledge doesn’t get thrown out the door by some for-profit company).
Thanks for the compliments.
Good Post Josh …
If Microsoft think HTML5 is the one … for windows 8 , then will there be any surprises for WIndows Phone Developers too in the next version of WP …?
Google “WPF dead” and two responses down you’ll see a “no way!” response from the WPF program manager back in September. I clicked on the link to his blog to see that he has now been reassigned to the Kinect team! The pictures he had of his new Microsoft office were breathtaking. My take is that they have it so good there in their fancy digs that they’ve forgotten about everyone else.
Wondering if anyone in Redmond noted a particularly poignant and relevant indicator in the RIM executives open letter to those driving his company into the ground:
“We urgently need to invest like we never have before in becoming developer friendly. The return will be worth every cent. There is no polite way to say this, but it’s true…”
I am reminded of the Romans and how they set in motion the destruction of their once vast empire. Many historians have suggested that widesprad, long-term ingestion of lead, ever-leaching out of the pottery used making vessels in which wine was stored, so diminished their overall intellectual capacity as to make collapse of the empire all but inevitable.
Seems much of same is happening is Redmond, especially when it’s suggested that the Windows and Office teams would have us believe that there are hordes of C++ developers awaiting the chance to return to high-performance development on the Windows platform? What?
I used to be among the best C++ developers I ever met, all in on COM, DCOM, COM+, but I can say with all sincerity that it’s literally been years and years since I’ve encountered anyone still familiar with or interested in C++, capable of actually handling C++ (or that hideous beast, managed C++), so when it becomes absolutely unavoidable, I’m the last man standing.
I also spent a lot of time in Redmond prior to the release of Windows Vista. The Windows guys pushed and pushed and pushed for us to be excited about new features that were Vista-specific, until finally one of us said what all were thinking, “So all of this is possible via managed code?” The answer, of course, was no and after an agonizing moan swept the auditorium, everyone stopped listening until the Windows team departed. So, how many developers and their associated companies invested in Vista-specific development? Any? Certainly not mine. And what happened?
And last of all, let me add something else particularly pertinent – I have been repeatedly offered the chance to work as a Microsoft employee, but each time the story is the same – you’ll be working on one thing or another (WIndows, Office, and so on and so on) in C++. Always C++, always something way down in the bowels of past sins for which two few have yet been made to atone and I have, without exception, turned down each ‘opportunity’.
Why? Because I long ago concluded something fundamental – to work with the best of that which Microsoft has created (and Silverlight is and will remain its greatest achievement, dead or not), one must necessarily work outside of Microsoft to do so – and to me, that’s awfully telling.
If it’s true that the Windows and Office teams at Microsoft have somehow, finally, gained the upperhand, then the empire is already crumbling and like DEC before it, a once mighty company will fall to dust at our feet, all in the blink of an eye…
I am using MVVM with WPF.
I find that the tab control used in http://msdn.microsoft.com/en-us/magazine/dd419663.aspx has a memory leak.
In addition to this the relay command is also holding references that won’t be released.
Any ideas why this is the case?
What abou this:
FUD, FUD and more FUD.
WPF is going nowhere. Silverlight is going nowhere.
Just because your chosen technology wasn’t mentioned, don’t assume it’s dead.
It seems that the real problem is that nowadays things are so quick that people don’t even take the time to understand what they are reading.
So if you talk about some new feature you have to tell that previous feature will be kept. Actually even if you tell “all while retaining the ability to use your existing apps” nobody will read it anyway.
Are you all high? Isnt .NET based on the CLR which can be loaded onto any OS or Hardware platform (see XBox, .NET Micro, etc.) So since the CLR is a layer of abstraction it should be able to be hosted on any software or hardware platform. If you can port and run Java on a certain platform you should be able to port and run .NET. Your code is not tied into machine level anymore it is tied into an abstraction that can be mobilized across platforms and boundaries.
I might be off a bit, but I know using .NET and C# that I can write code and run it in a web browser, in Windows or on a FPGA, a Arm microprocessor, a micro-controller real time operating system, a Texas Instrument DSP chip etc etc.
Yes the port of the CLR needs to be done, but once it is done your investment can be run on any platform.
And yes I know the .NET micro framework is a limited subset, but the point I am trying to make is that if you target the .NET micro framework then your code will run on anything that is running the micro CLR.
I can write core code once and use it in any software or hardware application across different operating systems and across different microprocessor architectures. Try do that with anything Apple, you are tied to their set of hardware and their set of software, don’t even think about taking your objective C class library and running it on a real time operating system of your choice inside a FPGA. And getting IOS to run on something not Apple supported…. Good luck with that too.
The thing that makes no sense at all is all these developers rallying against Microsoft for making an OPEN STANDARD common language runtime and Apple refusing to allow browser plug-ins that would make this technology cross platform.
Developers should instead be rallying against Apple to be open so anyone can develop Apps for their hardware based on any technology that is hardware independant. Apple is closed on almost every front and it is their way or the highway. Unfortunatly Apple has duped customers into buying the Apple logo and a semi-unique user interface with all the background logistics a mess for developers. The only people who are into Apple are the people who have no clue about technology and what is running and happening behind that user interface whether it be framework or politics.
Josh, you not blogging more about WPF itself shows that , nothing new is gonna come out from microsoft on WPF I assume all the teams got disbanded to work on Windows Phone…. so what is the future of it ? another VB6 ????