This is a rather intricate topic. But I think it's appropriate for my inaugural post since it is so fundamental.
Many people have debated form vs function in the design of things. What often gets missed is the essential point - that function leads and form follows. A deeper exploration of this topic as it pertains to web site design is coverd masterfully in Form vs. Function: Finding the Balance which addresses web site development.
What I address in this post is some of the more subtle forms this takes in software application design - not just the grand layout.
I develop software for a living and have been an 'observer' of the world of Apple for a few years, but mostly worked on PCs. After watching the Steve Jobs keynote last March announcing the iPhone SDK, I couldn't contain myself. I bought a MacBook Pro and an iPod Touch the same week.
Of course the iPhone had no 'to do' application. But that would come in 3 months with the App Store. So I just had to wait.
As I waited, I researched the topic and two apps for the Mac bubbled to the top - OmniFocus and Things. (I had recently started adopting the Getting Things Done approach).
I tried OmniFocus on the Mac and found it overly complicated.
I tried Things on the Mac and found it about right.
I didn't buy either though because my 'to do' app needed to be one that really shined on the iPhone - since that is the device I would primarily use for to-do's.
Finally when the app store launched, they both became available.
First I bought Things. I preferred it on the Mac and thought it could work on the iPhone. Plus it was $10 instead of $20 for OmniFocus.
I quickly became frustrated with Things because of the lack of support for tags on the iPhone. The ability to list to-dos by context was one of the most important features to me. I have hundreds of to-do's. And if there is no way to filter them down to the set I can accomplish within the context of the situation I'm in, it is overwhelming.
So, I bought OmniFocus.
I held off on buying any Mac to-do app since that would be a bigger purchase. And I still wanted Things to work out. So I waited - and used OmniFocus on the iPhone.
After a couple of months, I got frustrated that Things was not getting this critically important 'contexts' feature. Plus not being able to sync with the Mac, decided to purchase OmniFocus for the Mac. This is no small purchase either. $80 for a 'to do' app is a good chunk. Ultimately the justification for that purchase comes down to time. I couldn't bear wasting time because of the inefficiency of my 'to do' processing.
What is interesting to me are the factors that pushed me one way or the other and how they relate to design and timing. For instance, why did I 'want' Things to work out? A. I liked the simplicity of the application and B. The checkboxes are more satisfying to click done.
A. Simplicity is a double-edged sword. I wanted a simpler application, but ultimately it was the simplicity that killed it. If it was slightly more complex and had contexts (or 'tags' in the Things vernacular), I would have stuck with it. (Things Touch now does have tags). What I really wanted was 'just enough' - that right balance of just enough functionality without making it more complicated than necessary. Things fell just short of my minimum requirement.
B. The checkboxes in OmniFocus are very large - too large. Whereas in Things they are smaller. They just look more checkable and I found it more satisfying to check things off.
This is absolutely the most minor thing one could imagine in a piece of software. But it brings up an important point regarding the relationship between form and function. In this case the form aids or detracts from the function expressly because of the desire it creates in me as I use the application. Function again reigns as the master. But the form is essential to achieving the function. In my case OmniFocus still won out. But a big part of wanting Things to work out was the way I felt as I used it.
When is the last time you stopped using an application or switched to antoher application just because its appearance was less than desirable?
And then there are gimmicks...
I have to admit that when I purchased OmniFocus for the iPhone, I made an impulse decision based on a feature it has that in 9 months I have never used once. OmniFocus can show you to-dos that can be done within X miles of your current location. The idea of the feature intrigued me and motivated an impulse purchase. But in practice, the effort of setting up the information for this feature to work well is too great. Plus I really don't have many to-dos that can't be done at home or the office or 'anywhere' I have my phone with me. I likely would have purchased OmniFocus anyway. But it was essentially a gimmick that hooked me early.
BTW, I don't mean to diminish the value of the feature by calling it a gimmick. I'm sure there are people that get a lot of use out of it.
The real irony to my whole 'to do' story is that 90% of the time I use due dates to whittle my to-do list down to a manageable size - and I ignore 90% of what is in the app. I don't even use contexts that often! I probably could have used Things after all.
Bottom line: Design matters to function - but often in ways you do not expect.