Developer Day Number Six

Today was the sixth of the Developer Developer Developer events at the Microsoft Campus in Reading, and as with the previous events, I spent the day enjoying the sessions. As in previous events what I actually attended didn’t quite match up with what I thought I would attend, but the beauty of these days is you can quite easily switch dependant on what takes your fancy on the day, or indeed which sessions have seats!

First off I sampled the first part of Oliver Sturm’s double presentation on producing business applications with Windows Presentation Foundation (WPF). Like most people, what I remember about WPF is the flashy eye candy filled demo applications – what Oliver aimed to do was show that alongside the eye candy was a strong platform that could produce the kind of ‘boring’ business applications that most people end up writing, something in which he very much succeeded.

I commented after DDD4 that the kind of material that Oliver covered needed an early slot, rather than the graveyard slot where everybody was tired, and it is great to see that the comment had been taken on board, as a result I thought I gained a lot from attending both the first and second parts of the presentation (although it would have been better in successive slots I have to say), and certainly have a better idea of what I can do with the new framework.

Another session that gave me a better idea of what I can do was the slightly mis-titled Cruise Control .Net session presented by Paul Lockwood. I say mis-titled as the titular piece of software only appeared at the end of the session, much of the earlier part was looking at all the other bits of software that Cruise Control .Net actually uses, and which provide much of the power of the continuous integration process. No matter as it was an interesting session, and certainly gave me some pointers towards what is needed in setting up a continuous build process. Having said that, at work we’ve been saying we’re going to set up a continuous build process for a long while, whether we’ll actually get round to doing it is another matter!

After that it was back to see Oliver for part two of his session, and then from there on to lunch.

The main lunchtime activity was the Grok talks, of which more in a moment, but first the one thing that really annoyed me about the day (well aside from the car service indicator, but that’s another story) which was the way lunch was handled. Now they’ve tried various ways around this from full scale hot food, through to the bagged lunches they have now. The bagged lunches seemed to have worked fairly well, but it is always slightly slow because they randomly pack the bags so whether you’re just like me and fussy, or more importantly have food allergies you sometimes need to look through to find a reasonable combination. Now obviously there have been comments about this, as this time they had taped all the bags shut and the only option was vegetarian or meat – but still with the same random selection. There were also Microsoft Events staff posted at each table handing the bags out and being downright rude if you tried to have a look at what was in the bags. Heaven help you if you actually had a legitimate reason to be careful what you got. Luckily my random selection was pretty good and I didn’t get a sandwich ruined by tomato and cucumber, and even struck lucky with the flavour of crisps. But seriously taping the bags shut may remove a symptom of the problem, but it’s not actually solving the problem, it’s just annoying!

Anyway, onto the lunchtime talks. In an improvement from last time they were actually held in Memphis rather than in the foyer. There was still a bit of a problem with noise as the doors were open and people were chatting outside – not helped by the lack of a microphone for the speakers in that room, but it was a definite improvement. Whilst on the subject of microphones, in answer to the organiser, who shall remain nameless, who introduced and closed the day in Chicago by saying both times “you can hear me, I don’t need a microphoneâ€?, “we can’t, and you doâ€?! I know it’s a pain to use a microphone, (and I know other people who don’t like it and think they can get away without) and it’s probably not comfortable, but you can’t be heard at the back if you don’t.

Anyway, back to the Grok Talks – there was a good mix of topics including tips on packaging up your custom controls, a demo of Windows Power Shell and some tips on how to speed up Reflection. Probably the two most memorable were firstly a senior programmer, whose name unfortunately I don’t remember, who did a primarily non-technical presentation about a recent project he led implementing a patient record system in the UAE. Basically by reviewing the project from a business perspective it highlighted all sorts of gotcha’s for other people developing software in foreign countries. In terms of software design, things like other countries having names that don’t fit neatly into the forename/surname structure used here are important, also the d’oh moment when they realised that having a picture of the patient was pretty useless when large numbers of the women wore a burqa was good to share. He also highlighted that the scheduling aspect of the system was complicated by Ramadan as the scheduling algorithm would be different in that period. He also highlighted issues of staff morale, and just getting things done – all useful stuff that some might consider common sense, but are easy to miss on a complex project.

