Another year, another community day at the Microsoft campus in Reading: DDD8 (Developer! Developer! Developer! - Event no. 8!).
Featuring talks from those working with Microsoft technologies, but specifically excluding Microsoft staff themselves, the DDD event has been a success from the day it first launched in Reading, with similar events now also organised annually in Scotland, Ireland and 'the South West'.
Over the years that it has been running, the succesful formula has stayed pretty much the same, with a few tweaks here and there as new lessons are learnt. If the event has a problem, it's only that demand far exceeds the capacity that Microsoft's meeting rooms can cope with. At the first event, as I recall, it took several weeks to 'fill up' after bookings first opened, even though there is no charge to attend. This year, with its reputation firmly established, all the available places went within 12 minutes of being announced, and the waiting list had built up to a couple of hundred within just a few hours!
As I've mentioned in reviews of previous events, your overall perception of the training value of the event very much depends on making the right choices about which sessions to attend. Four parallel tracks are run, with the sessions available in those parallel tracks selected from a much larger number of submissions from would-be speakers. The final selection of what's offered is based on votes from those expecting to be able to attend. Session abstracts, which sometimes can deviate quite significantly from what is actually delivered, or previous experience of a particular speaker are the only real guide here.
One of the things DDD has always prided itself on, is the way it tries to balance talks from 'experienced' or 'rock star' speakers with others from 'first timers' who get a unique chance to present to a sizeable audience at a fairly high profile event. Of course there is a risk that untried speakers will fail badly, but overall it's a policy that seems to have worked very well in giving people the encouragement to step forward, gain confidence, and go on to become 'rock stars' in their own right.
This year's event had its own hashtag of #ddd8 - a tag which came 3rd in the Twitter table rankings for most popular UK hashtags for the day, indicating how popular this event - and talking about it - has become. Looking at that Twitter stream as the event kicked off I saw a few tweets commenting that some of the initial slot talks had been at much more of a 'beginner' level than expected.
It's always going to be hard to pitch the right level of talk across the wide cross-section of developers who attend DDD, but it was good to see that the organisers responded almost immediately to the suggestion that at future events the 'level' of the talk should be very clearly identified in the session abstract. This will help all of us make the right decisions when it comes to making best use of the offerings that are available.
Session 1: TDD
I fell slight victim to this 'beginner level' problem with my first talk, Test Driven Development to Save Your Time. Money and Sanity, given by Richard Hopton. When the talk started Richard was very upfront about this being a 'for Beginners' talk, having only used MSTest (for 3 months) out of the frameworks he mentioned by name in an overview slide, and I'm sure there's an audience for this talk - but alas I wasn't it. A more accurate session description (or consistency between the title on the opening slide and the title on the session description) would have made that clearer to me before I attended.
On the positive side, Richard was a 'natural' at presenting, and his enthusiasm carried him through some rather sticky patches in the demo, which would have caused weaker speakers to crumble and fall.
Session 2: Hello Document Databases
I broke my own rules this time around, by trying out a 'new' speaker and a 'new' subject, rather than going with someone I know who always delivers a great session, even if the subject under discussion isn't particularly one I feel I need to learn about.
So common sense says I should have chosen Liam Westley's Commercial Software Development - Writing Software Is Easy, Not Going Bust is The Hard Bit, and in some ways I am sorry I missed it, particularly given that the reviews from those who did attend were universally ecstatic.
But I did feel I also got lucky in choosing Neil Robbins' Hello Document Databases session. Neil was a very natural presenter, and he gave a very nice overview of 'NoSQL (Not only SQL) databases', focussing on CouchDB (so easy you can operate it from the couch - a product with a tag line of 'Relax', which was often repeated, sometimes jokily from audience members when demo's went a bit skewy because of case sensitivity issues).
I didn't come away totally convinced this was the future for document-based systems, or that it was any more than an impressive technology for a hobbyist to play with rather than an 'Enterprise solution', but that may be my 'not familiar with Ubuntu' bias showing through.
My reservations aside, the talk certainly gave pause for thought, and it was nice to get a basic overview of this area of the business. I came away feeling I'd learnt something new, which is all I really look for in a talk. Overall, a good talk, well presented and I'll be watching out for future user group talks from Neil as a result of this one.
Session 3: C# 4.0
The busiest session of the day, by a long way, was Jon Skeet's C# 4 - interest was such that it was the only session that took up the two biggest session rooms, reducing the choice for this slot from four sessions to three. Despite the expanded audience space the session STILL got full to capacity.
Jon is a software engineerat Google, and is something of a hero on the London developer scene. His book C# in Depth (Manning Publications) is rightly praised for being one of the best books written on the C# language, and his presence answering difficult questions on the Stack overflow Developer forum site is legendary. So expectations were very high, and I wasn't disappointed. Jon has a knack for explaining very difficult topics in terms that even the average developer (that'll be me then ;-)) can understand. This was an excellent talk.
Over lunch, shorter 'grok talks' were given in a much more informal setting than the main sessions. I only heard two, but felt that something had been lost compared to previous events, in that they ran for much longer than I remember. At previous events I've managed to hear four or five quick talks and still have time to socialise a bit. This time round I only got to hear 2 before I needed to take a quick break before the main sessions restarted, and I felt both suffered from being too long.
Session 4: Microsoft Surface
The fourth slot of the day was the most difficult for me to choose from.
There were four great sessions scheduled, covering C# on the iPhone with Monotouch from Chris Hardy, Not Everything is an Object from Gary Short, Microsoft Surface from Kris Athi, and Entity Framework - How to Stop Your DBA from Having a Heart Attack from Simon Sabin - this last session being so popular people were leaking out the doors!
I chose (pretty much at random) the Microsoft Surface talk, and wasn't disappointed. This talk was, like Richard's, very much at the beginner level, and probably didn't have enough material for the scheduled running time, but I came out feeling it had been well worth attending.
It was a bit of a surprise to discover that the official Surface SDK isn't officially supported on anything other than Windows Vista with Service Pack 1 (although Kris mentioned that if you were running Windows 7, there was an unsupported hack that could be made to the msi to fool the SDK into thinking it was running on Vista).
To be honest, I came away with the impression that Surface was an even more niche product than I'd thought it was, and not likely to become anything other than even more niche (or possibly 'let go') in the near future. Questions around using the Surface API on a smaller Slate or iPad-like device gave answers that indicated Windows 7 new Multi-Touch features were very much an 'improved' version of the lessons learnt from Surface, which gave me the impression Surface was now stuck in a bit of a dead-end.
That being said, this was important stuff to hear about and I enjoyed the session, and particularly the demo code sections which contrasted the Surface controls with similar WPF ones, and included using two mice with the SDK to simulate the two fingers that would be used on a real Surface table hardware device.
Session 5: A Developer's Guide to Encryption
My final session of the day was Barry Dorrans' A Developer's Guide to Encryption, which turned out to be a fun way to end the day.
Barry bravely tried to fight his way through his session, which taught the basics of encryption and the various algorithms and terminology, but was frequently interrupted - not just by the audience pointing out several spelling mistakes on his slides and in his code (I counted five!) but by 'evil' video's that had been inserted into his presentation by other organisers of the event at strategic points.
This was Barry's last DDD, as he's off to the States to get the Microsoft chip implant at the end of the week, and the talk turned into a long ribbing, the highlights of which were some spoof ads for Barry's new book, that showed its excellent use for propping up tables, trying to get even with former UK evangelist Daniel Moth, or simply helping to keep the elderly warm (by burning it) during the tough Winter spell.
It was all good fun, and appropriate revenge for tricks Barry had played earlier in the day when one of the organisers, Phil Winstanley left his PC unattended, only to find he had apparently tweeted comments like 'I am going to dye my hair from now on, so people will talk to me', 'Has anyone seem my leather basque? With the studs? On the inside?' (Phil has his leather jacket stolen while out the night before) or 'I'm going to miss Barry so much. Gary Short is not a substitute'. I wonder if Microsoft USA will know what's hit them!
Sessions and learning opportunities aside, this really is an event for those that believe in the reality (rather than the hyperbole) of 'Community'. Microsoft employees may be forbidden from giving talks, but their evangelists and developer leaders are typically in attendance, in their own time, just to network and chat. Security staff and organisational staff turn up hours before the first attendees show, and I felt for them today when I realised that the overly plentiful bacon, sausage or egg butties provided for attendees had all gone by the time Microsoft staff got the chance to put up their feet for a minute when the first session kicked off.
As an event DDD is a great showcase for not just the volunteers who put so much time and effort into making the event happen, but also the Microsoft eco-system. It's to Microsoft's credit that it's happy to sponsor an event where the content is pretty much out of its direct control.
It only remains for me to thank all the organisers for another great event, which shows off community in the best sense of the word. Good food (thanks Microsoft), free buses from the station (thanks SQL Bits), some great talks, plentiful snacks and SWAG (thanks Developer Express, Microsoft, and others) - what more could you ask for from a developer event? Well done, and thanks to everyone involved!
Edited to add: There are some nice pictures from the event by Barry Dorrans on his Flickr stream here