I attended the MIX Essentials event in Louvain-la-Neuve this Thursday in an attempt to get some perspective on Microsoft's roadmap for Rich Internet Applications (yes, you read that right -- Internet) and Silverlight 2. Note that I'm looking at this as a Flash Platform enthusiast, while I walked away excited about what Microsoft is doing don't expect me to hold back on criticism where I see things lacking. It is in no way meant as a personal attack and welcome your thoughts.

Here's breakdown of the sessions I attended, with my commentary and a couple of videos.
Opening Keynote - Luc van de Velde Building RIAs with Silverlight 2 - Tim Heuer Beauty & the Geek - Ian Griffiths & Paul Dawson Data and Web Services in Silverlight 2 - Gill Cleeren Steve Ballmer Keynote Summary


The day was kicked off by Luc van de Velde, Director Developer & Platform Group of Microsoft Belux, who presented the opening keyword.

I had seen the egg metaphor before but he did a great job keeping us captivated.


Note to whoever designed these slides, the egg tag is not valid XHTML markup ;)


Designer/Developer workflow

Luc invited some developers up on stage from various well known Belgian web agencies to do some 'live coding' taking care to mention that these guys are not the best people to demo but they want to give us a real world perspective.

I actually got excited for a minute, unfortunately to me the whole thing came across as 'highly scripted'. Using code snippets and prepared source files I'm not sure this was the best way to convince a developer audience.

Telltale silence at around 7 minutes 50 seconds, really expect us to be excited by that? I would like to see what Silverlight can bring us in terms of innovation rather than reinventing the wheel.

Personally would've preferred to see a demo with them creating a Silverlight video player for example, how to develop, skin and deploy and highlight the designer/developer workflow to achieve that.


Silverlight showcases

