Mix 08 Keynote with Scott Gurthrie – Part 9

Silverlight going mobile

Going to support Windows Mobile and non-Windows Mobile.

Demo of Mixer social app:

  • Mobile 6 device
  • App allowing you to find friends for a party
  • Aggregates twitter, photos and status
  • User ratings for venues over the night

Announcement of partnership with Nokia to put Silverlight on S60/S40 and mobile internet tablet product lines!!!

Finally something cool!

Shame about the boring SVP at Nokia reading his pre-recorded announcement.

Seems like Symbian 60 is the priority. 

Demo of WeatherBug app:

  • Nokia Symbian 60 and Windows Mobile device – same app
  • Weather icons and data
  • App done in 3 weeks
  • Animated snowy weather skin – a bit slow (‘tried to do it with Flash-Lite’ and didn’t work)

Nothing about availability for any mobile platform 😦

Advertisement

Blinded by Silverlight – the real technology/strategy reveal at Mix07

The about page on the mix website stated:

Exciting new Web experiences with the still-secret “Technology X”

WPF/E and its new branding of Silverlight were announced before the conference, so this secret had to be something else. Silverlight 1.0 is what we already knew. Let’s not underestimate it though – it brings all the XAML/WPF whizzy stuff that is the Flash competitor in 1.0 – it allows a lot of Flash ActionScript type developers and other javascript fans to do cool stuff and consider Microsoft.

The technology in Silverlight 1.1 was in fact the secret (as Microsoft has confirmed) – a full .NET engine (with a subset of the 3.5 .NET framework) embedded allowing all the .NET languages (and dev tools) to run cross-platform in a browser. The dynamic language runtime part also enables 4 scriptable languages to work in there along with C# and VB.NET.

But this, I believe, is just the start of a potentially brilliant strategy for Microsoft, as I’ll now explain.

Bringing .NET (and scriptable .NET) to multiple browsers and multiple operating systems is a huge deal. It really does mean that all the investments that people have made in .NET, can be leveraged in many many ways. There’s a reason that 1.1 is 4.24MB compared to the 1.34MB for 1.0. That’s an army many times bigger than ActionScripters with Expression tools providing a way to use existing Designer talents with WPF/Silverlight. Finding ActionScripters for projects is VERY hard – you can more easily find people that can do VB.NET, C#, JavaScript, not to mention being able to use people that can do IronPython or IronRuby – that’s 6 times more languages that can be used!

Silverlight 1.1 is really the hosting of this stuff in a browser with the VC1/media decoding. So if Silverlight is thought of as a subset of .NET 3.5 in a browser that brings Microsoft technology and tools to many browser and platforms (that’s going from windows apps into cross-everything in a browser) – a bridge to other platforms if you will, what happens if you reverse that once you’ve bridged the platform/browser gap, i.e. just have a plain executable application host on a Mac, Linux, etc, even without re-inflating the framework? Now you can potentially develop on Windows in .NET to create full (rich and connected enough) applications on the Mac and Linux (once this runtime is ported to that). You can even do the development on a Mac in a text editor (including in a browser as demo’d).

Microsoft is all about selling copies of Windows (and Office). If you can’t keep Mac and Linux away, then the next best thing is to bring Windows onto Mac and Linux. However, you can’t sell a Windows licenses that way, but you can get people to use technology that easily hooks up to Windows Live or MSN services that you do get revenue from!!!

So the real technology/strategy that I see Microsoft following:

  • Phase 1 – win over Adobe/Flash developers with SilverLight 1.0, bring Microsoft technology to the Mac and make Microsoft look cool. Provide Expression tools to bring the designers across since often there’s a lot of graphics with a small amount of scripting, vs. the other way around.
  • Phase 2 – bridge the divide by bringing .NET development onto Mac and Linux platforms with an army of existing developers that smothers ActionScripters, enabling users to become Windows Live services users – you did notice that Microsoft is ‘opening up’ their Live service APIs right?
  • Phase 2.5 – All those people that like non-Microsoft languages that were stuck on the server (and often, not a Microsoft server) – get them to love Microsoft now that their favourite dynamic scriptable language can now be used to build _client_ applications on multiple platforms…
  • Phase 3 – once across the bridge (cross-browser leads to true cross-platform), expand the hosting to enable rich .NET installed application development on other platforms making Microsoft technology and Windows Live services an indispensible part of the Mac and Linux experience too!

It’s bold, trojan-esque and both developers and users will lap it up.

If this isn’t the strategy, then it should be!

Silverlight WAS the whole keynote practically, and there’s been coverage of very little else (except about DLR) out of Mix. Nothing about Xbox-Windows links for Xbox Live from Robbie Bach (just a snooze-athon discussion and some iffy demos). Nothing about Live ID CardSpace cards or opening up Live ID to web site publishers like Passport.

