Thursday, July 12, 2007

Why are Ruby Applications So Elegant?

I’ve had a bad case of Mac/Ruby envy lately.  I’ll post more on the Mac thoughts later, this post is about Ruby on Rails.

If you don’t know what RoR is, then maybe you should go to the website and take a look.

Tadalist1

I keep seeing these Ruby applications that are so simple, elegant, and useful.  Take tadalist for example.  This is a painfully simple application but it works the way I want it to and it’s always available.

I use tadalist more than I use Outlook’s todo list interface.

It’s just so much cleaner, it’s always available, and it doesn’t get in your way.

Maybe this is due to the “ruby way” of thinking.  I have seen countless applications written in JSP or ASP.NET that just look like someone vomited html all over the page.  Where are all of the interaction designers in the .NET space?

Another Ruby application that I have seen that I think is incredibly useful and elegant is Basecamp.  This is a project management utility that is basically the Anti-Microsoft Project.  They took all of the things that they didn’t like about Project and built Basecamp, stripping down tons of features to boil down into the a simple, useful project collaboration application.  Check out the screenshot to see what I mean.  The interface is slick, and it has everything you need to know, right there.

Basecamp1I used this to collaborate on a small project and found it to be incredibly intuitive.

It isn’t intuitive because it was written in Rails.  It is intuitive because the people behind it are brilliant.  And these particular brilliant people swear by Rails.

Every time I try to use Project to get a hold of the overall picture of my current project I get lost, and I don’t see much value in that beast of an application.

Thoughtworks is jumping in as well into the ruby space.  In a recent interview with Martin Fowler, he claimed that somewhere around 60% of their consulting work is in Ruby now.  60%!  I find that very hard to ignore.  Check out their newest online application for managing agile projects:  it’s called Mingle, and it looks awesome.

Mingle

I’ve found 2 more ruby examples that I am really keen on:  Warehouse and Lighthouse.

Warehouse1Warehouse2

Warehouse is a subversion repository browser with a slick interface.  It’s only 30 bucks, too!

 

 

Lighthouse looks even cooler.  It’s a bug tracking application that integrates with subversion and email.  I’d really like to take this application for a spin.

Lighthouse
 
These applications do share a common interface style, but that doesn’t exactly mean it’s a bad thing.  The design of these applications is simple, polished, and actually pleasing to look at.  Try to think about those things with Team Foundation Server and see if you get the same feeling.
 
This raises the question, Why are Ruby Applications so Elegant?  Well, not all are… but the majority are.  
 
I’d say, some major factors are:
  • The typical ruby developer is also a Mac user.
    • the typical Mac user appreciates design.
  • The mantra of “less is more” radiates from the language (Ruby), the web framework (Rails), and the interface.

I’m really jealous of the work that some of these folks are doing.  This is contributing to my Mac Envy, which I will post on later.

Am I just becoming a fan-boy?  What do you think? 

Tags: , ,
Thursday, July 12, 2007 9:16:35 PM (Central Standard Time, UTC-06:00)
If your read any Rails tutorials, you will repeatedly find yourself exposed to various best practices which are completely independent of either Ruby or ROR. These practices (MVC, TDD, migrations etc.) don't just show up in the framework, but are also constantly emphasised by the community.
In contrast, I would be wary of working with someone with an MCAD. That coursed encapsulates the absolute worst in data set oriented, data binding driven, RPC web service based programming worst practices. And Visual Studio's obsession with VB6 drag-n-drop UI has ruined more programmers than any other single tool in the business. And the fact that they took 7 years to release an NUnit clone and the they still don't use either TDD or ORM on many of their (MS consulting) projects says a great deal about MS's approach to writing code.
C# and the .Net framework are pretty damn good - in fact the newest C# spec is superb. But everything is ruined by a complete lack of direction in the community.
Friday, July 13, 2007 12:01:40 AM (Central Standard Time, UTC-06:00)
Well, you did speak at the .NET users group last month, so I think any accusations of you being a Mac or Ruby fan-boy are not only misguided, but ignorant. I'm not too keen on Ruby myself (the ideas behind it are great, I just can't stand the Perl-like syntax). But, do a "View Source" comparison on say...http://www.37signals.com versus http://www.dotnetnuke.com and look at the HTML/CSS zen on the first site versus the table-laden "HTML vomit" on the second (oh how I love to pick on the DNN team!). You can of course guess which website the search engine crawlers like more.

With so many ASP.NET developers only testing their web applications in Internet Explorer, is it any wonder that so many .NET coders put out pages that spit out HTML vomit? "OK, it looks good in IE, who cares about the stinkin' source. My customers don't even know what HTML is." It doesn't help that making a table-less web form using <label for=...> requires you to do an esoteric server block trick that one has to learn by reading this blog...
Friday, July 13, 2007 2:01:55 AM (Central Standard Time, UTC-06:00)
hey, nice piece, check out toggl.com too, its also very elegant ;)
Friday, July 13, 2007 5:48:30 AM (Central Standard Time, UTC-06:00)
Tanel:
toggl, how "web 2.0" of them :)
--by the way.. those people need screenshots. I don't want to sign up to see how it looks!

Eric:
I agree that ASP.NET pages often spew forth nasty, nasty HTML. Your general Rails site looks cleaner (from the source point of view). I would argue that the language also looks cleaner. It is very terse, like perl, but it is infinitely more expressive. The more I study Ruby, the more I appreciate its syntax.

Sidu:
Right on about the certification mess. Proceed with caution. (oh, and I'm an MCSD, so :P)
Friday, July 20, 2007 8:40:01 AM (Central Standard Time, UTC-06:00)
<p>You're not alone, I'm thinking exactly the same as you here. The guys at 37signals.com are on to something great. They seem to have stuck to some hard and fast principles that are leading to excellent products. Simplicity. DRY. YAGNI. Convention over Configuration. The list goes on...</p>

<p>I discovered Rails and it's community of "beauty-oriented-developers" a few years back, and it's changed the way I approach .NET completely. The good thing is, that if you like the simple and elegant way of these Rails apps, you can make a good stab at emulating in .NET. After all, it's mostly a look & feel and workflow thing. Plus there's good tools such as Castle ActiceRecord etc.</p>

<p>I'm really tempted to upgrade to mac Mac now though, in fact, I'm off to an outlet this lunch time to see what they're like in the flesh. Thanks for mentioning Parallels on my blog. It looks like I can use it to create an "image" of my Acer PC, then load that into the Mac and run the entire windows Acer as a virtual machine, with Visual Studio, Office 2007 and Outlook etc. I can't wait! </p>

<p>So Ben, when are you gonna blog about your "Mac Tendencies"?</p>

T

Comments are closed.
Personal Loan - Car Insurance - Savings Accounts - Phoenix Pools