Among the latest enhancements in technology it's possible to highlight multi-touch interface as the most widely accepted as innovative. It started a lot of time ago, near the 80's, but it's been through Job's iPhone since it got hit by mainstream public and media. Nowadays every single device, from mobile phones to laptops, is implementing multi-touch interfaces in some way. Is there anything to learn from this, as said by Nintendo, Touch Generation?
It seems that everything is evolving to include natural gestures and touch interfaces, from phones to software, from home tables to operating systems, we must be aware of this brand new interaction model. Is there any difference with previous implementations of user interfaces and devices? Of course there is. At first, touch interactions are a completely new approach and developing applications for Microsoft Surface or any other device is not just about enabling touch gestures and performing like mouse-driven applications.
During the last month, and until mid December, I'm part of a really interesting project here in Madrid, where we have the opportunity to develop a Surface application. It's going to be the first app in Spain, developed by Telefonica I+D - the R&D division of Telefonica where I'm actually collaborating - it will be announced really soon to the mainstream public. There are a lot of things, really connected to Richard Ogle's idea-spaces exposed in his book Smart World, that you should start thinking out of the box. Idea-spaces are defined by Ogle as human created spaces with embedded knowledge, such as the evolution from the roman numeral system - including simply a method to represent numbers - to the arabic numeral system used nowadays - that includes a lot of knowledge apart from the representation method itself such as adding, subtracting and so on. This spaces create what he calls the Extended Mind, pieces of knowledge out there that helps us to reach new frontiers through innovation, insight and imagination. Extended knowledge in idea-spaces can both increase creativity and productivity but it can also avoid innovation by embodying us into recursive loops within the system itself.
So, in order to expand the embedded knowledge, our mind extension, delivered with multi-touch interfaces, it's interesting to name a few things we should have in mind when conceptualizing a multi-touch application:
-
Think for Multiple Interaction. Users can interact in multiple areas of your application at the same time, remember they have two hands and ten fingers. But it's also important to notice that even more than a user can interact with it. Your application shouldn't be user aware, it should be interaction aware, so it reacts to touch and gesture events instead of following flows. Kind of an multi-threaded multi-user aware application.
-
Create Autonomous Units of Interaction. As users can interact with multiple elements at the same time or even multiple users with the same elements, it's important to encapsulate application behavior in units of interaction. This units shall be referred to as visual interaction units that are able to behave independently of any workflow within the application.
-
Forget About Position and Orientation. Nearly all multi-touch devices can be used as tables or big screens... at this point is really difficult to think about static places or orientations when launching interaction elements. Be sure to clear up your mind and react to users point of interaction whether it's flipped, upside-down or centimeters away from the original point of interaction.
- Obey Intuition and Natural Mind. Don't over engineer your application, think contextually and display elements as they are needed. Think about how the younger or the elder will see it, and try to use those unpolluted minds. And just to recall the Agile principles: Keep It Simple, Stupid!
-
Don't Stick To Graphic Design, Think Further. Mostly developers tend to think about anything creative as to include an awesome graphic design. This is not true. Although design adds value to the overall system it's not the most relevant element. Think further, think out of box, think about new ways of visualizing elements, conceptualize some of them... expand you creativity by mixing elements you already know.
-
Do NOT Replicate Desktop. Natural User Interfaces - NUI - are the evolution of Graphic User Interfaces - GUI - so, please, don't try to use the same metaphors or even boxed components to create avant-garde amazing interactive gestures. As happened with the Command Line to Graphical User Interface, all those that keep executing the same paradigms with the new technology will die really soon. As said before, think further also in the way people interact with your application.
Maybe it's hard to achieve, thinking out of the box isn't something you can plan... it's seen as a kind of a creative leap that happens, but it can be produced, sure! I would love to hear about your ideas. Over the next weeks, as the NDA has been released after the public launch at PDC, I'll start adding more "developer" and "designer" insights into the Microsoft Surface SDK (Software Development Kit)