6 Tips for Building a Great Microsoft Surface Application

So since Microsoft have released the Surface SDK at their Professional Developers Conference. At Conchango where I work we’ve got some developer units in the U.S. and have had the SDK for a while now. I thought I should offer some thoughts on building surface applications having looked at quite a few recently.

  1. It’s not just multi-touch it’s multi-user too. The surface is something that you get people together standing around. With traditional computing you detach from the world around you and immerse yourself in the terminal. The surface is part of the world, so think about the fact that even when one person is using the device there are probably going to be other people watching them (the surface has a gravitational pull that draws people in to watch). The best applications consider and even take advantage of that social element and the possibilities for collaboration as many people interact at the same time.
  2. Drop the dropdowns. There is a subtle shift going on at the moment. It’s probably not unfair to say the iPhone was the butterfly flapping its wings that initiated it (albeit that the iPhone launch was a pretty huge butterfly). This is the change from the GUI (Graphical User Interface) to what is being dubbed by some the NUI (Natural User Interface). This has the potential to be a change on the scale as the change from punch cards to the command line or from the command line to the GUI. This means we need to think beyond the traditional componants we used to make up our interfaces. Where we might have classified an item into a group before by using a drop down control or a radio button, now we’re moving the item (or some representation of that item) into a space  which represents the group.
  3. Go beyond the interface. I said before that the surface is part of the world in a way that a computer screen, mouse and keyboard is not. The great thing about surface is that you can really take advantage of that. By using domino tags (these are stickers which you can put on an object to let the surface identify it, like a barcode but smaller and looking slightly like a domino) the surface can identify objects that are placed on it. This could be you’re work ID card which you pop on the table so the surface knows that it’s “you” who’s using it. Maybe it then switches to your personal settings or knows where to save the output of your session. Or you could put them on the bottom of your salt and pepper shakers and your ketchup bottle to record those football tactics you came up with over dinner come to life.
  4. Come at it from every direction. At a monitor there is a very definite up, down, left and right. Some phones and laptops do some clever things with accelerometers but they always need to know which way they are facing. The surface doesn’t need to know which way it’s facing cause it’s facing in every way (that said I don’t recommend putting a surface in the ceiling even if you want to spice up your love life). People should not have to be stand on a certain side of the surface to use your app. The best applications use the surface technology to work out where people are and if there is text or controls it spins the text, images or video to face them.
  5. Make it feel right. This is one of the most important aspects and at the same time one of the hardest to explain in words. But you know it when you see it or interact with it. Some things feel good to use (Donald Norman calls it the visceral aspect of design); it could be the satisfying click of a marker pen when you put the lid on, or how the shape, weight and handle on your favourite mug feel just right. Nature tends to be really good at this.  What makes up good visceral design? The harmonious combination of interaction and feedback. When I hit the bottom of the menu on my iPod Touch it bounces softly. If I flick the menu so it’s moving faster when it hits the bottom it bounces higher than if i slowly scroll down. It feels right.
  6. Think BIG. This is a paradigm shift and there are no rules. My tips here are observations from seeing what’s been done so far and looking at what works and what doesn’t. But this is something genuinely novel to most people so you have the opportunity to create something really great and ground-breaking that’s never been done before. Take that opportunity.

Update: Bonus Point (thanks to my colleague Christian)

  • Look and Listen. Don’t just restrict yourself to thinking visually, suond design is a hugely important feature in creating engaging experiences. Part making it feel right is making it sound right too. Remember how the old iPods had a light clicking sound as you spun the wheel, or the example of the click when the lid goes on the marker. Auditory feedback can be just as important as visual.

Share/Save/Bookmark

Thursday, October 30th, 2008 applications, microsoft, surface

2 Comments to 6 Tips for Building a Great Microsoft Surface Application

  1. Dear Mr.Brophy,

    My name is Sunny Hsieh and my comompany is planning to develope some devices based on the microsoft windows 7 multi touch SDK.

    May I know if you have the SDK and how I can get it ?
    Thank you,

    Sunny Hsieh

  2. Sunny Hsieh on December 30th, 2008
  3. Hi Sunny, I believe the SDK originally only came with the surface device itself, which would have been what we were using. But I think it has now been made openly available. I’ll look into it for you when I’m back in work in the new year.

  4. Colm on December 30th, 2008

Leave a comment