I spent last Wednesday at Benaroya Hall, attending the Seattle edition of StackOverflow’s traveling DevDays conference. It was well worth $99.
Joel Spolsky, owner of FogCreek Software and co-founder of StackOverflow, opened the conference with a keynote about the dichotomy of power and simplicity. People are happier when not overwhelmed with choices. Many of the choices that software forces users to make are essentially meaningless to the users. However, even though people want simplicity, they also want features and different people use different features. Powerful software sells more copies.
He argues that developers and designers should put in the extra work to make good choices on behalf of the users: don’t make users feel bad about themselves. Undo is better than a confirmation dialog. You are not in charge of what your users do.
Scott Hanselman spoke about ASP.NET MVC. We’re moving away from ASP.NET to Python, but if we were to use ASP.NET again, MVC would be a compelling feature. His presentation was entertaining, if gimmicky.
Rory Blyth introduced iPhone development, in a tone of snarky ambivalence. He mentioned the Stockholm Syndrome. He stressed that Apple’s Design "Guidelines" are effectively laws: violate them and you won’t make it into the App Store. Looks like there’s a lot of tedious messing around to hook things up in Objective-C. At the very end, he briefly demoed MonoTouch, which seemeed a little less tedious.
Cody Lindley introduced jQuery. I’ve done a lot of work with jQuery, but I still learned a few things. He worked through five facets of jQuery: Find something, do something; Create something, do something; Chaining; Implicit iteration; and jQuery parameters. He has an ebook at jqueryenlightenment.com, which I just picked up.
Daniel Rocha of Nokia talked about the cross-platform Qt (/cute/) toolkit, which runs on Windows, Mac, and Linux. More importantly from Nokia’s point of view, it runs on their smartphones. Nokia has changed the licensing of Qt—once very expensive for closed-source apps, it’s now free for apps that don’t modify the Qt source. Qt is for C++, but there are bindings for other languages, such as Python.
Joel Spolsky came back and treated us to a half-hour demonstration of Fogbugz 7, Evidence-Based Scheduling, and Kiln, their new hosted Mercurial repository. Not terribly interesting to me, but the conference was only $99.
Ted Leung gave us a rather dry Hacker’s Introduction to Python from slides rendered unreadable by a poor choice of colors. I’ve done a lot of Python, so I didn’t learn much new. pip is an easy_install replacement that uninstalls; zc.buildout assembles apps from multiple parts; bpython is a fancy REPL.
Dan Sanderson talked about Google App Engine and demoed building apps with Java and with Python. Looked pretty cool and straightforward. We probably won’t go that route, since we’re pushing data to Amazon’s S3, so EC2 makes more sense for us.
Finally, Steve Seitz from the University of Washington gave a cool talk on Modeling the World from Internet Photos. Some of this technology ended up in Photosynth. See Building Rome in a Day for some demos.