I went to Amsterdam for the one-day DevDays conference put on by the guys behind Stack Overflow. While the creators of Stack Overflow are proponents of ASP.NET and the site itself is built on a Microsoft stack (ASP.NET, SQL Server, etc), the Stack Overflow is billed as language-agnostic. As such, the conference was meant to be "a sample platter for web developers". That being said, the conference wasn't afraid to toot its own horn, and detailed several of (rapidly expanding it seems) Stack Overflow properties such as Stack Overflow, Stack Exchange, Stack Overflow Careers, and even Fog Creek's (Joel Spolsky's company) main product, Fogbugz.
And so, the sessions:
Joel Spolsky, Fog Creek Software
This was my favorite session of the day. It kicked off with a cheeky and geeky, but a bit lenghty intro video filmed at the Fog Creek office where Joel shows how he, despite all of his promotion over the years of good developer working conditions and proper respect for developers, really manages his
Choices. Users are faced with, every day, a staggering amount of choices from software. Over abundant and illogical dialog boxes and prompts bombard us. More choices can be demotivating. In a study conducted at a supermarket, two tables were set up with samplers, one with 10 kinds of jam, and one with 2. The results indicated that, while more samplers attracted more people, the table with only 2 kinds of jam actually outsold the other table significantly. Every time you have an option is a dialog box, you're asking someone to make a decision (this is generally a bad thing).
Simplicity. There's a trend in software (especially from Web 2.0 companies) towards simplicity, but software shouldn't just be simple, it should also be powerful. This is where elegant design and programming comes in. Why did this idea of simplicity so popular in modern, trendy software? One reason is the number of startups with limited staff and resources. Is this taken too far? Maybe. Just google bug trackers and see how many of them advertise "simplicity". In Joel's experience, features added elegantly (with gracy, economy, strength, and modesty) generate more sales. Think about what motivates people and don't think your code is so important. Elegance actually takes more work (not only in UI development, but also in coding).
Jorn Zaeffer, jQuery
Eroe Bragge, Nokia
Ah, the worst session in my opinion and the one that got the worst backlash on the conference's live Twitter hashtag (I started feeling sorry after awhile reading these tweets).
Sounds great: write an application once and run it on Windows, Mac, Linux, and even phones running Nokia's Symbian OS. Except that this is too reminiscent of Java's failed promise and the demo is unexciting and tedious. Cough... cough... iPhone UI is better... cough... cough...
The product looks fantastic, and I wish my company would pay to use this issue tracker. Estimates based on actual team member estimating and actual delivery dates (something they call Evidence-Based Scheduling), burndown charts, integration with a Mercurial-based version control system ("Kiln"), code review capabilities, oh my!
But, is it too much self-promotion?
Simon Willlison, Co-Creator of Django
Holy smokes what a great live-coding demo! What skill, what flare, what Python! Willison demonstrated an application from a real-world use case at The Guardian in which he sucked in data from a feed of H1N1 flu statistics and infused this with a SVG vector graphics file to create a heat map of infections for various countries. As well as being an interesting demonstration of a compelling and flashy application, it was fascinating to see first-hand how a proficient Python and web developer works.
Google App Engine
Nick Johnson, Google
It must have been tough following Willison's impressive demo, but Johnson carried on nicely. He created a humorous knock-off application of Stack Overflow using Google App Engine, and, although the app itself was fairly simplistic, it still served as a sucessfull accessory to discuss some of Google App Engine's features.
What features, you say? Built-in memcache, mail, scheduled tasks, an extensive admin console with statistics, logging, XMPP support, and integration with Google Accounts.
Yahoo Developer Tools
Christian Heilman, Yahoo
Oh ASP, why can't you attract hip, passionate figures such as Willison and Heilman. As an ASP.NET developer (who has a great interest in and respect for ASP.NET MVC), I wanted this to be a compelling talk. In spite of it being well-presented, however, I came away feeling that the Microsoft ASP.NET team had
copied been inspired by more progressive frameworks (especially after hearing talks using Python, Django, and YQL mashups).
Some truth to this? Sure. But I also believe in ASP.NET MVC and think it's a great direction for ASP. Things must be taken in perspective, and in the world of Microsoft web development, ASP.NET MVC is one of the most exciting frameworks to arise in years.
Various Overheard Quotes
The problem with quick and dirty ... is that the dirty remains long after the quick has been forgotten. -Steve McConnell
Every day that we spent not improving our products was a day wasted. -Joel Spolsky
Python is definitely what all the cool kids are using. -Joel Spolsky