There is all this talk about guiding your users and creating simple applications. Apple, 37 signals and others are masters in this art of creating simple and efficient interfaces for a user. On the other side there are companies like Microsoft that provide more of a sandbox environment for their users. They proved that they are successful and a platform like Linux has a growing user base.
Both have great ideas at their foundation and they both work very will in their own way. Both also have a fanatic fan base. But which one is better… The simplistic directed approach or the elaborate sandbox approach?
We’re talking about design principles and philosophy. When creating an application you can take a couple of routes when it comes to it’s design. Make it simple, single purpose and clear, you application will be well defined and researched. Or create an application that has a lot of tools to get things done to fix the basic problem, you will give the user more options but sacrifice clarity. I would like to explore the pro’s and con’s and share my personal experience on how to pick your path.
what is defined? how does it really compare to anything else? As I wrote before Apple is a master in this art. Tools that do what they need to do as simple and easy as possible. Not supplying a vast array of options and possibilities. Just supply what is needed and do it well! If I would put it into one line:
“Guide the user through an easy application to solve their problem”
So if we take this basic statement can we define some pro’s and con’s? I think we can!
- Decreasing goals of an application will make it easier to actually keep doing what the user needs to be doing.
- Interaction by the user is more easily controlled as less features need to be combined. The interactive flow also benefits from this.
- By giving the user less choice you can induce creativity. The user will need to use the tools they have to get to their goals.
- Although limiting the options you give to the user keeps them better focussed. It can limit how useful your application is.
- Balancing enough, not enough and just to many functionality is tricky and takes a lot of research and thought.
- Limited functionality can also break creative flow by not allowing the users creativity to move in a certain direction.
A sandbox is a term that is quite common. Sandbox stands for freedom in action. The user chooses how the software is used and it can be used for many different things. These kinds of tools are used by people who like to explore. Companies like Microsoft and Google often apply the sandbox method and supply the user with an overflow of options. Those options are always almost backed by custom API’s to even get more out of the application. If we try to explain that in one line:
“Give the users freedom by giving them options and create their own experience”
This basic statement can result in these pro’s and con’s.
- One application can be used to solve different problems at the same time, this can be more productive.
- By giving the user options you do not slow a creative process down by putting limits on the tools.
- By letting the user discover all the features is become kind of a treasure hunt. This can induce people to find different solutions the developers would never have thought of.
- Users can abuse the large array of options and start to solve problems they do not have. Focus of the user can fluctuate without a clear purpose
- The large array of options can inspire the user in the wrong way. When users have options they are likely to use them.
- It is hard and complicated to put a lot of options into an understandable interface.
What works best?
In my opinion this should not be a which is best question… but a for who question! It really depends on what personal preference the user has. There are those who prefer a sandbox environment and there are those who prefer a more well defined application. People that like to work with vim and there are those that prefer an IDE like dreamweaver. Vim provides free control but is hader due to the complex interface. Dreamweaver on the other hand is easier to master but provides a more limited functionality as it comes to writing code. In the end… both can do the same but in a different way.
So, what is best?
I think a combination of a bit of defined and a bit of sandbox. Personally I work from command line and with simple straight forward tools. A combination works fine for me, some tasks work better in a defined environment and some require more sandbox functionality. I do have a tendency to lean more towards the sandbox applications as I’m more of a power user. In that way I find myself frustrated if the tool I’m using is limiting me in my personal creative expression.
What is best… well whatever you prefer! But it will most likely be somewhere in between.