This is the first article in a series about my experiences at RailsConf 2007. Specifically it will talk about the tutorials and sessions I attended from a technology perspective. They are taking a while to come out because I have been swamped with work after taking the whole week off for the conference.
Within the design track, I only attended one really good session. It was called Practical Design for Developers by David Verba. Main take away was that (obviously) design is not just about visual design. Most people think visual design when someone talks about design. However, it also encompass interaction design issues. “Design is not just cosmetic. Design is also cosmetic.” He gave some references that he thought might be helpful for developers who either need to do some design themselves, or who are working with a designer.
- The Elements of User Experience: User-Centered Design for the Web by Jesse James Garrett
- Observing the User Experience: A Practitioner's Guide to User Research by Mike Kuniavsky
- Information Architecture for the World Wide Web: Designing Large-Scale Web Sites by Louis Rosenfeld and Peter Morville
- The Non-Designer's Design Book by Robin Williams
Even simple improvements can make a huge difference because the average user takes only 1/20th of a second to make a judgment about the site they are visiting! Kind of in the design area, I attended Dan Benjamin's talk on Building Community-Focused Apps with Rails. He had some really great examples from his site Cork'd as well as from A List Apart. It was great to have a session that talked about what we are building and who we are building it for. Most of the other sessions focused strictly on the how of building web applications.
Then we come to Rails specific sessions. It has been a year since DHH's keynote where he described the Rails approach to RESTful design and there were a lot of sessions focused on REST (I went to several). I think this is because most developers out there still just don't get it (including me?). Well, maybe it's not that we don't get it, conceptually, but we are finding it hard to swallow programatically. I think it will take a significant shift in thinking to expect that your controllers will only have seven actions. Before, we had free reign over the controllers and now they want to take that away?!? Haha, just kidding, it really does make sense in the majority of cases and there are ways to extend the RESTful controller with additional actions (see Railscasts). I won't get into this topic too much right now because I am still learning it, but I am starting to see more information floating around out there to explain Rails REST. If you haven't already heard about it, go search around and see what it's all about.
There were also quite a few sessions on cleaning up your code. I think this is good because, personally, I need this kind of direction. This goes beyond the glossed over Fat Model, Skinny Controller approach. Most of the sessions seemed concerned with overly complex view code and how to keep it DRY using helpers and other techniques. Overall, I thought these sessions were extremely beneficial and I hope that more like this appear next year. Makes me want to go back and re-write all my view code…
I attended Jamis Buck's Harnessing Capistrano tutorial as well. I knew next to nothing about Capistrano when I went into this tutorial. He had some good demos of certain features of Capistrano. It seems to me that it is an extremely useful tool for more than just deploying your Ruby on Rails application to various machines. Capistrano is definitely something I need to become more familiar with. What was said in the presentation won't really sink in until I get hands on. Find the presentation here.
One session I thought was incredibly cool was Eric Hatcher's session on Solr and what he is doing with it for the University of Virginia.
Solr is an open source enterprise search server based on the Lucene Java search library, with XML/HTTP and JSON APIs, hit highlighting, faceted search, caching, replication, and a web administration interface.
Wow! And I thought acts_as_ferret was cool. His demonstration of Solr was very exciting.
Friday morning was DHH's keynote. I think his main point was we (the rails community) have a lot of catching up to do before more major changes are introduced. Whew! I wholeheartedly agree. In the meantime, Rails 2.0 will basically be putting the polish on what is there already.
Well, not exactly a live blog of the conference, but hopefully this gives you an idea of the content and some links to follow-up on some of the things that were discussed. If you didn't make it to Portland this year, then I hope to meet you next year. I still have a few RailsConf posts planned that will talk about some of the non-technical things I got out of the conference, so keep an eye out for those soon.
Not sure if the Pragmatic Programmers are still accepting RailsConf donations, but please help out if you can!
Need web application development, maintenance for your existing app, or a third party code review?
Velocity Labs can help.Hire us!