A couple of years ago I bought BMW 530 E39. Not that I'd been into BMWs all that much, but I just stumbled upon a good deal to replace my old car, and I went for it.
This car was excellent. I liked almost everything about it except:
- The rain sensor. Even when set on the "High" speed it functioned very slowly, which rendered it mostly useless in the field conditions.
- The front and rear windshield defogger/defroster controls. Too far to reach.
- The weird audio set controls. I had quite some trouble getting used to them.
- Setting the in-cabin temperature with up and down arrows.
Then I bought the next-generation BMW E60.
Now, what do you think?
- The rain sensor works perfectly.
- They made the defogger/defroster controls bigger and put them to the center.
- The audio set started to make sense.
- They have knobs for the in-cabin temperature, and it's just a pleasure to use them.
The smart BMW guys resolved all the issues I've been uncomfortable about. But — of course — they added a couple of new issues instead:
- In the E39, cruise control was located right on the steering wheel, and it worked just OK. In the newer E60 model they did it as a lame lever on the lower left side of the steering wheel, with absolutely non-intuitive movements to switch on/off and adjust cruising speed.
- Door locks and hazard warning flasher switch were moved from beneath the driver's right hand to the central console. For several months I'd start in the wrong direction to open the doors, until I got used to the new setup.
While the change #2 looks quite logical as it comes along with the new iDrive system, they have no mercy from me for the cruise control.
On the whole, the next-generation BMW remained the same, but better. I think that's a very important principle for the evolution of any interface:
Same But Better
We're getting at the good old issue of UI novelties here. What's better, slowly and meticulously improve the current system? Or introduce new elements in radical spurts, leaving no stone unturned in the old system?
Users are quite inconsistent creatures. For one thing, they like to download updates hoping they'd finally get the features and improvements they've been waiting for. On the other hand, they hate getting used to new features.
Any interface develops in cycles. Someone comes up with a new interface, users start bringing in their feedback — that's the stage of step-by-step improvements. One has to rework some parts of the functionality and mix in new features gradually, without having people learn from scratch.
Then, a critical mass of new knowledge is acquired over time, and if this knowledge is used wisely, it becomes clear how to improve the system along with the UI. That's the time for revolutionary changes, and that's how all interfaces develop (if they don't die before their time):
new stuff → evolution → revolution → evolution → revolution → ...
* rendered into English by Olga Kouzina.