Where are we going?

Yesterday I saw a few blog posts coming online, talking about the future of Microsoft’s development sphere. There was one from Scott at OdeToCode that talked about the future of .NET, and that open source might be the the thing that “saves” it. And then there was another one called “The Dying Platform: .NET”. I decided to highlight the later one on Twitter and Facebook, and got a few different replies. All of them more or less solidifying my beliefs, so I decided to write this post about it… And by that, I mean that people with a close connection with Microsoft and/or long experience of the Microsoft spehere, said it was wrong, and the more “regular Joe” developers said that it was spot on…

First of all, due to the fact that a couple of people fairly close to me told me that it was wrong, I will start off by explaining what parts of that second blog post I agree with, and why.

Point 1 – “Inherent hatred for Microsoft and anything it does, even if it is good”. This is absolutely not Microsoft’s fault. It is a generally messed up view of the world, that unfortunately targets Microsoft a lot more than others. Microsoft pretty much can’t do anything right according to a lot of people, while Apple and Google can barely do anything wrong. The thing I find most sadening about this, is that I hear it a LOT from .NET devs. Why stay on a platform that is that bad then? Either support your platform, or move to another one. Or at least shut the @£#% up! Having the devs on the platform talk about it like that, brings it down for everyone, especially people that don’t know enough to have an opinion of their own. And the vast majority of the people out there don’t have a clear opinion of their own…and if they do, it is based on what they hear, not actual facts…

Point 2 – “Windows 8 and WinRT with it’s confusing .net support”. Yes, it is really hard to figure out what is happening here. I can honestly say that I believe I understand it, but it isn’t a simple thing to explain. But if you do listen to what is being said, .NET isn’t going away at all at this point. My biggest concern here is that Microsoft is calling anything not WinRT-based “legacy”, which sounds a lot like deprecated… But that’s mostly a marketing failure, which I will get back to later…

Point 3 – “All the windows phones, and particularly the WP7 fail…”. I mostly agree with this. I believe screwing over the early adopters with a non-upgradable OS update was a MASSIVE mistake that alienated a lot of people. It also fragmented the market, which was the one thing I thought that they would NOT do with this platform. On top of that, the talk about how updates would not be blocked by carriers but come from Microsoft directly turned out to be BS that caused even more aggrevation. I REALLY want to love my WP device, but it is unfortunately really hard. Having that said, it is still very early in the game, and I really hope they catch up to Android fast. If I can get a WP platform that is uniform with the one on Windows 8, and with similar interface driven system integration, it would be a great step in the right direction. But so far, WP is not what I wanted it to be, and I hear a LOT of people saying the same thing… On the other hand, that is also not completely Microsoft’s fault. The fact that well-known apps reach WP in much crappier versions is not Microsoft, that is the app developers not taking the platform seriously…which might be caused somewhat by Microsoft though…

Point 4 – “Half arsed open sourcing…”, just isn’t true. The problem with open sourcing Microsofts platforms is that due to the fact that it is Microsoft, taking pull requests can’t be taken lightly. It has to be a controlled environment for a lot of reasons. It might seem like they are not commited to open source if you just look at the hoops you have to jump through to be able to contribute, but if you start scratching the surface, you will probably understand why. I believe the fact that they have put the source code out there for everyone to see is a MASSIVE step in the right direction.

Point 5 – “Tablets and the fact that MS doesn’t have a significant share…”, I don’t know what this is about to be honest. They have just recently moved into this space, and will be gaining momentum over time. Even my wife has said several times that the Surface is the first Microsoft thing that really cought her interest, and that she is now constantly telling me to buy (she is on a Macbook, uses a couple of iPods and a Lumia 800 (the Lumia is because of me…)).

Point 6 – “For me, killing XNA.”. I don’t really care about that personally, but I believe having an indiegame platform that was utilized properly could have given Xbox a great boost.Not in the form of increased revenue, but on the form of free publicity and support from active gamers, as well as a thing that separates it from the other gaming platforms. Instead they made it, as I understand it, a pretty poor experience, which they are now killing off in a big way. .

Point 7 – “XBOX vnext rumoured online only”, is something I couldn’t care less about. I guess there is a small group of people that doesn’t have reliable internet, or can’t get an “always connected” scenario up and running. But they are probably quite few… So I guess the biggest reason people don’t like it is that it gives Microsoft more “control”. Making things like hacking the box harder, as well as bootlegging games…which I believe is a moot point…

Ok, so all in all, I did not agree with all the points in that post, but at least a few of them…

