Sunday, January 31, 2010

Why Less Is More, The Apple Philosophy

Many have questioned why Apple did not include this feature or that feature, in their products. Features that seemed obvious and effortless to include. The reason is really quite simply, more often than not, less is more.

I shall try to distill Apple's Design Philosophies into a set of rules, the 5 commandments of Apple design, if you will.

  1. If there are 10 ways to do the same thing, pick the best one, and make everyone do it the same way.
  2. End users don't need to know how it works, it should just work.
  3. End users tend to make stupid mistakes, we must prevent it.
  4. To make outstanding software, we must also make the hardware.
  5. If we cannot find a really good way of implementing a feature, we would rather not include the feature.
Now, let us discuss each of the above rules in more detail.


Rule 1 
If there are 10 ways to do the same thing, Apple will do the research, usability tests, etc to find what it considers to be the best way, and make that the only way to do that thing, and everyone will have to do it the same way. Essentially, it means choice is a bad thing.

Lets use a car for our analogy. Imagine if your car designer decides to give u many choices on how to perform any function.

To start a car, you can either put in the key and turn the ignition, or place your thumb on a scanner and press a button, or use a voice command with voice validation, or a retina scan. To turn on the headlights, you can either turn a knob on the dash, or move the stick behind your steering wheel, or flick a switch on your arm rest.To steer a car, you can either use the steering wheel in front, or a joystick beside you. To brake, you can either hit the brake pedal with your foot, or press a button, or pull your steering wheel, or just scream brake ! And imagine different cars will have different combination of these choices.

Now, imagine trying to teach someone how to use the above car. Not so simple, is it ? I shudder to think how thick the manual is going to be. And if you had to drive your friend's car, a model that you have not driven before, that's an accident waiting to happen.

The fact is, the more choices you offer, the more complicated it gets, exponentially so. And the more complicated things become, the more likely it is that users will make mistakes. Hitting the light switch when you are trying to brake would be very *not* funny.

Rule 2
End users should not have to know how something work inside in order to use it, it should just work. When you buy a blender, you don't have to learn how the motor inside turns the gears, and what gear ratios are available, then do your own calculation to select the best power to gear ratio so that you have enough torgue to slice your nuts into powder.

Now, an example from the Windows world. Notice sometimes when you install software on your Windows PC, you might get messages like "XXX.DLL on your computer is newer than the one in the installer ... bla bla bla". Okay, what the heck are DLLs ? Is it safe to click okay to replace ? What do I do now ? ... 95% of people out there are not going to know what the heck DLLs are, and they don't want to know. They just want to install the software and use it. This is just one of a mountain load of examples on why Windows is a nightmare for people who are not power users or geeks.

When you buy a car, do you learn how to repair your car ? Do you buy a technical manual for your car, and all the necessary equipment to do repairs yourself ? Probably only a few hardcore enthusiasts would do it. Everyone else would just send their car to the nearest workshop. So why is it that when it comes to Windows PCs, that end users are expected to be experts who can maintain, secure and repair their computer ?

Apple work very hard to hide all the complexities, and make the decisions for you wherever they can. Sure, it limits the choices, but overall, it makes life easier.

Rule 3
End users are a clumsy bunch more often than not, and mistakes happen.

When was the last time you hear someone scream because they accidentally deleted a file ? I know it happens, because many of them come running to me asking if there is a way to recover the deleted files.

Apple tries very hard to prevent mistakes, and that is why, in Mac OSX, there is no way to permanently delete a file in just one step, unlike the SHIFT-DEL in Windows. When you try to delete any file in Mac, it will always go to the Trash can first. You can then empty the trash can at your leisure.

There are many such examples, but you get the idea.

Rule 4
In order to make really really good software, you must also be the one who designed the hardware.

Apple makes the whole computer, hardware and software. This allows Apple to fine tune the hardware and software to work perfectly with each other.

If you look at Windows PCs, a lot of the problems encountered is due to the fact that Windows OS comes from Microsoft, while the hardware comes from thousands of manufacturers, who must also provide the necessary drivers that let them work with Windows. That is when problems creeps in.

