Wednesday, October 28, 2009

Dev Days London

Dev Days London was on today at Kensington town hall (a short walk from my house).

I thought I'd give a quick rundown of what I saw and thought of the event:

First up was Joel Spolsky, cofounder of which I must admit I had never heard of before (does that mean it is not very Java centric or just has bad SEO?). Apparently they are now more popular than expert sex change though that site has been useless for years so that is no surprise. Joel talked about how people and users wanted to create 'simple' software but how you needed to add lots of features to make money. Not sure I got the point of his presentation actually...

Next up was Michael Sparks from BBC research giving an impressive demo of a spellchecker in python. Really showed the power of using a scripting language with good support for data structure (especially string) manipulation, though the presentation wasn't the most exciting.

After a short break Joel was back (with a change in schedule) to plug the new version of Fogbugz, his company's (Fogcreek) issue tracker. I had heard of FogBugz but never seen it in action being a longtime Atlassian (Jira) fanboy. It looked quite good but a lot of Joel's presentation seemed to rely on external plugins rather than core functionality. He also showed off Kiln, a new plugin from Fogcreek that gives repository integration (using a hosted Mercurial instance) including source code view, and code review. This looked to be better integrated than Jira/Crucible/Fisheye though it only supports the hosted Hg repo. There are free licenses for startups and individuals (this may be just for Fogbugz...) but no mention of opensource.
Jason has clarified in the comments that there are free licenses available for Kiln as well so long as your team is only one or two people.

Reto Meier, Google's Euro Android evangelist followed Joel with a rather boring presentation of android development. The best bit was the instant availability of new apps once you upload them to the market place (unlike the Apple app store).

Remy Sharp gave a rather excellent intro/overview to jQuery with a very professional presentation and compelling reasons for using jQuery as your default javascript framework. He also demonstrated writing a jQuery plugin during the talk and gave a lot of insight into the thinking behind the way jQuery works (which was very enlightening). He also showed off his website for live colllaborative js debugging, Jsbin.

During lunch I got a chance to talk to Benjamin Pollack from the Fogbugz Kiln team who is a Mercurial contributor. I have been trying to work out why/if distributed version control makes sense in an enterprise environment for a while now and so it was great to chat to Ben. He explained that the feature of most benefit to the enterprise is Mercurial's great support for merging branches back to the main source repo (local copies of the repos can act very much like branches in svn). This is something that has been problematic in svn so anything that helps this (and can encourage the use of branches/multiple repos) sounds great. I am still concerned by the idea of having a lot of code on a developers local machine (in case of hardware failure/illness) and there is still the problem of doing continuous integration against a non-trunk code branch but better merges would definitely be welcome.

Pekka Kosonen from Nokia seemed to be out to convince everyone NOT to use Qt to develop their mobile apps. Incomplete libraries, lack of good mobile services APIs and the fact that you have to be a company in order to put apps on the store (wtf?) were enough to make Android look interesting again.

Until Phil Nash showed how to create an iPhone app complete with cool image transition in a dozen lines of code and 20 minutes. I really must try some iPhone dev. Phil's explanation of Objective-C was great too. It really does seem less scary now.

Jeff Atwood, stackoverflow cofounder, talked about why he was passionate about software and the importance for developers to be able to communicate ideas using non technical language. (I wonder if that is why I am writing this...)

Jon Skeet from Google gave a great talk titled 'Humanity: Epic Fail' showing how humans, with their different languages, units, expectations and above all timezones are conspiring to make it very difficult to develop software that 'just works'. He showed that it is important to really understand the problem that you are working on and not to expect that things will always/ever? follow the happy path. Oh, and he had a sock puppet - Tony the (one trick) Pony.

Paul Biggar a PhD candidate from Dublin gave a remarkably engaging presentation about compilers and interpreters and why current interpreted languages can never be as fast as compiled ones.

Christian Heilmann from Yahoo talked about Yui, which browsers to support, and why developers should try and use exisitng, tested plugins rather than try and reinvent the wheel. He also gave a great demo of YQL where he used Greasemonkey and the Yahoo Term Extraction API to automatically populate the tags field in fogbugz stackoverflow (like the tags field in flickr or delicious when you add something). Very cool. Thanks to Dominic Rodger who points out that it was in fact stackoverflow not fogbugz.

So overall it was an odd mix of presentations. It would be very unlikely if they were all relevant to your everyday jobs, unless you are writing an android, compiler optimiser with rich web interface. The quality of the talks (and demos) varied immensely but there were some that were very interesting especially the iPhone, Yui and jQuery ones.

The presenters seemed to be plagued with audio problems and the screen was very blurry making it difficult to read (especially bad when the conference has a big emphasis on code). FOWA attendees will be pleased to know that the wifi was fine though (not that my iPhone could last the whole day of course). Lowlights were the food vouchers which were valid for awful coffee (after a half hour lineup) and food that ran out. Seriously, if you are going to give people vouchers for food at the venue, at least make sure the venue can support the number of attendees.

The lack of an organised meetup afterwards seemed strange. I guess pubs are difficult to come by in London. And Joel mispronouncing Qt (it's cute btw). I guess he fell asleep during that presentation too. Oh, and no Java! (unless you count Android).