06.06.08

Railsconf has_many :macs

Last week I attended my first Railsconf in Portland, OR.  It was a great conference full of incredibly charged up and talented people and was unlike any conference I have ever attended; people actually wanted to be there.  Since I am relatively ne w to the Rails and Ruby communities I had the unique perspective of looking from the outside in.  There are a lot of traits, personality types, and trends I noticed about the Rails community.  For one, everyone seemed to love what they do.  We are talking about passion for one's work here.  There were more entrepreneurs, intellectuals, creatives, and pragmatists than I could shake a stick at.  

 

One aspect of this community that really stuck out in my mind, though, was the Mac adoption rate, specifically the Macbook Pro (which happens to be my laptop of choice).  And I am not just talking about a trending toward Apple.  There was a full on, near 90% Mac market-share at this conference.  I hadn't even seen this many Macs at the national sales meeting I attended when I worked for Apple last Fall.  So this got me thinking about why Macs and the Rails community mesh so perfectly, and I think have a general idea why.

 

many macs at railsconf 08

Think Different

 

You really don't have to look further than Apple's own corporate slogan, "Think Different," to understand why the Rails community has an affinity for all things Mac.  Rails as a framework was certainly born from this same philosophy.  The "Think Different" campaign was launched during a time when Apple's market share was too small to even be considered a sliver, and they really only appealed to people who bucked the status quo.  Although Apple's market share is growing by leaps and bounds, in the corporate world they are still just as small as they used to be in the computer industry as a whole back in 2001.  

 

Rails is also a niche competitor in the web development world as a whole.  Just like the Mac provided an oasis for people who were sick of wizards, stale UI, ugly hardware, and instability, Rails is the alternative to clunky Frameworks that are incoherent, needlessly complicated, and altogether too "Enterprisey."  It would seem that these two segments align with each other perfectly from a purely demographic viewpoint.  If there's any company out there that does not cater to Enterprise, it is Apple (for better or for worse).

 

Beauty Has Its Utility

 

As an Apple fanatic (and apologist) I have always appreciated Apple's focus on both function and form in an industry that sometimes forgets that stuff should look beautiful in addition to being functional.  Take the Macbook Pro for instance.  If you're a programmer by trade like myself, you are probably on your computer more than you are in your bed.  It becomes an extension of your own body.  There is something to be said for having a system that minimizes the number of knobs, dials, buttons, connectors, and lines like the Macbook Pro does.  What you have is a beautiful minimalist tool that you use to create stuff.  The OS X interface is also unified, simple, and intuitive, which goes a long way when you have 40 windows open with 10 different trains of thought going on at any given time.  

 

Rails and Ruby in general focus on beautiful code as being a very important aspect of programming.  On the surface, and especially to someone outside the profession, this may seem to be a non-starter; "who cares what computer code looks like as long as it gets the job done?"  When your code is beautiful, chances are it is extremely readable.  Part of the appeal of Ruby in the first place is its focus on human readability.  When your code reads like a novel, handles tasks using less code, and is compartmentalized properly, it is easier to debug, maintain, and contribute to.  

 

God is in the Details

 

When I was at the ASC national sales meeting at Apple's headquarters last year we had the delightful opportunity to hear from one of the lead designers at the company.  He told us that one of the most prevalent mantras at Apple was that "God is in the Details."  In a delightful anecdote he described to us the attention that was put into the detail of the iPod's packaging.  The iPod, as you may already know, comes in very slick packaging.  Upon opening this package you'll see the iPod comfortably resting inside a recess, which relinquishes the unit with just the right amount of force.  What you probably didn't notice were the little details.  The designers at Apple weren't satisfied with how the grey walls of this recess contrasted with the white backing so they tooled in a small gap between the walls and the backing to give a slight drop shadow.  Seems insane, but these details add up.

 

ipod packaging

 