Not every manufacturer makes drivers that works perfectly on Windows, and people in Microsoft working on Windows may also make errors that results in bugs that could affect hardware that plugs into a PC. So here, you have a communications barrier because they are all software engineers working in different companies, and working towards different goals.

In the 20 years that I have been using Windows PCs, and supporting friends who are using Windows PCs, hardware problems due to driver issues have been a constant pain. The worst kind is when the problem is random, and you start hunting high and low, trying to figure out what is wrong.

Also, you have a problem of conceptual integrity. Microsoft will have what they think is the best idea for what a PC should look like and how it works. The hardware manufacturers on the other hand, in order to compete and out do each other, will have different ideas on how a PC should look like and work. And we end up with many different PCs which are a little different from each other, merely for the sake of being different, but adds no value in functionaliy. Windows is compromised too, because it has to satisfy the needs of thousands of manufacturers.

Apple on the other hand, selects what it considers to be the best hardware that will meet the needs of the majority, and then fine tunes the Mac OSX to run perfectly on it. Also, because it controls the hardware, they can include new ground breaking hardware features much more quickly.

The new Apple iPad is using a brand new CPU that was custom build by their own team of some of the worlds best mobile chip designers. They included specific hardware optimizations in the CPU based on the software requirements of the iPhoneOS that powers the iPad. Therefore, no other general purpose mobile CPU in the market will be able to give the power/performance ratio that you get in this custom designed CPU.

Apple also designed the multitouch sensors used in the iPhone/iPad, which happens to be the best in its class. Tests have shown that no other touch screen phones currently available can achieve the accuracy of the iPhone screen.

If you have one person controlling your left leg, and another controlling your right leg, you are going to have a problem walking straight. Good luck trying to run.

And that is why, to make outstanding software, you must also make the hardware.

Rule 5
If Apple cannot find a really good way of implementing a feature, they would rather not include the feature.

This was probably most obvious in iPhoneOS and the lack of multiasking. The fact is, iPhoneOS is running on OSX, which is based on the Mach Kernel + BSD Unix. It is already an inherently multitasking OS since long before Windows 3.0 even appeared. Apple actually had to do work to disable the multitasking feature. Why ?

Think about it, the iPhone's screen is quite small, large by phone standards, but really small compared to your notebooks/PCs. On small devices like this, majority of people are essentially using it in single-tasking mode. How many windows can you squeeze into that small screen at the same time ?

Now, you might say, hey, but I want to run some apps in the background. Well, one should remember, a mobile device like the iPhone has limited battery life, limited CPU cycles and limited RAM. When you try to run a few apps at the same, each of those apps will be taking up some RAM and CPU capacity. So, you will sacrifice the speed of the app that you are currently using, to continue running an app that you are NOT using, but running in the background. Not really a good use your limited resources, is it ?

So what Apple has done is to make iPhoneOS single-tasking, while making switching between apps almost instant. To the majority of the people, and for most apps, they won't really see a difference. Like if I am running the mail app and typing an email, then I receive an MSN message, a dialog box pops up to tell me I received a message on MSN. If I click View, the IM+ app automatically pops up, and I can read and reply the MSN message. Later, I can exit IM+, reopen the Mail app, and I can continue typing the email where I left off. But in each of these apps, I get the full CPU and RAM resources to power the app I am using, so I get the fastest possible speed.

Anyone still remember using Windows Mobile ? And how slow it was ? And how unstable it gets if you multitask several apps ? And lots of people can't even figure out how to end background apps, because the command to do so is embedded several menus deep. Well, I certainly do not want to go back to that.

Apple will enable multitasking in iPhoneOS when the time is right, when the CPU and RAM is capable of giving users the speed needed to deliver a good user experience, when Apple has figured out how to make it easy for users to manage background apps.

Conclusion

Apple products are not targeted at the 5% of power users who likes to have choices, so that they can choose what they consider to be the best way to do something. It is targeted at the other 95% of the population, who just wants to get the job done.

Yes, power users will scream "I want freeeedoommmmmmmm". Well, you can always go back to your Windows, Linux, etc. But I do hope that this article can at least open your eyes to why Apple does what it does, and perhaps, appreciate the significance of it.

No comments:

Post a Comment