So far approaching User Interfaces
I’ve always wondered what’s behind all those pretty lights and fancy icons on my Desktop.
What makes it all possible just by clicking on your screen or moving your finger across your smartphone?
I found the answer to be magic of course! or in other words, code.
A messy, head-itching to stare, beautifully aligned (or not) soup of character sequences, all there to translate your needs into commands for that poor central processing unit.
Or, in another name… the “CPU”. Better right? Just a simple acronym that represents the idea without all those big words. Easy to pronounce, easy to look at, and all the cool kids love it.
The same, of course, applies to the graphic environments; everybody prefers a simple, elegant presentation of the information they want, without having to listen to the background gears spinning. The better the presentation, the better the use you make out of it right?
As easy as it is to understand this simple idea, I found that it is as tricky to implement it properly.
Tasks and courses I’ve taken on human-computer interaction all showed me one thing; the GUIs always turn out to be problematic if they are not simple enough for everyone to operate and in the same time complex enough to cover the aspects of the given objective.
In example, trying to explain a newfound matter such as the concept of Object Oriented Programming to someone not-that-much of a coding fan was a challenge. By just simplifying the existing user interface of a programming language though, it all turned out pretty well and encouraged the user to go deeper because the new interface suited his “way of learning”.
So, it comes to the fact that every user has her/his own way of using and experiencing each interface and where a specific design may fit perfectly to someone, it may cause confusion to someone else, resulting in distaste and aversion of the whole thing. (just like buying your usual size jeans after the Christmas dinner…)
In the way I see it, more and more modern interfaces have and should have the attribute of “being adaptive” in order to cover the previous said problem. You can see that adaptiveness in your smartphone when texting and some word or phrase prediction pops up, or when you are using software that saves “your preferences” or last used settings (in case you really really liked them). This concept of “adaptive user interfaces” is, in my opinion, the perfect example of smart software development.
It allows the user to synch with the application and best use it to her/his needs, while the interface learns from the user and evolves. It allows the software to “understand” its user and enable self improvement.
I believe, thus, that a key concept when designing an interface is the simple fact of it to be able to do just that; to understand and be understandable…
A nice paradigm of that interface design adaptiveness according to users’ today needs alongside technological evolution, is presented by Microsoft in the clip below and really awakens creative instincts and innovative ideas. It presents some -perhaps- (and please do) future concepts of user interfaces in every day life and various activities and tasks, and of course how the user experiences it all. Enjoy.
(All rights of this video belong to Microsoft)