This technology is the sleeper slow-release hit of Mix07. They didn’t even officially say this was the secret Technology X listed on the about page.

If what I’ve said is Ray Ozzie’s undeclared strategy, then he is indeed doing a fantastic job (despite his apparent lack of blogging and public comments). If it wasn’t his strategy then either he should make it the strategy or let it just fall into place as I believe it will – either way he’ll look like a genius…

We are living in a Microsoft world again…

Be sure to check out my other mix07 coverage.

New Microsoft CLR/DLR celebrities are born in Jim Hugunin & John Lam

For those watching Channel 9 in the last year you’ll likely be familiar with Anders Hejlsberg, the C# language guru (as well as being the nicer than pie and clever as hell Danish import) who has been seen explaining LINQ and related language technologies.

At Mix07, Jim Hugunin will most likely be receiving lots of hugs from developers for his work on, and demonstration of, the Dynamic Language Runtime – extension to the core DLR to allow for C#, VB.NET, IronPython, IronRuby, JavaScript and VBx to all work as scripting languages calling each other and running on .NET. Keep up to date with the latest DLR announcement on his blog. I’ll just forget that he’s a Python guy ;).

His collague, John Lam (Ruby guy) has a Channel 9 video about this stuff.

The two of them did a great session a Mix07 which was recorded.

Silverlight – what IS cool about it?

Forget the misleading flashy 3D-portaying video at microsoft.com/silverlight for a second; ignore the fact that this puppy has not yet been released yet; pretend that lack of A/V live capture is not an important feature; overlook the 4MB download… what balances this out – what makes it really cool?

Windows Presentation Foundation is the very designer-friendly set of classes and runtime (developed against using XAML directly or through Expression and Visual Studio Orcas) that enables rich UI experiences. It is available for Windows XP, Windows Server 2003 and is included with Windows Vista, as part of .NET 3.0. At the risk of breaking the benefits of consitent UI investments, it can be used to build extremely compelling applications.

A subset of WPF, first known as WPF/e, makes up the rendering engine of Silverlight. The Silverlight runtime includes not only this subset of the runtime, but also the runtime to play back Windows Media content (on-demand or live). This runtime is ~1MB, so far.

XAML can define animations and behaviours that need no coding. In the 1.0 release, you can write javascript against the runtime-instantiated object model to provide a rich interactive experience.

The Silverlight runtime works in IE & Firebox on Windows, but also in Safari on the Mac! In a later release, it will also work in Windows Mobile and possibly Symbian devices.

At this point you have Flash (more or less) but with the whole weight of the Microsoft development eco-system behind you. Most notably, Microsoft has released a set of Graphic Designer tools under the Expression brand that allow you to design vector/bitmap graphics, design the interactive experience, design the web site and manage and prepare the audio/video media. Expression Web and Blend (web and UI tools) are included in various MSDN subscriptions. It’s not clear if Microsoft Partner will get it for free. The full Expression Studio (with all 4 tools) is priced at US$599 at retail which isn’t bad. The Media Encoder is a tag-along-later free download for preparing audio and video.

The next version of Visual Studio (codenamed “Orcas”) will include native support for Silverlight projects.

Microsoft is providing a free (up to 4GB) hosting service in Silverlight Streaming to people can get their content out there using this new platform. This is a smart move for sure.

That’s a lot of WOW – perhaps more flashy of a UI than Vista presents even.

If that’s not enough, then Microsoft has a 1.1 version of Silverlight (which probably should be 2.0) that will allow .NET programming against the runtime, instead of JavaScript, along with full project support in Visual Studio Orcas. This is a subset of the .NET 3.0 framework – a very small subset focusing on the CLR core, networking, UI. This brings rich smart application right into your browser that can be authored by ALL .NET developers with most of their existing skills along side graphic designers using the complimentary set of tools in the Expression range. That’s a lot of industry weight!

(UPDATE: As Yuvi pointed out, it will be a subset of .NET 3.5 by then, rather than .NET 3.0)

A .NET developer can create rich experience on the Web without writing any HTML! He/she can practically be a Mac developer by running a Windows-like smart/rich-client application inside a browser on a Mac!

Microsoft also has an open-source initiative for a Dynamic Language Runtime to allow other languages like Ruby and Python to be used instead of the mainstay C# and VB.NET.

They are also including LINQ in the .NET subset to allow some cool data query syntax in the coding.

Being able to access Web Services from Silverlight combines the best of rich UI with powerful backend services.

With the addition of the full Silverlight product (1.1) you can now do .NET development on the windows desktop, on the windows server, on windows and other mobile devices (compact framework and Silverlight .net runtime), on the mac (and other platforms that may be supported later).