The funky thing is that 2 of the people saying it was wrong, both have extensive experience in the Microsoft areas. However, they have very separate opinions on why it was wrong. One of them told me that we could talk again after an upcoming Microsoft conference, indicating that during this conference the future of .NET would get clearer and solidify that it isn’t dying(and that person should know if we put it like that). The other one said that .NET “is so 2005”, and that WinRT is the future. But that .NET would still be around as there are big legacy systems (SharePoint, CRM, Ax/Nav etc) that still required .NET. So basically, “.NET isn’t going away, because there are legacy stuff that requires it, and since there is money in those, .NET will stick around”. Sweet, that means that .NET is really legacy, and will only be there because of legacy reasons. So basically it is the new VB6… I guess it kind of makes sense, but I’m not sure I like it… We have to leap forward at times, it is just evolution, so of course.NET will be replaced at some point…but I’m really not sure that we are there yet…

Now that I have explained my views on the points in that blog post, let me go ahead and blurt out some of my own thoughts…

Let’s start with something that used to be very dear to me, Silverlight. I can understand why Microsoft would kill off this product. Without plug-in support on a lot of platforms, Silverlight could never be that “reach all platforms technology” that Microsoft initially tried to get it to be. It just wasn’t possible. But, and that is a major “but”, they forgot that it turned out to be a GREAT platform for intranet applications, and still is to be honest. It solves a bunch of problems that pretty much no other platform does, except Adobe Air. It works cross-platform, Windows AND Mac. It is easy to deploy, manage and update.

But if we look away from the technical reasons why they shouldn’t have killed it, there are other factors involved that are more serious. Having Microsoft build, and push a platform as hard as they did with Silverlight, just to kill it off a year or two later left a lot of developers scared and questioning. What platforms from Microsoft can you really bet on? Which ones will really be there in the future? If they are willing to kill off Silverlight after that massive investment, what platform is really a safe bet anymore. I hear this from a lot of people, and I think killing it off hurt Microsoft a lot more than just the loss of a great platform. (And yes, it was a great platform, and I continously hear questions about why it was killed, and that it sucked that it did. It isn’t just me).

And to top it off, twisting the knife and extra turn or two, they decided to add support for Flash in IE10 Metro. Making it a plug-in supporting browser, but not supporting Microsoft’s own plug-in. It just doesn’t make sense, and feels very wrong. And adds even more questions from devs around me… (Yes, I get to answer a LOT of questions about Silverlight due to my previous involvement in the platform…)

And that brings me to another point regarding Silverlight. I am calling it dead. I am saying that they KILLED it. But they never really did. They haven’t officially done so in my opinion. They stopped talking about it, the stopped supporting it in IE10 metro, and they answer all questions about its future with a quote about support agreements… So I am, like pretty much everyone else, calling it dead.

The next thing that bugs me about the current situation is XAML. If Silverlight supposedly has been “converted” into the dev platform for WP and Metro-apps (yes, I did it, I called them Metro-apps), which a lot of Microsoft claim, how come that both those platforms have different XAML support. Which on top of it all are both different from WPF’s XAML. And on top of that, both have less features than both Silverlight and WPF. Microsoft have to get it together and make XAML/C# a uniform thing across all platforms if they want to succeed. However, if they can really do that, then they have a GREAT platform to move forward on. Add support for it on Xbox as well, and they truly have a tchnology that spans the entire Microsoft platform.

The last gripe, and honestly the biggest, is marketing, which is the reason people are questioning the future of .NET and so on. And a big part of why Microsofts strategy for the future is  so confusing up at moment. With the release of Windows 8, I believe they made 2 massive marketing errors. Not mentioning the marketing fail of trying to be Apple before the release…

The first one is the name “Windows RT”. Who the hell knows what that means? I do, but my mother, wife and non-geek friends have no idea. For them buying a slate today is really confusing. A lot of them want a Windows slate, but they have no idea of the differences between the OS versions and so on. Buying and iPad is just so simple. You only have to choose the size of storage. While in the Microsoft world, there aremultiple manufacturers, lots of formfactors and on top of that, apparently 2 operating systems. Well, average Joe only sees one, Windows, but there really are 2. They should have called it “Windows 8 Light” or “Windows 8 Slate Edition” or something. That would have made sense to the consumers, which Microsoft is really targeting with this release…

On top of that, if they had made it less obvious from a UI perspective that you enter desktop mode in the WinRT version, people wouldn’t have asked why they couldn’t run all desktop apps. Just a simple thing like launching Office wihout first showing the desktop would have removed that confusion I believe… WinRT without a desktop UI would make more sense…

