Design & Functionality


I have always been a stickler for functionality in my programming. What I seek to do is develop solutions through code that model existing efficient functionality or create entirely new abstract models that can be understood clearly and manipulated easily to achieve functionality.

I’m not a “GUI guy” and I have a hard time when I move from developing an easy-to-interface class library to an easy-to-use user interface. Basically, I seem to have no trouble with the idea of adequately describing objects (even abstract objects) and developing easy interfaces. However, displaying this information to a user is harder.

I’m a big fan of simplistic interfaces. I like my new virtual server provider and my new domain registrar because both sites are simplistic. They have well-defined functions and they present the information in easy-to-understand lists. You don’t have to grasp some complex object model or understand what the difference is between clicking on “My Account” and “My Hosting” or some bizarre thing like that. It just makes sense.

Now, at the same time, both these sites (and I love them dearly) are rather ugly. I myself don’t mind this at all. They’re functional and they feel right — like a solid metal tool in my hand, it doesn’t look pretty but I thoroughly enjoy using it.

The intersection of functional code and beauty to me is pure happiness. However, beauty is, or at least is often regarded as being in the eye of the beholder. And on the Internet, there’s a lot of beholders.

I’m reminded of the site CSS Zen Garden; it allows you to view the same material using many different style sheets. There’s some beautiful graphics and layouts but at the same time the actual content never changes (you’re simply switching stylesheets). I like this a lot. Beautiful websites are great but beautiful websites where the presentation is perfectly separable from the content are wonderful. I know this isn’t really “functionality” but it allows the opportunity for such. With this concept, you can develop extremely functional content and then alter the stylesheet to present that functionality in a myriad of ways.

I actually did something like this (but very simplistically) for our family website. I have a stylesheet for each month and every month visitors are presented with a different stylesheet by default. It helps keep the site from feeling old and boring to myself and to others. The functionality is always the same (very plain-vanilla WordPress functionality)

There’s a lot of this sort of thing happening on the Internet and there are plenty of good, clean websites with very solid and well-thought-out designs that provide excellent functionality. But it’s not really the norm I wouldn’t say.

My new iPhone to me is an example of combining functionality with beauty. It’s not quite as functional as I would like but it’s much better than what I’ve had in the past. The interface and presentation of material though is absolutely wonderful (like much of what Apple makes).

I guess my rambling point is that popular success seems to lie at the intersection of functionality and beauty. Allow users to aid in defining beauty (through open and customizable interfaces) and you’ve added even more value.

I’m revving up to produce some new web applications (and possibly an iPhone app if I can find the time). I think my biggest issue is that although I feel confident making functional applications and making them have customizable interfaces, I’m pretty lousy at developing anything more than the most simplistic presentation. I’ve picked up some books on design so maybe I’ll actually get better at it. We’ll see… more to follow as I pursue this.

, , , , ,

  1. No comments yet.
(will not be published)