Since the Future of Web Apps, I’ve been a wee bit on the busy side, flying to Washington DC, enjoying the snow, and doing an absurd amount of shopping (mainly of the geek variety). In between all that, I’ve been thinking a lot about the presentations I saw.
I’ve done a lot of conferences over the last year, and had started to worry that I’d got a bit jaded and bored by the whole sitting about listening to people opine schtick, but the Future of Web Apps was just a great conference. Ryan and Gill Carson did a sterling job of getting a group of fascinating speakers together, along with 850 delegates and wifi that didn’t crap out.
Whilst there were a lot of really good talks, Joshua Schachter from Del.icio.us was definitely a stand-out for me. I’ve historically had my problems with Del.icio.us, but I was very impressed with Josh’s honesty and openness about the lessons he’s learnt, many of which I think are relevant not just to those developing web apps, but for anyone doing any sort of project that involves the public in any capacity.
Some gems:
Watch for interesting behaviour in the system. If people do things you didn’t expect or intend, that’s neat.
Don’t look for problems you don’t have, because someone else who is passionate about it will solve it better than you can.
Watch what you find your time doing. If you spend a lot of time building a feature that no one uses then that’s a waste.
If you’re doing something different, then understand where you’re breaking away from normal behaviour.
David Heinemeier Hansson was also really interesting, with a view on programming that differs quite significantly from that of many people I know. The way he puts it, Ruby on Rails is about minimising the number of times you have to reinvent your wheels.
Not reinventing the wheel is something that people should think much more about, not just in programming but in all aspects of life and business. We all have learning curves, but we need to make them as flat as possible and learning ways to cut down on repetition and reinvention. I liked quite a bit of the stuff that David said:
Look for patterns to abstract, conventions […]. Look for relationships between things. Conventions are there for the 80% of the time. When you work inside those conventions, you don’t need to do work, because you can get the conventions to do it.
Flexibility is overrated. The assumption is that flexibility is good, but you are trading valuable parts of your system away to get flexibility, and usually it’s not worth it. We should stop chasing flexibility.
It’s not about whether something is possible or impossible, it’s about whether it should be encouraged or discouraged.
Create invitations to do better, reminding you that you should be consistent, that you should be creating tests, and that you get benefits from doing things the right way.
I still have a lot of thinking to do about all that I heard, and it’s rare these days that I come away from a conference with my head full and my enthusiasm all a-bubble. I think it’s because this was a conference for developers, and I’m not a developer.
Blogging conferences, for example, rarely leave me feeling that I’ve heard something new or interesting, because most of what’s said is what was being said last year, or two years ago, or before even then. Conversations with bloggers, yes, that’ll do it. Blog posts too, even though I read so little these days. But rare is the blog conference that has be bouncing with newly-learnt gems.
Maybe this is about comfort zones. Sometimes your comfort zone gets so comfortable that it gets dull. Put yourself outside of that, into strange new territory, and suddenly it all looks exciting again.
All that said, though, as I sit here writing this, I’ve just discovered that BlogTalk Reloaded is scheduled for October 2 – 3 in Vienna. Will I be there? Absolutely. And I’ll be hoping that it leave me as excited about blogging and social software as BlogTalk 2.0 did in July 04.