480.505.4500
The Communications Agency For Your Digitally Driven Future.
Click Image for Case Study

RailsConf '08 - Day 2

Day 2 of RailsConf '08 has drawn to a close, and the feeling in the air is one of excitement.  There are many, many amazing things happening in the world of Ruby on Rails, but for this entry I'd like to discuss the first hour of Day 2. The day began with a keynote from Joel Spolsky, a software developer from New York, and writer of the excellent blog Joel on Software.  Joel's talk was on the topic of what developers should do to make "Great Software."  His list boils down to three points:

  • Make People Happy
  • Obsess Over Aesthetics
  • Observe the Culture Code

Software developers tend to come from a utilitarian perspective.  Developers code and code and code until a program meets a certain set of requirements for functionality, at which point the interface for using that functionality is made "user friendly" enough for a human being to use.  Unfortunately, the typical programmer's definition of "user friendly" means "I can do it, so it's friendly for me, the user."  Clearly, this isn't the best way to approach software design.  In his book, "The Inmates are Running the Asylum", Alan Cooper makes the case that the best software is thoroughly designed long before code is ever written.  Joel is speaking to that case.  Every single person who's ever used any kind of software has run into situations where he or she sits back and thinks "There must be a better way." Joel started off with a visual display wherein a popup on a Windows desktop notifies him of updates that need to be installed.  He obediently clicks the button to start the process, at which point a progress bar labeled from 0% to 100% begins filling from left to right, indicating how things are going, with a label above it indicating what is happening.  The label states that updates are being examined, and the bar continues to fill.  It hits 100, and immediately goes back to 0 as the label switches to indicate the updates are now being downloaded.  The progress bar dutifully streaks across the screen toward 100.  After hitting it, the bar resets back to 0 as the label now indicates that updates are being installed.  Once again the progress bar reaches 100%, resets back to 0, and begins counting up again, only this time the label still just indicates that updates are being installed.  Eventually the process finishes, and the user is prompted to reboot. While Joel's example was sliced together for dramatic effect, everyone knows that installing updates on computers often mimics that scenario precisely.  The progress bar was developed as a means for giving the user an idea of how long a task is going to take as well as how far along in that process he or she is.  By adding an indeterminate number of steps (as indicated by the labels) its value is lost completely.  It doesn't actually tell you how far along you are in the entire process, and because the bar almost never fills at the same pace it is impossible to tell how long it will take.  These two things, mind you, are all that matter to the user. As proof, he offered a comparison between the Samsung Blackjack and the Apple iPhone.  Two devices which in theory attempt to solve the same problems, but which go about it in vastly different ways.  The Blackjack can be had for as little as $99, whereas the iPhone is $399.  The Blackjack has far more "features" - independent pieces of functionality - than the iPhone, yet the overwhelming majority of people vastly prefer using the iPhone.  More importantly, people are willing to pay four times as much for it.  Why?  Agency.  The term "agency" can be defined as having a feeling of being in control, and the iPhone provides that in spades. Ruby on Rails developers often talk about the happiness of working with the tools at our disposal, because they afford us a measure of agency.  We fight less with the computer and as a result are able to spend more time providing agency for our customers.  The best developers place that above all else, and this is a lesson that is applicable in many fields.  The copy we write, the visuals on our web sites, the functionality of our applications - all of it serves the single purpose of providing agency.  The best products make agency a top priority.  That's why we use Ruby on Rails. Check back tomorrow for a recap on the day's session as well as a couple more notes on today's activities.

About the Author: Joseph Jaramillo

Joseph-jaramillo-twitter-author_thumb
Joseph Jaramillo is Off Madison Ave's Senior Technologist, and leads our app development team. He's been building applications for over a decade, and specializes in the Ruby on Rails web framework and iOS (iPhone, iPad, iPod touch) mobile platform.

View more blog posts from Joseph Jaramillo >

Contact Joseph

<< back to blog

1 comment so far

Li says:

Hello everyone. The whole dream of democracy is to raise the proletarian to the level of stupidity attained by the bourgeois. Help me! It has to find sites on the: Dodge dealers in new york. I found only this - alberta dodge dealers. Our davie, fl dodge dealership always has a wide selection and low prices. Dodge avenger driver falls short of winning first canadian nascar race by anthony fontanelledodge avenger driver mark dilley failed in his bid to win the first nascar race in canada at the dodge dealers. With best wishes :confused:, Li from Gabon.

Give your two cents


Categories

  • public relations
  • social networking
  • advertising
  • blogs
  • agency
  • creative
  • research
  • interactive
  • services
  • Tags

     

Contact

Join

Sign up now for periodic emails featuring marketing news and analysis.

Sorry, we couldn't process your submission. Please check that you filled out the form completely and try again.

.