The details as it would seem often get overlooked, much like very beautiful code may get overlooked by the untrained eye, but the sum of all these details justifies the effort put into making them perfect.  Many people cannot easily describe why they love their iPods, Macbook Pros, BMW's, etc., and often these descriptions will fluctuate wildly from person to person.  The point is that these details all contribute to the overall perception one might have about a product or a bit of code or anything for that matter.  You can't explain why you love it - you just do.  In a different sort of way, the attention to detail you put into your code adds up in a much more quantifiable way, that being performance, maintainability, and extensibility.  

 

 

Opinionated Software and Hardware

 

Rails is often described as being an "opinionated" framework.  Certain design and core decisions were made about how the framework was developed so that us, the developers, wouldn't have to make them.  This is a concept that has confounded geeks and tech companies for years.  In industries where number of features is worn like a badge of honor, it's a hard concept to wrap one's brain around.  But Apple and Rails are two entities that seem to really get the concept.  Apple for years has appealed to creative people that just want to get done without the technical gubbins getting in the way of this, and for years I didn't understand what the appeal was.  I loved tinkering with my system, customizing every detail, building my own machines, and having full control over every aspect of my technology.  The problem with this mindset was that I spent more time configuring and maintaining my system than I did actually using it to create stuff and get things done.

 

It was about 4 years ago that I had finally had enough with the Windows platform and decided to move over to Apple.  What struck me most about the Mac was that it just seemed to work.  Sure, there was a lot less customizability and tweaking involved, but at that point I was more interested in creating music with Garageband than I was obsessing over my computer.  It was an absolute epiphany for me: simple is better.  And man how counterintuitive it all seemed at the time.  Mac's were more expensive, less customizable, had less software available to them, and certainly had less features than the average computer.  None of that really mattered though, as it would turn out.  They just worked, and continue to work nearly flawlessly for me to this day.

 

The iPod is another perfect example of Apple's aversion to feature creep.  For years people have been lamenting about the lack of an FM tuner.  Apple's philosophy as it would seem is that iPods are MP3 and multimedia players.  They are an extension of the media on your computer, so having an FM tuner would be as illogical as putting a laser pointer on it (both of which you can add as third party devices, ironically).  If Apple, like other companies, listened to the %5 of the market that wanted this feature or that, what they would end up with is a product that does many things ok instead of one thing well (think Microsoft).

 

Rails is opinionated too.  When you create a Rails app, much of the technical details have been taken care of for you; the hooks into the database are made, the MVC style of programming, the testing methodology, the ajax libraries, etc.  You as the developer can dive directly into developing rather than configuring.  That isn't to say you can make changes later on, but as it turns out a good number of people out there actually benefit from having certain choices made for them, myself included.  When faced with an overwhelming amount of choices, people will often choose to not choose.

 

Seeing so many Macs and iPhones at the conference was a site for these sore eyes, especially after working for Apple as a salesman.  What frustrated me in that job more than anything were the people who just didn't get Macs.  Railsconf having been attended by such fascinating and intelligent people who all use macs is all the vindication I need.  

 

Finally, if you want further proof that Rails and Macs go together like bees & honey, look no further than 37signals, the creator of the incredible project management software Basecamp, and home to some of the core developers (including the creator) of Ruby on Rails.  They are a Mac house and aren't afraid to let the world know.



Subscribe to Just a Nutter RSS Feed

Dan Mayer on Tuesday, June 10, 2008 at 08:50PM

Yeah I don't know exactly why rails devs, like the Mac. I just know I enjoy rails and I know how much smoother it works on a *nix environment. So what is the prettiest and slickest *nix, OS X. It is funny being in an incubator with a bunch of start ups, almost everyone is on macbooks.

on Sunday, August 17, 2008 at 02:10PM

Comment_button_spacer

Current Projects

Area Studios

My web development company and project incubator. We’re always looking for interesting projects. Stop by and check out our work.

View Now

oqodo.com

Oqodo started as a mini competition between a friend and myself to build an app for our friends to keep in touch. It will soon grow into something much bigger.

View Now

My Web Presence

Flickr
Facebook
Digg
Lastfm
Linkedin
Twitter
Basecamp