Got back into Edinburgh late Friday night from a couple of excellent days in Brighton for Microsoft REMIX08, here’s some notes and thoughts on some of the sessions I saw there.

Keynote – Bill Buxton, Scott Guthrie

Bill Buxton kicked off the keynote discussing the importance of design. He went on to suggest that in many cases in the software industry design was added as an afterthought in the process rather than being an equal component right from the start. Had to laugh when he showed an image of a lipstick alongside an image of a pig. “Putting lipstick on a pig” is called “Polishing a turd” in these parts. I’m 100% behind the idea that Microsoft needs to consider and build design into their products more than they perhaps have in the past but I was concerned when Bill started to draw parallels between building a software system and building a skyscraper. He pointed out that when building a skyscraper design comes first and backed this up with some (admittedly poorly designed – and I like the hand drawn aesthetic) slides suggesting that design should be moved from it’s current position in the process to a large block right at the beginning.

Up front design? Alarms bells were ringing, this sounded a lot like the waterfall software development model. We’re using a combination of more agile approaches here and I’m a firm believer in it. This has come from the experience of project after project with large up front planning and scoping (design?) going astray as the system progresses. I found it interesting that the one of the other big movements within Microsoft is towards more agile practices, testability and openness and I wondered how this attitude and Bill’s approach would match up. Maybe I’m being picky here and we’re talking about two different meanings of “Design”.

Scott Guthrie then took the stage to discuss how Microsoft were approaching some key areas such as Media, RIA, Mobile. Couple of chaps from ITV demonstrated using Silverlight 2 for their delivering their online video content and while I was happy to think of the UK Silverlight adoption that this might bring I also thought the implementation lacked imagination. Thumbnail images in rows of 4 which when clicked give a basic video player isn’t exactly pushing the envelope, especially given what can be done with the technology. For example I’d point to something like:

http://mightymeaty.members.winisp.net/DragDockPanelSamplePart3/TestPage.html

By Martin Grayson – if ITV want to put their live Champions League matches online in a format like this (maybe need some sound controls!) then I’d certainly use it!

The other demo, of a product called Athletiplan was intended to demonstrate the power of Silverlight for RIA scenarios and for me was a little disappointing. To go directly from a talk on the importance of design to an application that for me was pretty poor in this regard was a little jarring. Also the application was a mix of HTML and Silverlight, with more HTML than Silverlight from what I could gather. The guys were local so I guess that was a conscious decision but given my heart felt backing for Silverlight as a RIA platform I’d have liked to have seen something stronger here. (As long as it wasn’t a super slick online collaboration application!).

Introduction to Silverlight Parts 1 and 2 – Scott Guthrie

Even though I thought I’d probably know most of the content of these two sessions I really wanted to see ScottGu talking about Silverlight in the flesh. The sessions were excellent, Scott walked through building a simple Silverlight app, including layout, Linq, hitting a WCF service for data, databinding, styles and templates. I picked up a couple of Blend tricks and enjoyed the atmosphere around me as people seemed to be impressed with the results of the demonstration.

Again perhaps it could be argued that after the opening keynote stressing the importance of design it might have been a good idea to have some XAML pre-canned by a designer, so that at some point in the demonstration Scott could layer this on top of the application. As it was he was at pains to point out that he wasn’t a designer and while that’s fine it still means that people are getting exposed to Silverlight while being told, “Don’t do it this way, I’m not a designer” rather than “I’m not a designer, so here’s some simple styling I got one to make up for me”. They could even have brought someone with design skills on stage to quickly show how easy it is to style up a simple application when working with Silverlight.

Probably the most exciting thing for me was that Scott was clearly using the RC version of Silverlight 2 – you could tell as the control styling was much, much better than the current default skin. Hopefully release is just round the corner (he either said “a couple of weeks” or “a few weeks”). I’d be surprised if they wait right through to PDC, let’s hope it’s sooner rather than later.

He also mentioned something along the lines of “we’re working on HTML display in Silverlight”, but I couldn’t be clear on whether this meant a full on “browser” control or more reference to some sort of HtmlTextBox. If they release a browser control (the equivalent of the WPF FRAME tag) I will officially shit myself.

PartnerTV

I missed the next couple of sessions that I would have attended due to being interviewed for Microsoft PartnerTV by Matt. This was a bit impromptu so the quality of my chat was a little substandard but hey ho it was a good opportunity to discuss why I’m so keen on Silverlight and do a bit of a guerrilla demo of colaab. In classic demo fashion my laptop battery gave up half way through the demo so I’m imagining that the background scenery is going to change half way through the final video as we moved nearer a plug (for power, I was plugging colaab all along, boom boom).

