Samsung SUR40 with Microsoft PixelSensesamsunglfd.com/solution/sur40.do
As I mentioned a while back, there is theoretically no limit to how many contacts an app can get simultaneous input for. The official number is "dozens and dozens", but internally we use 52 to set performance goals for the platform. In choosing the number to set as our arbitrary v1 benchmark, the team evaluated a number of application scenarios and determined that games were the category of apps most likely to need the highest number of simultaneous contacts. After looking into a number of game concepts, it was decided that supporting a game involving 4 people simultaneously using 10 fingers + 3 game pieces (4*(10+3)=52) would go far beyond the needs of most applications we foresee for v1. Over time, as Surface takes on new form factors and new app concepts are dreamed up, this benchmark will surely increase.
Last week Lono and Doc from Sarcastic Gamer came to our little corner of the world for a behind-the-scenes Surface geekfest. Here they are with Ali, our UX Manager.
Now who exactly is Sarcastic Gamer? It's a great site run by a group of hardcore gamers that happen to be responsible for the most watched viral Surface video out there. You know the one...that's right...The Big A#$ Table. Now if you haven't seen it, then it's time to crawl out from under your rock and check it out...it's pretty funny stuff and well done.
In fact, we're such big fans of that video we thought it would be great to invite them out to campus, let them play around with it and film some of their own footage...see what they might do with even more access. Truth be told, I'm kinda nervous about that...
The guys got lots of hands-on time with Surface...I gave them a standard demo and they spent a lot of that time poking fun and trying to crack my cool demeanor, Ali spent some time talking about designing for Surface and being a gamer himself, the conversation eventually turned to all the cool things you could do on Surface from a gaming perspective (I'm thinking that's a future post here Ali). Then I showed them an exclusive peek at a simple game that was created to test Surface...if the video turns out you can see me kind of kicking Doc's butt, well maybe he actually won at the end though. Then they took a bunch of video and filmed throughout the halls, I'm not entirely sure what they're planning but it involves bathrooms, trash cans, digital clocks and other random stuff.
The day ended by introducing Lono and Doc to the entire team during our monthly all hands. Everyone was excited to meet the guys behind the infamous video.
And so now we sit back and wait...someone once said...the waiting is the hardest part. And it is...who knows what these guys are gonna do...
Thanks to Lono and Doc for your geniune interest in Surface and best of luck ahead with your site.
K Robert Warnick
Stepping back a little bit from my previous posts, I’d like to lay out some of the basic terminology you’ll see myself and others using here.
Surface & surface
Surface with a big ‘S’ is our product name and refers to the entire hardware+software+services package. With a little ‘s’, surface refers to the part of the hardware that users actually interact with. You may also occasionally see references to “InteractiveSurface” which is the class in our SDK representing properties of the surface.
Things interacting with the surface could be fingers, gadgets, loyalty cards, paint brushes, game pieces, or really just about anything. For a long time, a popular interview question was “what would you call this generic group of things?” That led to some insightful conversations but we eventually settled on calling them “contacts” because the only thing they all have in common is being temporarily in contact with the surface. There is theoretically no limit to how many contacts an app can be getting input from simultaneously but we are using "dozens and dozens" for our v1 benchmarks. Specifically, the dev team has choosen 52. Why 52? I’ll save that for a later post ;)
As shown in the announcement demos, certain contacts (like loyalty cards) can be uniquely identified. We say that these contacts are “tagged”. There are a couple of formats & technologies for tagging objects that we support for v1 and several others are being investigated for the future. The format used in the announcement demos is what we call “domino” tags and this Ars Technica article describes the format pretty well.
Gestures & Manipulations
What people commonly group together as "gestures", we actually break into two categories: Gestures & Manipulations. Gestures are interactions that can be recognized (but not necessarily processed) independent of the UI. Most of the UI’s response to a gesture occurs once the interaction is complete. Manipulations, on the other hand, are interactions that can only be recognized and interpreted in the context of UI elements and those UI elements constantly change based on in-progress manipulations. The "golden rule" of manipulations is that whatever pixel(s) you touch on a UI element should stay under your finger(s) as you move (within certain physical constraints, of course - most items can't be skewed, some items only resize with a locked aspect ratio, etc).
In the announcement videos, when you see someone press-and-hold to bring up a context menu or tap an album cover to flip it over, that’s a gesture. When you see someone move, rotate, and resize a photo, that’s a manipulation. These semantics aren’t really important to end users and I probably won’t succeed at getting the rest of the world to share this terminology – but for developers working with our platform, the distinction is important because the way you encorporate gestures and manipulations into an application are quite different (more on that in a later post).