FiveRuns Blog

On Rails production performance and monitoring

Posts
2 comments

Small Moments of Elegance

I always get a kick when someone I’m working with is able to simplify their work to the point of reducing the amount of code to get as much or more done. I don’t know about other fields, but it’s a interesting case that in software development – less is often more (pardon the worn cliche). It may be counter-intuitive to some, but it actually makes a lot of sense when you look at the bigger picture. Assuming you keep the essence of what the product is supposed to do in-place, then reducing the total amount of code actually frees up the mental cycles of all the people involved the development and release of a product. Some of the finest developers I know get all proud when they’re done and there is less code than when they started!

While I’m certainly less qualified to say this, I think there’s similar forces at play in the user experience of a product, i.e. when the user flow is simplified but accomplishes the same thing. I don’t know for certain that it’s always good – but intuitively it seems as if it is.

With a long interest in psychology, I’ve noticed that changes like this, whether in code or in user experience, appear to me to follow a similar ‘cognitive pattern’, i.e.

  • first you understand the material – e.g. existing code, tests, what the user’s goals are
  • then you develop counter-examples – e.g. alternate implementations, designs, that are close to what is needed
  • then you transcend & include to form a new result – e.g. take some new approaches / ideas and include in what’s necessary from the old.

In the software space, there are some solid approaches to enable this, e.g. test driven development, which enables this same pattern by letting you carry forward the tests that apply to the old while you blend in some new. However, in the user experience space the approach is more subjective and therefore subject to interpretation, i.e. I’ve have never seen and don’t expect to see an automated test for the qualitative aspects of user experience.

As we have been working on our new version of FiveRuns Manage, we have found and taken advantage of a number of opportunities to apply this idea – to reduce the amount of code, to simplify both technical and user experiences. These small moments of moments of elegance are part of what make the work rewarding.

Bookmark and Share
Continued Discussion

2 responses to this entry

I absolutely agree. I think that Apple brings this same concept to the OS level, which might by why so many Ruby programmers are attracted to Macs.

One observation I’ve made is that many programmers and designers understand this concept of less is more. We also understand that end users, although most of the time subconsciously, appreciate this concept. I find that often the business users, the non-technical people who are involved in the direction of the development of software projects, don’t get this concept. They think that giving the user many options and instructions on how to use all of those options leads to a better product with more features. This movement of reduction, where you give the user a smaller set of clear, intuitive options, hasn’t caught on with everyone yet.

Paul Barry Paul Barry said:

on April 29, 2008 at 09:03 AM

I totally agree!

Finanzamt Finanzamt said:

on April 30, 2008 at 01:39 AM

Contribute

Continue the conversation and share your thoughts. A name is required. Your e-mail address will not be displayed on the site. Textile formatting may be used in your comments (but will not be rendered in the live comment preview).

→ Posted by You on August 07, 2008 at 06:41 PM

Flickr

FiveRuns tagged photos on Flickr.

  • IMG_4686
  • FiveRuns Booth
  • FiveRuns RailsConf 2008
  • IMG_4685
  • FiveRuns RailsConf 2008
  • IMG_4684
  • IMG_4669
  • FiveRuns Booth

See more FiveRuns tagged photos…

Previous Entries

Other Categories

Entries are also organized under the following general topic categories.