Stackoverflow DevDays in London: Worth going

First edition of Stackoverflow DevDays Conference: 10 speakers, free food, a lot of developers and interesting topics.

StackOverflow is something that God should have created after the 6th day, if you've never heard of it, you are not a real developer!
The team decided to launch a series of events in 10 city throughout the World after the great success received and the big StackOverflow community.

Although the conference was supposed to be technical ("speakers are going to be writing code", the official blog says), I really think that it was quite basic.

Schedule

Opening Keynote. Joel Spolsky

Joe opened the conference with his session about the choice between simplicity and power.
Developers must keep their app simple, which means that it must do one thing and do it well (according to the 80/20 rule). If you want to add more features, you have to choose the ones your users care about.

An important supermarket, which wanted to better understand its customers, made a test by selecting 6 samples of jam before and 24 then.
In the first case a few number of people, about 40%, tried the jams but 30% bought them against 60% trials and 3% purchases in the second case.
This means that people like to try new things but can't decide among many alternatives.

Recommended book: The paradox of choice.

But users want more features, someone might want something, another one something else and you have to deal with it if you want to make money.
The problem is to make your app powerful and keep it as simple as possible.
The solution is trying to understand what people care about, you can in fact make mistakes adding bad features and losing visitors. Besides that, if you miss an important feature your app will fail eventually.

To sort out the problem try to hide or automate basic operations by developing elegant interfaces.
An important principle about the Elegance is:

A designer knows when he's achieved his goal not when there's nothing to add but when there's nothing to take off.

But elegant UIs take more work and you have to deal with that too.

I liked so much this session, it was something that you can't find easly on the Internet it you don't have enough time. These are the kind of topics I like the most in a conference.

Python. Michael Sparks

Hardcoding.
Michael went through the Peter Noving's Spell Checker explaining each line of code.
I'm an advanced Python Developer, so nothing new for me, but Peter went exactly to the point, that is, he reinforced the idea that Python is really powerful.
Although Michael is not a good speaker, I enjoyed the session.

Fogbugz. Joel Spolsky

Marketing.
Don't get me wrong I like Fogbugz but I'd prefer to hear something really interesting and new.
Of course for that price Joel had to find out how to make as much money as possible.

Android. Reto Meier:

The worst session. Java stinks of death. I'm a Java Developer and I can say that.
Too many lines of code to write a "Hello World" program, too many Java Classes and XMLs.
I think Google make a big mistake when he decided to use Java as principal programming language for Android.

jQuery. Remy Sharp:

Absolutely inappropriate. We are Web Developers Remy, not bakers; we know how to look up the documentation!
Anyway, 50 mins, overview of Query and a few examples from codylindley.com.

Stack Overflow. Jeff Atwood:

Jeff gave a detailed account of Stack Overflow, how it started and how it's going on.
Two interesting books here:

He went on then speaking about the role of the Developer, that is, to be tidy, clear and an excellent communicator; explain yourself plainly.

Qt. Pekka Kosonen:

Qt? Are you kidding?
If you don't know, Qt is a cross-platform written in C++, available for desktop and mobile devices and with a nice remote compiler.
Pekka objectively said that Nokia used to suck, I objectively say that Nokia still sucks!
Qt could have been interesting 2 years ago but in fact it was born dead.

iPhone. Phil Nash:

Just an introduction to iPhone Development.
Although it was very basic I found it perfect for the audience, I couldn't believe there were just a handful of iPhone developers!
Overall it was a one hour iPhone Tech Talk; Phil spoke about syntax, general best practices and the usual Hello World App.

Humanity Epic Fail. Jon Skeet:

Jon explained the difficulties you can find working with numbers, time zones and strings.
Nothing really exciting but it was fun, Jon is an excellent communicator.

How not to design a scripting language. Paul Biggar:

Technical, and academic, talk about how to design a scripting language.
Three points here:

Scripting languages are:
good because

bad because

Paul explained why Python is so good and Ruby sucks, I quite agree with him indeed.

First problem:
A language is designed for a specific interpreter which make you hard to maintain your code portable.

Solution:
Don't expose yourself, developers depend on your API therefore you have to write them in a way that allow you to change the implementation without put them down.

Second problem:
scripting languages are very slow if you use dynamic source code generators, such as eval and dynamic include/import in Python.

Solution:
Don't use dynamic code generators.

Just-in-time compilers are really good but hard to write.
An excellent example in Javascript for Tracemonkey.

Useful link:

Yahoo! Developer Tools. Christian Heilmann:

An overview of YUI.
I would never use tools such as CSS Grids, YUI Utilities and YUI Widgets but YQL is just amazing.
I've been using it for a few months and I find it really well done!

You can find more links on the Christian's delicious profile.

In conclusion

Positives:

Negatives:

Overall, I enjoyed myself and I found it somehow interesting.

01 Nov. 2009