Robert McLaws: Windows Edition

Blogging about Windows since before Vista became a bad word

On Expectations, PDC, Silverlight, and HTML 5

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.

Regarding PDC:

  • 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.
  • HTML5 (+ JavaScript + CSS3) still need tools. (I’m burnt by the lack of quality JavaScript tools on a daily basis.) This means that Microsoft is going to have to shift some resources to get those tools created. Yes, that means you can probably expect to see the focus return back to ASP.NET, IIS, etc. Visual Studio and Blend are the toolboxes for those tools, and I would personally expect to see more information at next year’s MIX conference in Vegas.

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 Smile.

PostTypeIcon
24,169 Views

Comments

  • Here's what, at a minimum I have to see to see Silverlight as anything other than a failed API and have confidence to actually use it:

    1. WP7 runtime for Android, BB, and Simbian in 90 days post from MS telling us that they're bringing the runtime to these platforms. MS wins if Silverlight for devices wins, not necessarily just their phones. (I could care less about iphone if Jobs wants to be a NOOB.)  I realize that a Windows branded phone is the desired outcome but if I can develop for these platforms and have a less eligant install experience but still have it working, then I'll develop for Silverlight on phones over any other development platform. You win and you win new phone customers too because people go to the utility not the brand. Iphone is iphone for as long as developers develop for it, no other reason.

    2. Show us a tablet that uses Silverlight as it's only avialable API. Do it and break the Windows cycle and get us out of Win32 hell once and for all.  You show me a silverlight only platform on a tablet coming soon, and you'll have me because I know that desktops are dead.

    3. Work HARD with Mono/novel and get Silverlight flawless and up to the same version within 90 days of all new releases on linux.

    4. Announce the much anticipated Windows 8 will have an app store, and will be silverlight apps only.

    5. DON'T tell me that you're going to leave all of the above up to 3rd parties. That's not good enough.

    If you do these things, and publically commit to it, and hit your deadlines then Silverlight will be a winner and MS will win on the phone platform and I would bet on tablets too... IT's time to have a tablet OS and this is your opportunity to finally kill Win32 dead. (PLEASE!)

    HTML is a fall back if the native stuff isn't better and just as easy to use. It is not your goto solution. Even Youtube understands this. All platforms have their own player that falls back. Same with facebook etc.  I don't want to use HTML except as a fall back. Please tell me by doing these things that Silverlight is going to be my platform of choice for all native apps on all available platforms that aren't locking people out (i.e. everything other than iOS)  If you do this, and you commit to this, then you have me and I suspect you have every other developer too. Because HTML + javascript sucks to develop in, is horrible to test and is just aweful in general. Objective C is horrible, and Google+Java isn't much better.

    The power of MS is the developers and the tools. Do what you just did with WP7 and nail it with all platforms.

    This is the big risk that MS has to take, but if you do, you will be rewarded. If not, I'll be developing for HTML from now on, and if I do that, I might just end up in Rails and not MS world for the first time ever... that's what's at stake. Get this right, own developers. Get this wrong as you're doing now, and lose us, and if you lose the developers, you lose the platform war. You know it, and you know that Windows is Windows because of Visual Basic. Silverlight is visual basic for devices but this time around, it's the device, not the OS, so you have to target all of them.

    Do you have the guts to pull this off? Or will MS fade into obscurity (no I'm not exaggerating the importance of this moment Microsoft)

    November 2, 2010 4:40 PM
  • pingpong said:

    > IE9 won’t run on XP, so Silverlight is still the best way to get

    > great apps to those users.

    I can't believe you wrote this. Chrome/Firefox run just fine on XP; nobody needs IE9 to move forward to HTML5.

    The best thing about HTML5 vs. SL is that there's no Microsoft dependency anymore.

    November 3, 2010 6:24 AM