Thanks to Matt and Michael for lining this up.

Design Panel – Bill Buxton, Brendan Dawes, Mark Hauenstein, Antony Ribot, Arturo Toledo

Thinking that my right-brain might be in need of some nourishment by this stage I attended the design panel with Bill Buxton and Branden Dawes amongst others. The focus of the discussion was around the idea of Design as a Profession. There was some good chat in general but for me it perhaps lacked focus. We did get a couple of anecdotes from Bill Buxton and some nuggets of advice such as, “Always be bad at something” the ideas being that it’s good for you to always be at the beginnings of the learning process in a given field.

Further to my previous point about agile methods one member of the audience explained his frustration on a recent project where agile development methods were being used around how the design got out whack as iterations took place. You can imagine that I was not impressed when Bill Buxton stated immediately “There is no place for design in agile”. I totally disagree with this statement, as I work on agile projects with designers on a daily basis. While there’s no doubt that more focus has been placed on techniques, tools and methodologies for keeping the code and logic of the system amenable to change I think that it’s doable on the design side also.

Certainly if the promise of Expression + Visual Studio + XAML or “Applications = Code + Markup” as one book title has it means that it’s easier for designers to change applications without breaking code and vice versa for developers with design then this would fit well within a more agile environment, where change is constant.

Chris Hay – Improving ASP.NET front end performance

An excellent talk on front end performance of ASP.NET applications, Chris made the point that for the most part performance gains are most likely to be achieved through making changes to your front-end code rather than by trying to tweak code running on the back-end. According to Chris, the number one thing to do is reduce the number of requests per page. Do this by combining scripts and css files into single files either by script combining or manually combining them. Consider combining multiple images together into one image. Use client side caching. He showed an interesting technique of using inline styles and javascript on the homepage of a site, with the external styles and js files referenced just before the closing body tag that I’m going to give a bash on one of the sites we’re working on at the moment.

I’ll post a link to the slides and examples when he posts them up.

Dev Panel – Scott Guthrie, Mike Flasko, Sara Ford

Quite a few interesting things in this session but I didn’t keep any notes and a lot of the answers were along the lines of the “we’re not talking about this publically yet” lines. Some useful snippets:

  1. Silverlight 2 RTM will include some additional controls -  PasswordTextBox being one of them. RichTextBox is in the works but will not be in Silverlight 2 RTM.
  2. The default style of the controls for Silverlight 2 RTM is much improved on the Beta 2 styles.
  3. They are aiming for around 100 controls all in by some time in the first half of next year.
  4. Lot’s of “we’ll be making an announcement at PDC in October” style answers, particularly to questions around cloud services and entity framework.

As a side note, it’s incredible the depth that Scott Guthrie goes into when thrown question after question on wide ranging subjects from licensing to 3D modelling, he also seems to end almost every answer with “Drop me an email, I’ll put you in touch with the right person”.

Mike Taulty – Beyond Silverlight with WPF Clients

Geoff had mentioned that Mike Taulty was a good speaker and he wasn’t wrong. This talk was well paced (nice and quick progress throughout) and I found the clear explanation of what’s in WPF that isn’t present in Silverlight really interesting. The effect this had was not that I wanted to switch from doing Silverlight development to WPF but rather that I can’t wait for some WPF features to come to Silverlight.

While it may be some time before we see full 3D support or hardware accelerated effects in Silverlight I would love to see WPF features like Commands (although you can roll your own implementation),  triggers and binding one UI property to another appearing in Silverlight.

Mike had also ported the Silverlight 1.1 Alpha Silverlight Airlines sample to WPF which was interesting.

Here’s a couple of links to some previous blog posts from Mike on the stuff he talked about and the Silverlight Airlines port in particular:

http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2008/08/28/10706.aspx

http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2008/09/02/10710.aspx

I wondered whether the tooling would end up supporting project types like “Shared Silverlight / .NET 3.5 SP1 Class Library” which would reduce the amount of copy and paste coding required to currently get a Silverlight application working in WPF. I guess it depends how much demand there ends up being for this process.

Closing Keynote

Had to miss half the closing keynote (Sneak peeks) due to flight times but did get the chance to see some nice DeepZoom examples. I’d sketched out an idea here in the office for making some affiliate cash off DeepZoom implementations before, and this only brought that back to mind, I’ll write it up and post, it doesn’t look like I’ll have time to do it!

Oh, this post was written using the new Wave 3 Beta of Windows Live Writer – available here.