Secondly, they should not have stopped focusing on the .NET devs. They should not have made all their demos in HTML/JavaScript. They should not have released all their demo-code as HTML/JS before the C#/XAML versions. They should not have called everything that isn’t WinRT for “legacy”. They should have focused on their loyal developer group to begin with, instead of trying to attract new devs by somewhat alienating their existing developers… They could have done both. They could even have focused a lot on recruiting new devs with HTML/JS, but they should have ensured the support of their .NET devs by explaining how they are still great and extremely important to Microsoft and the WinRT platform…

If Windows 8 turns out to be the great platform for apps that they hope for, the other devs will follow along sooner or later anyway. At least when the number of Windows 8 machines out there increases and gains a large marketshare. They won’t jump to Windows before there are machines out there. So I think thet should have focused on they guys that have supported them for years, and then focus on the others when the marketshare was greater…

And finally, I must give my support to Microsoft. I believe that Windows 8 is the massive shift that Microsoft needs to be able to move forward, and to diferentiate it self from they used to be. Very little has happened from a UI standpoint since Windows 95…it is time to move on. It is time to kill the start menu. It is time to do something new. It is time to let Windows 8 start a new era of the PC. Just look at all the cool new formfactors that are coming out. Just look at the fact that my wife wants a Surface. They are definitely doing something right!

Unfortunately, the disjointed experience that currently is Windows 8 is alienating a lot of people. I agree that the Metro vs Desktop situation is a little weird. I understand it, but it is weird. Having that said, a few UI tweaks could have made it less weird and confusing to the consumers. But to move forward from something familiar (Windows 95 to Windows 7), we have to go through a couple of phases of not so comfortable before emerging better on the other side. Windows 8 is still just a first version. Give it a few, like with all Microsoft products, and it will mature and feel natural.

Unfortunately, Windows 8.1 is probably adding the start menu back in, and the option to boot to desktop. I can understand that they do this after the massive outcry that has been heard from the community. But it also makes me feel as though they are a little bit insecure. I think they should just push through it, and go for it. People will get used to it! People learn to ride bikes and drive cars as well. It might not be easy to begin with, and takes time to learn, but once we do, we don’t care that we had to learn it before doing it.

Go ahead and tell me that I lost the plot, that I am stupid etc in the comments. I can take it… Blinkar

Cheers!

Comments (10) -

Microsoft is in panic. When you panic you make bad decisions. When you make bad decisions things go wrong. Simple as that Smile They are in panic because they have gone from leading to following. Why have they gone from leading to following? Sorry, my knowledge ends there Smile

Henrik; Microsoft has not gone from leading to fllowing in so many respects that it's difficult to count. A few perceptions and in a few areas they are not the alone-all-powerful that they were in say the nineteys. I think they the better for it and I believe very many things coming out from Microsoft will be much better because the competition is closer. Some times ahead, many times just behind, but closer. It's a curse in disguise.

Personally I have NO clue what people are on about with Windows 8. It's a great product. It runs great. It's stable. It consumes less memory. As for UI "issues" - WTF! Just learn the tool - it really is not that different! People are whiny wankers some times. Suck it up Microsoft - move on. Don't move back. (Though they just might on this but they shouldn't.)

Magnus, I couldn't agree more. People are so focused on buying a new device or computer that does the work for you. Look at Google Glass, while I enjoy innovation, the idea of having a computer screen a half an inch from my eyes while driving, walking or talking is ridiculous. I prefer to have a solid sense of my surroundings and anything getting in the way of that is going to be pushed aside. Although, I do like that they invented it, they should re-focus and try implementing that same technology on walls and flat surfaces. Because there is already legislation being drafted up in the US to ban Google Glass from driving and in public areas. So, if you can only use it while sitting privately why not make it usable all the time? Oh, Microsoft is already innovating that with the Windows 8 Platform. No Matter where I go, I am connected to my PC, files, email, Office 365 Account, SharePoint and even Apps I build on Azure. To put that in perspective, I only have 2 email accounts my business account and my personal account and I use them interchangeably.

As for Microsoft being in panic, try again my friend; instead, they are trying to make what we have already better, faster and easier. If people, devs in particular, are able to develop on C#/XAML then they should be able to produce on WinRT in C#/XAML, just faster and easier; the principles are the same. LINQ is still there, EF5 is still there, stop complaining and try something new. Start from the CLR and move your way up and you will find that the same things can be accomplished just because it is a FRAMEWORK. Be reminded that, .NET is a FRAMEWORK and not a language. Frameworks grow and expand as they get older. That is why they do not die unless the creator builds them for a specific reason in a language. See most, if not all, of the AS3 frameworks. Were are these frameworks today?

