There has been a lot of commentary over the last few days about the PDC-Silverlight-HTML5 debacle, whether it is dead or not, etc. I posted to Twitter yesterday that I had an epiphany about why the strategy was what it was. But in talking to some of my colleagues in the Silverlight world, I was able to come to some different conclusions… plus over the past few days there has been a ton of great commentary.
Then today, Bob Muglia and Steve Ballmer each responded to calm down us crazy developers,. and kudos to them for quick responses, even if we did blow it way out of proportion. But I still think they missed some points. So I thought I’d still take a few moments and follow it up with some different points that haven’t exactly been addressed, that might be helpful to understand.
My observations and extrapolations about what’s going on inside DevDiv:
- The “transparency vs. translucency” debate still rages on, internally (and externally). Some of us pundits like to call it the “Sinofsky Rule”. ‘Softies tell me that no official “rule” exists (I think it’s more like a guideline.) Unfortunately for us “complete-transparency-loving” bloggers, the lessons of PDCs past still affect communication decisions today. (As an aside, ‘Softies really don’t like it being called a ‘Sinofsky Rule’. I don’t know why. All great edicts have names, like the Monroe Doctrine, or the Gettysburg Address. It’s a far better name than “Shut The Hell Up, Already!” I just wish it were applied just a tiny bit differently… more on that later)
- Silverlight v.Next and WPF v.Next are both in active development. Rob Relyea gave a 30-minute taped presentation on WPF Futures, where they discussed solving the major problem of WPF not playing nicely with HWNDs, and adding a SilverlightHost control to allow Silverlight content to be cleanly displayed and interacted with inside a WPF control. From what I understand, some of the features for Silverlight v.Next are already baked and ready to go.
- Microsoft appears to be slowing the cadence of Silverlight releases. Microsoft shipped a Silverlight 4 preview before Silverlight 3 RTMed. This was clearly a bad idea, and Microsoft got a lot of feedback from customers to slow down. So I believe they are responding to that feedback, and allowing adoption time before the next release.
- The Silverlight team has been working with the Windows Phone 7 team for a little while now. They finished Silverlight 4 well before .NET 4 was finished, as evidenced by the lack of deltas between releases. I believe this was so that they could fully focus on the work required for shipping (and evolving) the Phone runtime before it released.
- There are 3 yearly Microsoft conferences for Developers: PDC, TechEd, and MIX. This is how Microsoft sees these conferences, even if they haven’t explicitly stated that in the past:
- PDC – .NET & Windows Client Futures
- TechEd – .NET & Windows Client Today
- MIX – Web Today & Future
- The model for the web is changing. The change from server + client to cloud + devices makes it more difficult to tailor these types of conferences to specific audiences. So the dissonance between this and previous PDCs can be chalked up to trying to figure out what that means.
- PDC is all about getting “bits”. Customers don’t like Microsoft talking about things unless they can get bits into their hands by the time the conference is over. I personally miss getting DVDs and hard drives with buttloads of bits for my own crazy experimentation.
- Given that structure, Silverlight would typically be discussed at MIX, not PDC. However, up until a couple weeks ago, there were Silverlight presentations on the docket for PDC10.
- (Interesting Side Note) Having PDC on the Microsoft campus this year was not about saving Microsoft money, it was about saving customers’ money. From what I have heard, PDC10 cost the same as any other PDC, when you factor in the live streaming infrastructure, and the local events. Doing it this way was about not forcing companies to buy plane tickets and hotel rooms to get info on what is coming down the pipe.
What’s happening with HTML5:
- HTML is the most ubiquitous technological “platform” ever deployed. I use the term platform loosely because HTML is just markup… but the point is, it’s *everywhere*. So you can’t avoid it, I can’t avoid it… and neither can Microsoft.
- Standards-based innovation is cyclical. Organizations come together to standardize a particular platform, in this case HTML. It gains adoption, but invariably has shortcomings. So the market innovates to fill those gaps, which is why Silverlight and Flash exist in the first place. Then standards come in behind to evolve the “platform”, and the tools that used to fill the gaps have to follow suit. HTML5 marks the part of the cycle where the standard is trying to catch up. And that is OK.
- IE9 is Microsoft’s first answer to the HTML5 standards process. And it’s a very good answer. HTML5 is going to be a part of the future, and the bits are available now, so THAT is why Microsoft chose to focus on it at PDC.
What all of this means for Silverlight:
- Silverlight inside the browser is not going away just because HTML5 comes along. It will still work, and you can still target it.
- Hardware replacement cycles are going to limit HTML5’s exposure in the enterprise. IE9 won’t run on XP, so Silverlight is still the best way to get great apps to those users.
- At this part of the cycle, Microsoft is putting more energy into innovating Silverlight on Windows Phone than it is on the Desktop. And that’s fine with me, because the Phone runtime, while awesome, still needs a lot of work. For example, we need to get true parity with Silverlight 4, instead of the V3 & V4 hybrid we currently have.
- NONE of this means that Silverlight is dead. Microsoft still understands the value of cross-platform Silverlight, and how combining that with Novell’s Mono offerings allow you to get .NET just about anywhere you want it. Jeremiah Morrill said it best on Twitter: “I'm glad my family isn't like software developers. They would of declared me dead because I didn't show up at the last thanksgiving.”
- My belief: Don’t count on conversion tools from Microsoft. Microsoft is all about the “right tool for the job”. In Microsoft’s view, if you’re already using Silverlight, then why change it? If you’re not getting the benefits you need from Silverlight, you should be moving to WPF, not the other direction. That doesn’t mean that someone else couldn’t try… but why?
Kudos to Microsoft for getting out in front of it quickly, but I think it really could have been avoided though. I find it hard to believe that no one over there pointed out that people are going to be asking about Silverlight at PDC. Even when it was taken off the docket, it shouldn’t have been replaced with a vacuum.
As one of the guys that is typically pushing for particular technologies to be adopted within companies, here are some things Microsoft should keep in mind, to make my job easier in the future:
- Previous communication strategies and release cycles set expectations. Putting out Silverlight v4 bits before the Silverlight v3 RTM set expectations that we would have seen Silverlight v5 bits by now. And the fact that you shared feature sets so early in the cycle with SL3 and SL4 set an expectation that we’d be getting some this time around as well. You guys need to be aware of that when you are planning.
- Front-line developers are often the ones that help determine whether or not a company adopts a particular technology. But decision-makers hear bad PR and use it to put the kibosh on technology plans. By allowing Mary Jo to do what she does best, without being prepared for it and having a communication plan for Silverlight at PDC ahead of time, you might have set new Silverlight adoption back quite a bit.
- Talking to customers individually is not the same as a blog post. It’s great that you reach out to customers big and small, but you need to arm the customers driving future adoption with the information they need to fight their battles internally.
- You guys MUST start making the distinction between talking about specific features, and talking about general strategies. You can change direction and change focus, and give people details on what that means and how that affects their planning, without promising specific features or delivery dates. It’s OK to say something like “We’re going to be shifting the focus of our next release to the Phone, but we we’re not far enough into release planning to know what our target date is yet.” I think you guys went too far back towards secrecy after PDC 2003, and inching back towards being a little more transparent wouldn’t be such a bad thing.
- Too secret = too late to change things. The old Microsoft way of doing things made developers feel like by the tie you talked about something, it was too “baked” to change it”. We’re always afraid that you guys are going to drop a technology, and not tell us until you’re 5 months onto the new thing, with no hope of getting it back.
- When in doubt, ask. That’s what you guys have MVPs for. When I was an MVP, I honored my NDAs, no matter what anyone thinks.
I hope that helps some people understand more what is going on. Hopefully this will help some of my clients settle down, and get back on track with their next XAML related releases .