Adventures of a wannabe geek!

Ranting within

Review of DDD Guathon 2

Today, 06 June 2011, was the second Guathon London run the the DDD guys. On today’s session listing was ASP.NET MVC 3, Knockout.Js, C#5 and asynchronous Web applications and cloud computing with Windows Azure.

First on the bill was Scott Guthrie to do a 2 hour round robin talk on building an app using ASP.NET MVC 3, EF Code First, NuGet, and IIS. This was a whirlwind talk as usual as there was so much to cover. It wasn’t anything new to me as I use these technologies on a day-to-day basis at work. I also used them to create GiveCamp UK.

Steve Sanderson then talked about knockout.js, his personal web UI framework. Knockout is a JavaScript library that helps you to create rich, responsive display and editor user interfaces with a clean underlying data model. This library uses an MVVM approach in order to bind data to a UI. The way of writing the code is very nice but I must admit I was not convinced of its usefulness to me in this short introduction to it. this was due to a number of reasons:

  • non degradation of the JavaScript
  • I have questions about its accessibility
  • i have questions about how you would actually write maintainable tests for this framework

This is not to say I hate the framework. This just means that initially I must say that my barriers went up as it made me feel outside my comfort zone. I will have a look into it a bit more before I make my mind up on whether I’d use it or not. Right now I’m unconvinced.

After the lunch break, Steve Sanderson was back on stage to take about the use of the new C#5 features (async and await) in order to create asynchronous web applications in ASP.NET vNext. This mean that Steve showed off some of the new MVC4 features and used a NuGet package, called SignalR. The talk demonstrated how the syntax in MVC4 will be a lot cleaner and readable that MVC3 where we use the Async and Completed methods in order to carry out async tasks. It seems to me that async Task<ActionResult> will be of great use to me in the future.

Steve then talked about taking the real time web beyond ajax. The talk spoke about polling, long polling and web sockets. This was my first sight of web sockets and they look very useful although it was pointed out that it was not ready for production applications yet due to non finalised specification. Steve took the long polling example and showed how we can use async in a chat room and voting application. The demos looked simple and easy to read and the MVC4 code looked good

The last talk of the day was back to the ‘Gu’ himself. This time he was talking on cloud computing. Scott was quick to point out that this was his first time talking about Azure since he took his new job and that even though he had taken that job, he was still very much a part of the ASP.NET team.

This talk was split into numerous parts. The first few pointing out what Azure is, what it’s infrastructure is made up of and how to take a simple application, make it ‘cloud ready’ and then deploy to the Azure platform. The next part focused on fault tolerance and latency and this was useful to see. My experience of developers new to ‘the cloud’ is that they take a web app, deploy to the cloud and this it’s automatically scalable. This is of course not strictly true.

Scott then talked about using servicebus as a message queuing service to help create a more load levelled application. The scalability of applications created in this way, means that instances of an app can be increased at peak times through code, Azure management API or via service configuration file changes.  The talk was then refocused on how the cloud has made data storage cheaper and more efficient as the cost has dropped considerably over the years. Storing terabytes of data is now not an issue. It was pointed out that Azure replicated data storage in 3 locations for availability and consistency.

Mentions of Sql Azure and Table storage were made and Scott explained the benefits they bring like auto backups, auto sharding etc. The final demo was federated security using WIF. This allows the use of partner API’s (facebook Id, Google Id, Live id and active directory) in order for users to sign into your website. This was a new thing for me and I am annoyed I didn’t know of it before as it would have made the creation of GiveCamp UK easier.

Overall, I enjoyed the event. Thanks to Phil Winstanley, Dave Sussman and the DDD team for organising the event at short notice. Also thanks to Scott and Steve for coming along to speak. It is great to listen to presenters who really do know what they are talking about. It makes me jealous of all the folks heading to NDC2011 to hear more of these kind of talks.