I hope that Windows 8.1 doesn't go back in any way and I could care less if Microsoft lost market share because a bunch of whiners couldn't just suck it up and try something new. Computers do what we tell them to so find out how to tell your computer to do something for you or get in the back and let the real power users do what they do best, innovate.

I agree with most of all that.  This is really a battle of runtime VMs and the realization that profit is in services and not operating systems.  This is a huge change.

If you're making money from services, then you have to be running on as many devices as possible.  If you want to provide extensibility, then you have to adopt a common language across those devices.  That has to be JavaScript right now.

I would like to see more open source. I think MS could do open source better than Google and others.  The traditionally good developer relationship and tooling could be a massive win for MS if they targeted the wider development community.

What of .NET? Right now, there's only one true universal runtime.  Oracle created ADF to bridge the JVM with JavaScript.  I suspect we'll see something similar from MS.  Possiby using Roslyn targeting JS (or even TypeScript).  

As for JS. If i want truly everywhere, sure, but as long as I stay on the MSFT platform I dont see why changing language would accomplish anything. Very few .NET devs appreciate JS. They prefer C# or the likes. What would a switch in language accomplish except make it available in browsers or other platforms. I would say Xamarin solves most of that as long as you dont say browsers. And some of us actually do non-browser coding...

Making MSFT tech available to non MS devs by adding JS support is a good idea, but I dont see it doing anything but opening the platform to new devs...

The problem is not that people are whining. The problem is that people don't care. They don't care about Microsoft. They are doing just fine with their iPads and Android tablets. And when they need a PC they are fine with their "old" XP/7.
And you can't tell people to shut up and learn. They will fart in your general direction Wink It doesn't really matter what you think at all, at the end of the day.
For me, I'm a .NET dev. And I love .NET/C#! But I don't love Microsoft and the "Microsoft platform" - and that is okay! I don't care if my .NET app runs on Linux or Mac. I don't care if I use SQL Server or anything else. I love .NET/C#. And I love web dev; Html, JavaScript, CSS and so on. But I don't have to love Microsoft. It's just that .NET runs best on Windows, so I use it.

I use Windows 8 at home. I don't get it. I don't need it. I pick up my iPad instead. And I don't use W8 as an RT/8, I use it as a Windows 7.1. I really want to like it, because I like Windows. But I can't, sorry. I don't get it. And I think most people are like me actually... Smile

More of my thoughts on Windows 8: kodkreator.blogspot.se/.../...ot-small-laptop.html

...and I choose to love things based on what I think and know for my self. And I use tools that I like and fits me and the situation best - not just because a certain company made that "thing". Point taken, everyone..? Wink

To be pragmatic. Give my mother one reason to choose Windows Phone over iPhone/Android. Give her one reason to buy a RT tablet over an iPad/Android.
I'm sorry, there is none she cares about. That's why no one is buying them.

I must admit that I don't agree. Just naming one simple reason to choose Windows over iPad and Android, I would say Office. Office makes a massive difference in my world, and in the world of a lot of people around me...

Saying that _no one_ cares is VERY ignorant... Just saying... Through my private company, I get in contact with a lot of people who wotk in non-tech related areas. A bunch of those buy iPads and then ask to get Office installed. They don't get that it isn't a small laptop, it is a tablet. And there are still a LOT of people saying that _no one_ thinks an iPad is a small computer, but a tablet. But to be honest, they don't! And for those people, who want a laptop in a tablet format, Windows tablets are a much better fit. Even if I believe that replacing your laptop with a tablet is a mistake...

So, to make a long story short, a LOT of people DO care! A lot of people do like the new start menu, and the many simplifications that Windows 8 gives you.

A lot of people are also saying that Microsoft is being run over and not innovating, while at the same time complaining about Windows 8 changing the way the OS works...which is funny! When they don't innovate, they are being run over and backwards, and when they do, they are changing which is bad...

End of rant...

Haha! I didn't say noone cares. I said people don't care. And with that I mean *most* people, "the gray mass". Of course lots of people care - there are actually some Windows 8/RT installations out there  Wink But not enough people care - Windows 8/RT are really not selling well. The figures speak for them selves. So if Windows tablets are such a better fit, why isn't it selling?
I think I know the reason why (as I mention in my prevous comments), but what do you think?

Add comment