The Unofficial Windows 8 Developer FAQ

Early this week I’ve been talking to a few current and former Microsoft staffers about all things Windows 8. In my discussions I’ve started to gather some gossip in around what happened to Silverlight and lastly the specifics around the DevDiv fall out between Steve Sinofsky and Soma.

Should I share the chat logs it is an entertaining read however what did struck me throughout the conversations was how much positivity Microsoft has been squandering due to petty internal squabbles or “dare not speak of that, for the overlord Sinofsky shall smite thee down for saying the nameless one out loud”.

Today, I’m going to attempt to do something Microsoft staff should have done long ago or didn’t do correctly or simply were held back from doing so. I’m going to release the Unofficial FAQ on “What Just happened” in Microsoft for developer(s) worldwide.

Note: This is all based off internal gossip, second hand information and blah blah, so if you want to call bullshit on the below do so but back it up with specifics on what actually happened – don’t just say “that’s b.s” as we’ll take that as a deflection attempt at setting the record straight.

Ready.. (Remember this is from the perspective of “if I was still a Product Manager at Microsoft positioning not official etc.).

The Unofficial FAQ

Q. Is WPF Dead?

A. Yes and No. Yes WPF as you see it before you is end of life that is to say no more code will be written for the “platform” given Windows 7 and Windows 8 have different DNA going forward. No as in when we decided to move everything over to leaner Windows 8 platform we had to put both Silverlight and WPF on a diet in order to get Mobility parity / compatibility in check. The Upside is we’ve fixed some of the UI rendering issues that have plagued you in the past; the down side is we’ve had to sacrifice features here and there in the process.

 

Q. If I make an Application today in WPF it won’t work in Windows 8 tomorrow.

A. Not correct. Expression Blend uses WPF still in Windows 8, so in a way you’re covered as long as VS2012 and Blend continue to take their cue from the previous XAML Rendering that has been in place since Windows 7. There are certain things you can’t do in Windows 8 going forward though, that is to say new features won’t work in both Windows 7 and Windows 8 for obvious reasons. If they aren’t obvious then …stop coding now.

 

Q. Do I have to learn HTML5 or C++ in Windows 8 now?

A. No. The neat trick here is that we took the body of work found in Silverlight and made it handle the rendering of XAML. Now we didn’t take it as-is we again had to scale it back and use it as a starting point for a reboot of WPF/Silverlight to ensure two things happen going forward. The first is that we have WPF/Silverlight parity issues resolved in terms of performance and developer centric API changes whilst at the same time we had to find a way to make Steve Sinofsky believe that Silverlight was killed off. The last point wasn’t a technical issue it was more of a political one and so in order to help give him the illusion of Silverlight’s death we renamed a few namespaces and adjusted a few features here and there to give the appearance of “new” on the “old”.

 

Q. Why did you change so much in Windows 8 to confuse us all on old vs. new?

A. We had to find a way to put Internet Explorer back into the hands of the masses in a more aggressive manner. In order to facilitate this internal metric we needed to also scale back Silverlight’s popularity given when you think about its future roadmap and Internet Explorer the two will end up competing with one another. Having Internet Explorer start taking over the HTML5 discussion would also help us win hearts and minds with the non-.NET crowd which would then help boost our internal metrics around Linux, Php, Apache and MySQL/Oracle compete (that has often plagued us for many a fiscal year).

Once we’ve placed Internet Explorer onto many devices worldwide we will then ask developers to fork their beloved HTML5 in a way that lets them access Windows 8 further. This in turn will help us regain the lost dominance we once had before all of our Internet Explorer staff left the company to work for Google Chrome. Additionally, it will help us with our many year attempts at attracting more developers to our Windows Server & Tooling business units.

Now to answer your actual question it’s important to know the previous strategy for Internet Explorer as now the problem we face both internally and externally is how we are going to balance Internet Explorer’s future with XAML given the old “Silverlight” concept was directly competing with this strategy. In short we had to make it feel there was a lot of change in the room and decided that letting you believe that what’s really happened is that WPF & Silverlight were merged as one and that Silverlight 5 wasn’t the last release as really Windows 8 is Silverlight 6 Desktop.

Letting you believe that would keep you preoccupied with that branch of thought where what we need you to do is come back to the Internet Explorer way of thinking – there is no plugin only a browser.

Q. So… you saying Windows 8 is really Silverlight 6?

A. Yeah in concept yes. Technically no, but if you take a step back from our bad messaging, public relation screw-ups and lastly our idiotic executive we pretty much did what you asked – we fixed WPF and Silverlight parity & performance and we made it also work on both desktop and mobile. I give you Windows 8.

 

Q. Well ..why didn’t you just say that? Why did you scare us with C++ or HTML5 rhetoric?

A. I have no answer suffice to say there was lots of infighting going on and I don’t see Soma and Sinofsky sharing a beer or two at a BBQ in the near future unless the bottle was broken and one has the other pinned down with a desire to kill..

 

Q. You said mobility and parity are you saying Windows 8 is compatible with Windows Phone?

A. Yes. Windows Phone 7 was kind of a hold our place in the line while we figure out what to do next release. It was badly marketed and in the end we were too late to enter the market – not to mention we weren’t ready to talk about the work we were doing with Windows 8.

Now that we’ve finally hit reset on Windows Phone via our 8.0 releases we’ve now found a way to put the XAML rendering we have in Windows 8 onto the phone. Well to be fair we really kept Silverlight’s DNA alive in both which has now let us enable you to write applications on both platforms via our new upgraded API’s and tooling (again to give the appearance of new).