The second most memorable was for totally different reasons. This one was Guy Smith-Ferrier talking about Extension Methods. It was memorable not because of the topic, but because Guy chose to do it as a Pecha Kucha where the presentation is limited to twenty slides, each shown for exactly twenty seconds. After those twenty seconds the slides automatically move on, whether the speaker is finished speaking to the slide or not! Even if you’re not really massively enthusiastic about the subject, the format itself does bring in a strong element of interest as you watch to see if the speaker succeeds or doesn’t manage to keep up. Although there were a few points were Guy fell behind, and even one occasion where he was waiting for the slide to move on, he largely succeeded in coping – maybe an idea to try for more speakers next time?

After lunch I stayed put in Memphis for a Question Time style session on recruitment, not because I was massively interested in the subject, but because the panel included Barry Dorrans on the panel alongside a recruitment consultant. To understand why, have a read of some of the posts on his blog… Anyway, it was a worthwhile session, as there was a good discussion of the pros and cons of going freelance – something I’ve considered before, but rejected – which was an eye opener, particularly the comments from the recruitment consultant about the issues with trying to swap back again. I also felt somewhat better about the lousy pass rate we got on the programming test we gave to potential developers on our most recent recruitment round – the manager on the panel said only one in twenty programmers pass his simple test which sounds much the same as ours. I also came away with a great little test for helpdesk operators too which I guess I’ll have to pass on. As to Barry he was entertaining and animated as always, and managed to not lay in to the recruitment consultant too much – and when he did, about the lack of technical knowledge they have, he largely agreed!

The final session was perhaps the one I had least idea before hand which I was going to attend. Eventually I resisted the temptation of Swaggily Fortunes, and went along to hear James Winters talk about how to write a Facebook application, mainly out of curiosity.

The first thing I learned from the session is that in order to make money from writing for Facebook you don’t need to do anything complicated, indeed James showed us an application that recently sold for about $25,000 that in reality took about three hours to write. To understand why, you have to go back and look at how the Facebook model actually makes money – advertising. Therefore the more users an application has, the more it is worth – so all the stupid little applications that some of the people wanting to use Facebook as a business tool tend to look down on are actually worth significantly more because they generally have many more users than the more serious applications.

The general impression I took away from the session is that a basic Facebook application is actually relatively simple to produce – the real skill is coming up with an idea that has the sort of viral penetration to spread through thousands of users, which is how you can make any sort of money as a Facebook developer. Aside from that the applications are really just web applications, albeit with some functional limitations imposed by Facebook.

Anyway, all in all it was a good day, and I picked up lots of useful bits and pieces – and maybe if I can think up a good idea I’ll make my millions writing a Facebook application… maybe not. Oh and if you’re wondering why I wasn’t micro-blogging along with some of the others on Twitter, blame the Twitter mobile service, as I tried to hook up but it wasn’t until I got home that I realised I wasn’t following the feed, so nothing had worked. Maybe next time…

DDD6 092 and DDD6 125 originally uploaded by blowdart2000.

