It was an impressive demonstration, once they got it working: H.264 video streaming wirelessly (and slowly, at least during the caching sequence) using Microsoft’s Silverlight video streaming, to an Apple iPhone. It’s all the more impressive when you realize that Flash video still has not made its way (permanently) to the iPhone, not for any technical reasons we know of…simply because Apple wants to control the video channel for streaming media to its devices.
And yet here it is, a Microsoft stream. You’d think Apple would have stood firm against Microsoft at least as aggressively as it has against Adobe, if not more so. How did this happen? We asked Microsoft User Experience Platform Manager Brian Goldfarb last week at PDC 2009, and the answer was a huge surprise…followed by some caveats. But it contained these four amazing words: “We worked with Apple.”
“The promise of Silverlight is that it’s a cross-device, cross-browser, cross-platform solution, and it works the same on Macs as it does on Windows,” Goldfarb responded. “The iPhone is a unique scenario. We talked to our customers…and they said, ‘Look, we just need to get our content there, and it’s mainly in the media space like broadcasting, and we want to put it on the iPhone.’ They have a great solution for that; if you’re surfing the Web, and hit YouTube and hit ‘Play,’ it’ll play your video because they’ve created an environment where they can safely play media, and they’re comfortable with that.
“So we’ve worked with Apple to create a server-side based solution with IIS Media Services,” Goldfarb continued, “and what we’re doing is taking content that’s encoded for smooth streaming and enabling the content owner to say, ‘I want to enable the iPhone.’ The server will dynamically make the content work — same content, same point of origin — on the iPhone. We do this with the HTML 5 <VIDEO> tag, in many ways.”
Goldfarb showed a standard HTML page where the <VIDEO> tag is embedded, linking to a familiar “Big Buck Bunny” animation that Microsoft has used before in demos. That video is located on an IIS server that now knows how to respond to a request from a QuickTime playback system. “We’re translating the content to support the MPEG2 v8 [decoder] format [of] the iPhone; we’re moving it to their adaptive streaming format. So it’s the same IIS smooth streaming content, the same server, the same point of origin, but now I can get that content to play without any code changes, without any real work, on the iPhone. That’s the critical thing for our customers.”
What did it mean to “work with Apple,” I asked Goldfarb. As it turns out, it’s a little lopsided: “We did all the work,” he responded. “We just made sure Apple was comfortable with it. We have to have a strong partnership with our partners, we have to have trust, and that’s key.”
From there, Goldfarb could not go into much further detail, but the extent of the achievement could present interesting lessons for others who have been endeavoring to “work with Apple” over the years: Apparently Microsoft didn’t spend most of its energy talking about it, negotiating, and making its point. It simply made the technology work first, and Apple said OK.
When Silverlight first started out, it was intended to be a programming platform that extended .NET into the cross-platform realm of Web apps, by way of the browser. To give Silverlight a bigger push, Microsoft incorporated more video capabilities into it last year, with the result being a strong contender against Flash. Now the marketing effort is coming full circle, with the company now re-emphasizing its programmability, to maintain a par against AIR and keep active on both fronts in the battle against Adobe.
In its guise as a media platform over the past few years, Goldfarb admitted to us that Silverlight “has gotten pigeon-holed in many ways, because of just the way the features came together. It was a sequencing and a timing thing. I don’t look at that as a bad thing; I look at is as, what are the requirements for a software platform? It needs to be ubiquitous. That’s a great way to reach into the consumer space; what we’ve done in media is absolutely a critical part of our strategy. And we’ve executed on it flawlessly. Now with the business features coming in printing, bi-di, all the language support, the accessibility, the rich data access, the networking…you really do get that level of rich business applications that’s required.”
Goldfarb here was referring to Silverlight 4’s upcoming support for functionality that extends beyond the traditional security sandbox — another dangerous pigeon-hole for plug-in developers. For a real, business-class Web app to be considered legitimate, it needs to print. That means it needs access to the printer beyond what the browser can provide.
This gets into the whole area of where the security boundary lies, and who gets to marshal it — Silverlight or the browser. Earlier in the week, Microsoft President Bob Muglia told Betanews he believed the browser would always provide some sort of basic, standardized security context. But Muglia left open the possibility that Silverlight, or something like it, would push the boundaries of that context.
As long as the browser provides the basic sandbox, the level of vulnerability for any future Silverlight 4 Web app will be determined by the weakest browser. I asked Brian Goldfarb, does this present an argument in favor of Silverlight providing its own security context, over and above the browser?
“You’re welcome to make any argument you’d like,” Goldfarb responded at first, his face showing some signs of sweat. After he collected his thoughts, he proceeded with a more thorough response: “We’ve been through rounds and rounds of this, and we’ve tightened it up, and we think the sandbox that’s generated by the browser is the most secure place to run software. It’s not perfect, but it’s the best…The majority of applications today are all inside the sandbox, even the out-of-browser applications. What we’ve done with [Silverlight] 4 is extend the sandbox space by giving more features in that secure zone — drag-and-drop, all the things our customers have demanded — and now we’re creating a Trusted Application model, which is more like regular software, where you need to have a trust relationship with who you’re installing it from. You wouldn’t go to www.hackmysite.com and install some .EXE, but you’d feel pretty comfortable going to the NBA or to Betanews, or whomever you have a trust relationship with.”
What about Google Chrome, then? Can Microsoft trust Chrome the way it would trust Internet Explorer or Mozilla Firefox to establish the trust framework? “It’s a browser, like any other browser,” Goldfarb responded.