A little silver light at DevWeek 2009

I spent a couple of days at DevWeek this week. If you haven’t heard of it, it’s a conference for developers that use largely Microsoft tools. There’s a regular set of talkers that arrive from the US and Europe to give us their thoughts on how to use the latest techniques to their best….Silverlight, Azure, WCF etc etc.

This year it was held at the Barbican again, which has plenty of function rooms for the different streams but it feels a bit spread out as a venue and doesn’t really mix people together in the same way as the Business Design Centre used to. If you’re into Microsoft tools though, I can recommend it; people in our team have been there several years now. They’re quite flexible too; they don’t mind a pass being shared around colleagues on different days. Always interesting talks, have a look at the schedule on http://www.devweek.com/

I spent most of my time in talks on either WCF or Silverlight. Having found C# web services to an Oracle back end easy to do, I had to find out why the seemingly over engineered WCF should be the preferred solution. I‘ve spent the last couple of years writing Flex apps for both browser front ends and stand alone Air applications, but being in a largely Microsoft shop, I need to find out the state of Silverlight and how practical it is.

The event started with a keynote from Aaaron Skonnard on cloud computing. It must be about to take off now as with the growth in virtualisation techniques. It is helped by the increasingly fat pipes that the internet has and by the way that the main players are just charging by the assets used. The costs of having your own server centres, that have to be capable of peaks in demand is becoming too high. We can let these cloud experts do what they’re good at and let them take all the risks of machine downtime. We can then piggy back off the service to get storage in any geo location, database facilities and processing power of many types. Microsoft bring their Azure services to join Amazon and Google as the three big players. It will be interesting to see how easy they can make the interaction. Their tools appear to give the facilities and I’m sure that Azure will be the choice of a large number of Microsoft developers, despite coming to the table later; they’ll have services for the tools that they are used to locally – SQL server, Sharepoint etc.We heard about some of this in the session with Developmentor earlier this year, but it didn’t sound as though it would be ready soon.We should probably have a look, but it may not suit the video side of the business. It would take more time to upload the content than to send it by Fedex.. Programming-wise Azure looks a bit more promising with .NET services rather than the python facilities in Google.

Several speakers referred to the recent MIX09 event at Vegas recently. They talk about all the new releases there, http://live.visitmix.com/ It’s a good place to see what’s coming up, with plenty of screencasts but some of it is still alpha version ideas.

Dave Wheeler gave a few talks on Silverlight 2; I listened to one of his and another from Mike Taulty who works for Microsoft. Version 3 beta has just arrived, but is not in a sensible state to promote. Dave suggested only using it on a virtual machine; certainly nowhere near production. Version 3 has abilities to write to the local files system, has better navigation and some bitmap libraries; sounds like it is chasing the Adobe Air feature list but not catching up yet. Dave was more interested in getting printing and navigation abilities, which are non existent at the moment. (The talks only covered version 2, with version 3 coming up in the outside conversations. ) Dave has now left QA and teamed up with a different group. His blog is at http://rocksolidknowledge.com/Blog.mvc/ViewBlog?blogName=All%20Blogs but look at some of the others there as well; they are also good talkers.

Silverlight 2 has come on quite a way though. To me it seemed quite positive as it has moved from the extremely limited, javascript based first version, to a version where a lot can be done in C#. If you’re coding you can do a lot in Visual Studio, but when coming to do the design you’ll need to move to Expression Blend 2 as the XAML code gets far too complex, especially when animating between states. Expression brings ease of animations, but it has the problem of moving out of the source control arena. When I tried it for the Election, it seemed to plug together with VS pretty smoothly, so we shall give it another trial. The toolbox continues to grow. It’s still a bit limited, but controls can be created with C# now, with better event handling so corporates will find it easier to get their programmers motivated. Not much Javascript to contend with.

Silverlight originally had the edge on Flash for the web streaming and DRM, but it was nowhere with other facilities – limited controls, dependency on javascript, PC only…Its facilities have been growing. It has some good facilities to talk to the Web page through the HTML bridge and it will be easy to get several web parts talking together without taking over the whole page. There are two DOMs to cope with now, the HTML DOM and the XAML DOM. (or is it two XAML DOMs if you have more than one Silverlight plugin on a page?) Mike Taulty of Microsoft talked about this. He was a bit biased, but being DevWeek this is to be expected. His code will be on his blog http://mtaulty.com/devweek.zip The C# interface is growing fast with push technology and WCF classes; it’s worth looking at if you don’t want to learn actionscript; but the feature churn is a problem. That applies to lots of Microsoft technologies. It’s tough but exciting to be on the leading edge.

The talks that I went to on WCF were interesting but had several contrasting points of view. Aaron Skonnard was promoting simple REST services, using XML or JSON based interaction, whereas Christian Weyer was more into the efficiency of binary communications and brought out lots of areas where the interface could fall over if you didn’t quite understand the limitations. For my web services, I thought that the XML serialiser was easy to use and the whole WCF system a little over engineered, but after listening to the talks I might be persuaded to give it a test, especially as service pack 1 brings back the original XML Serializer. It helps if you can be stateless and sessionless especially when scaling up. WCF 3.5 brings Atom and RSS feed formatters and some of the examples with LINQ make life very straightforward. Christian said that LINQ rocks, so I should really take a look again. There is a WCF REST starter kit which sounds like a good introduction; t’s on the codeplex site, http://aspnet.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=24644

Or go to the main codeplex REST/WCF site on msdn, http://msdn.microsoft.com/en-us/netframework/cc950529.aspx

Christian Weyer’s blog also looks useful, there are several speakers on there, so I’ll just give the top level link http://blogs.thinktecture.com/ He was good to listen to; loud and funny but obviously full of experience.

A lot of the interface work can be done with Visual Studio wizards but it needs some thought to be given to the interface protocol and the structure of the endpoints and how they appear to the user. Much of this structure is built in the config file. Make sure that you have version 3.5 with service pack 1 for the full facilities. A couple of the guys used a freeware piece of software called fiddler2 to monitor the network activity activity – http://www.fiddler2.com/fiddler2/ Looks useful, although using Firefox browser, I would tend to use the firebug plugin or I’ve used smartSniff from http://www.nirsoft.net. for testing some of the tcp socket routines.

Aaron’s site has a whole bunch of streaming video demonstrations about http services, wcf, REST etc. They are a training company so they should be useful. http://www.pluralsight.com/main/screencasts/default.aspx Another talker, Fritz Onion is also with this company and referred to his blog for his sample code on, not just MVC but Silverlight and Ajax as well, http://www.pluralsight.com/community/blogs/fritz/default.aspx

Some of the other things that I didn’t get to the talks of,

Microsoft Source Analysis – or styleCop as they called it might be useful, if a bit critical..!

There was a talk last thing on Wednesday about Visual Studio tips and tricks, I didn’t go because the slides looked to cover most stuff. Check them in the book..end of Wednesday.

There was a stand there with Microsoft showing their Surface table top. The cost of this very cute box was around $11,000 with SDK licences for 5 developers. This is definitely where the documentation project should be! Next to them was a developer group who describe various user groups around the country. Their web site is at http://www.developerfusion.com/ It has hints, tips and links to events going on at the various user groups.


Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s