9 thoughts on “Developer Day Number Six”

  1. I think we’ll have to agree to disagree about the WPF talk. Three of us that attended Part 1 were disappointed as this was really just the same basic “eye candy” basics we’ve had umpteen times over the last couple of years, rather than the “business app” orientation we’d been promised. 15 minutes waffling before starting the talk isn’t the way to go when you have an hour to charge in and the “sample” app didn’t in any size, shape or form resemble a business app. The objection from the audience member asking why the XAML had been “hand-coded” was right on the button. If you’re going to write a business app use the professional tools for the job ie Design and Blend.

    The “Astoria” talk was the highlight for me (Guy is always good value) and the grok talks were entertaining, and I thought only the “Arabian Nights” talk was a bit thin, albeit some nice variety in the midst of the other technical stuff (I’m probably biased having done two and a half years in Saudi and another two in Kuwait) and there were a couple of bullet points on there that really would have offended the natives if the presentation had been given in Dubai.

    All-in-all a good day, but I felt too many of the talks were like the “bad old days of MSDN” (thought the “Silverlight” was a classic example – if I want to see someone cut and pasting a lot of code I can download it from codeplex) – demo’s that weren’t well prepared, with oft-times questions being asked that the speakers (I felt) ought to have known the answers to having to be answered with an “I don’t know. Email me and I’ll try and find out for you”.

    I honestly felt that the knowledge level of speakers at DDD and DDD2 were generally higher (almost at the “rock star” level) with much more emphasis on “real world” experience than those I attended today. Basic “canned” demo’s showing the strengths in a rather glossy, rather simplistic “marketing” light were too much in evidence and it was embarrassing how many times different presenters having made a mistake in even their basic demo’s couldn’t see what the mistakes they’d made were or uttered gems such as “I don’t remember what class I put the code we need in and can’t find it. Never mind”.

    I couldn’t help but come away thinking that maybe some of the speakers have become a bit complacent about the success of DDD and the need to fully prep and really know the subject they’re going to present on, rather than working through the basics that anybody with a few hours to spare could probably put together themselves. Too harsh? I don’t think so. Add in some basic lack of speaker skills (tips: repeat questions that most of the audience can’t hear; don’t insult those asking questions even if you think they deserve it unless it’s to make a joke or you know the person and are ripping them; realise that just throwing great wads of code without any explanation on an overhead doesn’t mean anything to anyone; realise that when the demo you’re giving doesn’t match in any way what you’ve said should happen you shouldn’t ignore the evidence on the screen in front of you and everyone else and ignore it hoping nobody says anything; if you’re trying to squeeze a 4 hour presentation into 2 hours – which is a bit of a luxury to start with – don’t waffle away the first 15 minutes – time is money and crack on with it!)

    Personally I’d like to see Guy giving all new speakers (and some old ones) a “how to give a presentation” course as he was light years ahead of most of the people I saw today.

  2. Mmm, I guess with the WPF sessions for me I actually saw that it could be used for a business app – what Oliver said was enough that I could relate it to what I’m developing. Certainly see your point that it wasn’t a real world app – still very much a demo. But maybe I’m seeing it in more of a positive light thanks to having a Eureka moment!

    There were the odd one or two technical problems in sessions I attended, James especially had problems in his Facebook demo – Paul also had hiccups too, but generally my experience was better than some previous days.

    I think more often than not your DDD experience can be pretty variable if you happen to get some poor sessions. As to Guy – don’t think I’ve been to a bad presentation of his – both good presentations and technically strong too.

  3. Turning a text box so that it slopes on its side at a silly angle, having ridiculously odd buttons (triangular ones with no text in this case) or things like “look you can do a button with a checkbox in the middle” are all staples of the “standard, introductory” WPF presentation (the “eye candy” presentation that the presenter specifically said he WASN’T going to give!).

    I’m afraid I just don’t see what any of this has to do with a “business” application (and the whole sales pitch for the talk ha been that this time we were going to get into the real world of writing business apps with WPF). Of course this may have happened in Part 2 of the talk but after an hour that really seemed to show the opposite I wasn’t inclined to give up another hour to find out. I felt way too much time was spent on the sort of frippery that was used a lot in the early introductory sessions on WPF that people were giving a couple of years ago. Such demo’s smack to me of the old ‘marquee’ or ‘blink’ tags that that surfaced in the early days of HTML – just because something CAN be done doesn’t mean it SHOULD be done. Does anybody really think these gimmicks, which certainly show how WPF is different from WinForms, are actually things you’d want to use in any kind of application?

    I’d agree it was probably a good “introduction to WPF” hour if you knew nothing about WPF, but that wasn’t what it was advertised to be.

  4. Ah, hadn’t realised you’d missed part 2. He did indeed move on and did quite a lot of interesting stuff with the data binding including binding to object collections, databases and XML – which was largely what set me thinking about how I could use it.

  5. Wow, what a comprehensive post!

    Regarding my session being called ‘Cruise Control .Net’ – unfortunately the abstract was not included on the printed agenda. In my defence this is it:

    “Continuous Integration one of the easiest wins that most .Net teams have yet to implement. Automated builds are common in Java teams and we need to catch up! Paul will demonstrate how easy it is to install and configure Cruise Control for C# or VB.Net projects. Additionally this session covers the basics of MSBuild, NAnt, NUnit, NCover and FxCop.”

    Glad to hear the session was useful anyway.

  6. How i wish it was 25 000 🙂

    Need to speak into the mike more clearly, but still 5000 was a nice little reward for a couple of days effort.

    And that’s the last time I ever demo a web application – I’m sticking to proper code from now on.

  7. James, didn’t have a problem with hearing you at all. You also had more success with a web application that some I’ve seen. The choice of not relying on Microsoft’s wi-fi or network connection being a good start!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.