Next up was a Dutch Microsoft guy (missed his name, I'm sorry) talking about RIA's. Bit of a funny moment (if you've followed the acronym wars) when he seemed to quickly correct himself after saying Rich Internet Applications as opposed to Rich Interactive Applications. The rest of the day was happy to hear everyone refer to it as Rich Internet Applications.

One of the demo's he started of showing us was a recent Silverlight live stream of the "Amstel Gold Race" for the NOS, national broadcasting association in the Netherlands. You would get video on demand, live data push with the latest coverage and you could switch camera.

Where did I see that before?

A little later we saw a financial loan simulator demo, with a live support agent being able to track where you are in the web page.

Sounds strangely familiar, anyone remember the Flex/LCDS FinanceCorp demo? Its all pure coincidence I'm sure.


NBC Beijing Olympics

Wasn't sure at this point whether to get depressed or outraged until I saw the NBC Beijing Olympics site. My first real highlight of the keynote, I could see a light at the end of the tunnel.

I was ready to dismiss this at first glance but the performance of the video, picture-in-picture feature and transitions were impressive. Not something that you couldn't do with Flash/Flex and Flash Media Server but having that many streams open would require some serious optimization.

While Flash Player has caught up with full HD and H.264 support I think there's still more that can be done in terms of video performance in the Flash Player, especially when dealing with multiple simultaneous streams.


Deep Zoom

Christine Heller, Technical Evangelist, was on stage at this point. Couldn't help but notice Microsoft Evangelists take on much more of a marketing role than I'm used to seeing at Adobe where its always seemed foremost about developer relations. Not a bad presentation at all but didn't feel I could really connect with the message.

The Deep Zoom demo they did was really impressive, again performance really stood out here. Would love to see how this compares to Zoomify and Scene7 and if Adobe can push their technology to that level.


Tim Heuer, Program Manager for Silverlight, walked us through what's new in Silverlight 2 and how you go about creating a simple web application.


What's new in Silverlight 2?

Text, Text Input C# and VB.NET
Controls LINQ
Layout XML APIs
Styles/Templates Generics
Data Binding HTML integration
Socket networking Local Storage
.NET support Crypto API's (AES)


Controls in Silverlight 2

Canvas, FileOpenDialog, Grid, Image, ItemsControl, MediaElement, MultiScaleImage, StackPanel, Texbox, TextBlock, Button, Popup, Checkbox, DataGrid, DateTimePicker, GridSplitter, Hyperlink, ListBox, Calendar, RadioButton, Slider, ToggleButton, Tooltip, WatermarkTextBox.

Microsoft is committed to deliver 100 controls for Silverlight within the next few years.

When talking about styling/skinning controls I was surprised to see a screenshot pop up in his slides with a Flex tree component that reads "Adobe Consulting > Peter Baird".

Tried to Google the image but had no luck finding, not sure what a Flex tree component was doing there when talking about skinning Silverlight controls.


Silverlight sandbox and further features

In many ways Silverlight uses a similar sandbox mechanism as the Flash Player and they can also leverage the crossdomain.xml policy files as well as their own clientaccesspolicy.xml flavor. There's also local storage support not unlike SharedObjects in the Flash Player.

Next Tim did a quick demo of how to build a Silverlight application in Visual Studio -- you get the option to start a new Silverlight application or a simple HTML test page. Best practice is to go with the application, since the test page runs in a local file sandbox and you'll get security errors when trying to access any network resources.

We saw IME support in Silverlight, how media files could be leveraged as skinning elements (in this case a video as the background for a TextBox control).

The demo went on to show data binding on a DataGrid and how you could use the equivalent of itemRenderers to completely change how the data gets displayed.


Local partner demo

To wrap this session up we got a demo from a local partner, in this case Netika Tech showing us their GOA project. I'm afraid it didn't impress me too much and was a little underwhelmed. Couldn't wrap my head around why Silverlight would be a better technology choice for their product.

No page refreshes, fast data filtering and paging are not a selling point for me -- you can do that just as well with AJAX and Flash and it largely depends on what data transport format you're using. If data performance is what you want I think AMF is the clear winner over plain old XML.


After lunch I decided to switch tracks, and am really glad I did! Ian and Paul did a very entertaining session outlining the designer developer workflow. What was refreshing here is that there was zero corpo-speak, a recognition of real world development situation.

Designer developer interaction is not sequential, there is a large degree of overlap. Very good tips on how to improve the workflow, convince designers about the need for source control.

This is the type of session I can relate with and has had me genuinely appreciating what Silverlight can bring to the table.


Another interesting session followed with Gill Cleeren talking about various means of accessing data in Silverlight 2 -- both SOAP Web Services and REST based services.

I was pleasantly surprised to see how this worked within Visual Studio with Proxy classes but again saw a little bit too much use of code snippets to really get into it.

Would personally prefer a few less demo's but a more indepth runthrough of the code.


The day finished off with an excellent keynote by Steve Ballmer followed by some Q&A.

Unfortunately my N95 battery died just when Steve was asked an interesting question on why Microsoft has been lagging behind in the RIA space and they are now aggressively competing against established technology.

His answer somewhat surprised me -- recognized the strength of Adobe and said Microsoft would not get involved in a static market like print (where Adobe is the clear market leader). He sees Microsoft having a better proposition when it comes to the designer developer workflow and hinted at new things coming out that would also target the interaction designer.

Can't wait to see how this develops in the coming year and what Thermo will bring to the table from the Adobe side of things.


All things considered a day well spent, learned a lot about Silverlight 2 and am convinced the competition will drive innovation both at Microsoft and Adobe for the coming years, which we can all only benefit from.

A couple of points I think could be improved:

- Make sure there is wifi for the attendees if you seriously want us to blog, twitter, upload and tag photos. I was taking notes on my cell phone for a good bit of the day, if you can't get wifi at least put a pen and some paper in the 'goodie bag'.

- Power supplies, its not common to have that available at events but during the onAIR tour Adobe did a great job making sure everyone could stay plugged in. I saw only a handful of people with their laptop open in an audience of 500.

- Get us a DVD with Silverlight, trial versions of Visual Studio, Blend -- I found it frustrating not being able to get hands-on and experiment with some of the things we saw in the sessions. No raffle prizes surprised me, no evaluation forms either.