It’s not revolutionary, the tools are lagging behind the runtime, the runtimes are still in beta… and the “web 2.0” and consumer web space is very busy (flickr, youtube, etc.), so it will be interesting to see if clear killer apps can emerge.

See the details a the regular Silverlight site, the community site and the Expression site.

Silverlight = Windows in a browser

If you are feeling the heat from other platforms, what do you do?

You put your rich experience into many browsers, so that HTML compatibility is no longer an issue, and neither is a different operating system.

Silverlight 1.0 beta has a subset of Windows Presentation Foundation. 1.1 alpha (a 4.25MB download) has a subset of the .NET framework (a 4.24MB download for the alpha).

This brings the rich smart (and the whole developer infrastructure behind it – once the tools come out) right across the board in terms of platforms.

Does Microsoft have the Silverlight bullet?

Its prey is the Flash player (and possibly the design application). Flash is everywhere on the desktop.

Having said that, Macromedia would not (and still Adobe doesn’t) let ISVs distribute the player for mobile devices – end users have to dig on the website for it themselves. Device manufacturers can however, come to a bundle arrangement. Despite this, mobile applications like FlashThemes (a great animated theming application for Pocket PCs which is a today screen plug in), and FlashThemes Pro (it’s bigger brother that takes over the today screen) are thriving.

This is stuff FlashThemes can do today on mobile device with flash!

FlashThemes player (using Flash) showing an animated Today Screen on a Pocket PC device running Windows mobile
FlashThemes player (using Flash) showing an animated Today Screen on a Pocket PC device running Windows mobile
FlashThemesPro player (using Flash) showing a replacement fully animated Today Screen on a Pocket PC device running Windows Mobile
FlashThemesPro player (using Flash) showing a replacement fully animated Today Screen on a Pocket PC device running Windows Mobile

Why am I mentioning mobile devices?

Microsoft says this is a “cross-browser, cross-platform plug-in for delivery the next generation of media experiences and rich interactive applications for the web”, but apparently nolonger cross device?!

In fact, let’s look at the FAQ on the Silverlight website…
Q:”Which devices will be supported?”
A:”Device platforms are being considered based on customer feedback”

Microsoft showed WPF/E (that’s Windows Presentation Foundation Everywhere), now “Silverlight”, over a year ago running on a Pocket PC device with the Windows Mobile OS. I was interested.

At least it’s cross-browser and runs on other platforms… OK just one – it supports Mac with Safari… but wait, not with Opera.

Want more WOW starts now? Go to the Silverlight website. Tell me it looks wicked awesome with that immersive cyberspace 3D stuff. Um… no. It’s based on a subset of WPF which only includes 2D support, so that video you saw is bogus. It’s a little like buying Windows Vista Basic and finding out you don’t get that one Flip 3D trick you saw on the TV commercial.

Well, at least it’s free, so it should be easy to distribute. Probably a Windows Update if Microsoft wants to get it out there quickly. If not, then it may be harder to proliferate. The new (and good) security in Windows Vista means that you need to elevate to an admin user to install it, which may present a barrier for adoption. When Flash came along years ago, lots of consumers were merrily running 95/ME/XP as admin users and it was very easy to install Flash.

The new website sadly presents the same tired-looking demos. Where’s the Microsoft equivalent of Flash (the design application, not the player)? The site mentions tools like those in Expression Studio and Visual Studio (which seems more like marketing for those tools) – there doesn’t seem to be any specific tool add-ons to make the design experience work. This is not surprising given that Visual Studio will not have designer support for the full WPF platform (released last November, alongside Vista) until probably this November.

If Microsoft really wants this to be the Silverlight bullet, it needs to have this running on mobile devices to make it permeate every aspect of the new consumer age. This means having it run on Symbian based devices. Take PhoneThemes.

PhoneThemes player (not using Flash) showing an animated theme on a Symbian Series 60-based phone
PhoneThemes player (not using Flash) showing an animated theme on a SmartPhone form-factor device running Windows Mobile

This is an animated theming application and DRM-protected distribution platform for mobile phones (Windows Mobile-based PDAs and phones or Symbian-based phones). It doesn’t use Flash and it can now run on even the older Symbian 40 Series devices.

Can Microsoft make Silverlight work on these devices and make an Adobe killer? Given the spin about video interaction they are singing, it’s unlikely these devices will hold up performance-wise. That makes it a race with new devices. Microsoft needs to get behind its device manufacturer partners and allow ISVs to distribute (or at least link in the installer from the web) before Adobe does a deal with someone like Nokia that wipes out Silverlight before it’s properly lit.