This is in part why you can’t use Windows Phone 8 code on Windows Phone 7.x compatible devices,  Additionally you would see how we swapped the two out and start to guess what really happened during the Soma vs. Sinofsky fight.

Q. I don’t think that’s technically correct.. if you look at Windows Phone 7 and then look at…

A. I’ma let you finish by stating that the phone may not have changed radically but Windows did that is to say if you were going to drag Silverlight’s work into the new Windows 8 whilst releasing Windows Phone 7 previously then which of the two do you change? The phone or operating system? – Answer is you do both but incrementally.

Q. Hang on so all of Windows 8 is now Silverlight? That doesn’t make sense..

A. No. Windows 8 core is,  (as the messaging and PowerPoint decks say,) new. Now the XAML piece that bolts on top of that core is what I’d call “Silverlight 6” that is it’s all the work that has been done on WPF/Silverlight since their birth converging as one.

Q. Why did Sinofksy and Soma duke it out?

A. It comes back to Sinofsky’s dislike for Silverlight that was in place years before Windows 8. Internally what had happened was the Windows 8 Planning teams felt that Microsoft had lost its way on the importance of web both from a tooling and platform perspective. Silverlight was simply a distraction that got out of control and what they felt was that HTML5 was getting more and more market acceptance. As such it was time to put the genie back in the bottle and double down on Internet Explorer again with an eye this time on integrating the web with the operating system via some minor fork in both JavaScript and HTML5 (eg iecompatiability tag)

This of course didn’t go down well with Developer Division as this in turn meant that they had to scrap all the work done with Silverlight to date! The Silverlight team then went to work proving that both options are still viable and that for XAML, Silverlight would be a better candidate to ensure that path continues to occur.

Essentially it was an internal two horse race for a while with the deciding vote going to Sinofsky. Unfortunately it was an unfair race given his alleged dislike towards Silverlight, so this in turn become a tense standoff between the head of DevDiv and the head of Windows. It’s rumoured that Soma and Steve had a huge falling out over settling old scores and as a result Silverlight was put into a “do not talk about it” status mode.

Despite the executive fallout the Silverlight team (aka XAML team) were moved under the Windows org chart and put to work dragging the old into the new but with a clear direction to forever wipe the name Silverlight from their minds. It’s rumoured that in planning meetings the words compatibility and Silverlight were no-go words.

It’s all gossip in the end, but that’s what’s being said at the local water fountain anyway.

It could explain why Scott Guthrie went over to Azure. It could explain why you see some of the old Silverlight bloodlines talking in the Windows 8 presentations but finally, it could also explain why the “strategy has changed” remark got former Executive Bob Muglia in a whole world of trouble.

Summary

Look. The above could very well be fiction and time will tell exactly what has happened here but the more I think about Windows and it’s Phone counterpart the more I start to think what has really happened is a clean reboot to WPF/Silverlight has occurred for the greater good.

The downside is that we’ve all been preoccupied with the new UI of Windows 8 and lastly the community wanted to know what the future of the brand Silverlight/WPF was per say (this is awkward). Instead of getting actual answers they were given deafening silence and finally, to this day the overall developer relations overall from Microsoft has been both lazy and poorly executed.

What we are seeing is Microsoft power brokers asleep at the helm, specifically their evangelism is dead and lastly their messaging around the transition for Silverlight/WPF has been fumbled to the point where it’s easier now to believe Microsoft has hit “Shift+Delete” on these two products rather than to read the above (too much carnage on the roadmap now).

If Microsoft had of come out and said something to the effect – “Look you asked us to fix WPF and Silverlight. We did that, we came up with a way now that lets you develop for our platform in three ways. The first is C++ if you want deeper access to Windows then we’ve tided up our Com++ API’s to a way that C# developers have found palatable. If you don’t want to do native code then you can build applications like you have done with Silverlight in the past, but the difference is it will now  Windows only (sorry). If you then want to build apps that are cross-platform then again we’ve got HTML5 and Internet Explorer story brewing, whilst it’s important to understand that we will not be looking to expand our developer story beyond Windows anymore (there is a certain amount of control HTML5 will give but we still believe Internet Explorer is a better bet overall).

Then they show a few slides on how you can write-once deploy to both Desktop, Tablet and Mobile via the XAML/HTML5 and C++/C# story then it becomes a bit of a consolidation discussion vs. a “they’ve killed my favourite toy” discussion we see today.

They didn’t do that. That would require actually someone in the company with a backbone or marketing muscle that goes beyond ass kissing to Sinofsky. The problem we have right now ladies in and gents is we are all suffering from Microsoft’s internal bickering and as a result companies are looking to seek alternative to Microsoft for fear that this petty squabbling will continue to spread from not  only the mobility market share losses but to potentially the operating system as well.

Microsoft also has to figure out how to also re-engage their hardware vendors going forward given their failure rates in Windows Phones weren’t profitable for these guys and now with Microsoft Surface sending mixed signals it well has now turned into a bit of a question mark above the companies head around whether it can survive beyond its current dominance of desktop market share.

Inside Microsoft Server share has dropped significantly and it’s why you see a lot of effort in the web platform stack around enticing Php and MySQL folks back to the logo.

The only thing left for Microsoft to control is Office, Desktop and XBOX. Beyond that, they don’t have dominance anymore.

Again someone explain to me why Steve Balmer is good for the company?