Tuesday, November 30, 2010

What is a table for?

Let me ask you a question, what is a table for?
It may seem like a strange question yet it is not something we typically think about.
Furniture is taken for granted, in fact sometimes the word furniture is employed to mean the adornments in or on an object. You could say someone with lots of facial jewelry has 'furniture on their face' or, as I have heard it said, they have 'face furniture'
In our everyday lives we utilize furniture to enhance comfort and to perform functions, it is these functions that are worth exploring.
Think of all the things you do at a table. Eat food, work on your computer, layout a puzzle game, hold a meeting, and many more 'events' occur at a meeting. Consider which of those events take great advantage of the horizontal surface that is presented by the table. Playing puzzle game with friends, or holding a meeting at a table is something that clearly requires a horizontal platform. The horizontal nature of a table with multiple sides open and available for people to sit, presents the ideal place for holding a meeting. It enables eye to eye contact, allowing all participants to engage in a much fuller conversation. Such a large portion of communication between people is non-verbal and by facing the other parties around a table we can pick up on these subtleties. We can understand from proximity and quick glances of the eyes the nature of personal relationships between people.
Many technical solutions ignore the human interactions that are crucial for us to work together and create far shallower modes of engagement. Instant messenger, for example, provides a mode of communication between multiple parties, each siting at their own workstation. The nuances of passion, humor and disgust during the conversation can be hinted at with the use of emoticons. These provide a limited set of clues to hint towards the users feeling as they make a statement. The vocabulary of these is not just limiting but also deceptive. A person may want you to feel they are being jovial while really they are sad. You would only ever pick this up if you actually with the person. The telephone can provide a better medium for judging the mood of someone, through the tone of their voice and through other audio clues.
Yet nothing bis better than sitting at the table with someone for truly understanding their feelings and position on a topic. Most digital content is still presented using vertically oriented displays, yet these displays act as barriers to the optimum personal communication.
When working with the Tablet PC team at Microsoft in 2003- 2005 one thing became very clear, the slate form factor could radically change the dynamics of a meeting room. In a typical meeting at Microsoft people will bring their laptops and sit around a table, each staring into their own screen. This is incredibly anti social and detrimental to the level of engagement of the people in the room. In a meeting where each participant had a slate device the device did not act a barrier between the individuals at the table. Tabletop computing now has the opportunity to take this to the next level. By sharing the content directly on the tabletop the number of barriers is further reduced. A personal screen can present personal distractions during a meeting (email, IM, etc...), on a shared screen the focus can be on just the content desired.
Today I presented these concepts to a potential client showing the nsquared business pack for Microsoft Surface. It is clear that these applications can really change the dynamics of a meeting. Even as we were discussing the requirements of the project we were sketching out the ideas on nsquared thoughts. Tabletop computing should start to bring new ways of human engagement to our meeting rooms in the coming years and this will help us to work better together than many earlier technologies.

Wednesday, November 17, 2010

Measuring the success of your tabletop application

Over the last 2 years I have been heavily involved in working with tabletop software, specifically software for Microsoft Surface. Having content displayed directly on the table top can radically change the interaction that occurs between the users sitting around the table. How we present the information on the table top will greatly impact on this interaction.
A number of researchers have spent considerable time and effort working on this challenge and recently at the ACM International Conference on Interactive Tabletops and Surfaces 2010 (http://www.its2010.org/) some of this research was presented. One of the more interesting (and arguably problematic) papers was presented by Tang, Pahud, Carpendale and Buxton; entitled VisTACO: Visualizing Tabletop Collaboration. The paper presents a way that researchers can scientifically understand the interactions of the users at a table. One of goals being to validate the design of a multi-user tabletop computer.
I say this can be problematic because while it is easy to track the user interaction on the table top, with software, this project (as described in the paper) attempts to solve a couple of other challenges; 1. does the interaction change if the people are not all physically sitting at the same table, 2. does the spatial position (configuration) of the users impact on the interaction models. The results are certainly useful but do they tell the whole story about the success of an interaction model?
From the work we have been doing in the real world with tabletop multi user deployments at nsquared there are other factors at play that are less easy to measure. The emotional connections that are made between people at a table during an interaction is often (maybe always?) more important than the actual physical interactions that have occurred. Creating an environment that encourages a rich and deep social engagement has been one of our goals at nsquared.
Our other goal at nsquared, which might be even harder to evaluate, is to enhance the intelligence of the people using the technology. More on this topic another day.

Tuesday, November 02, 2010

A quick glance back

Today I was writing an email to a customer and I was explaining what the nsquared team has achieved in it's short lifetime, I thought I would share this with you because it is something to be proud of.

The nsquared team is a small and high specialized group of developers and designers based in Sydney. We do have people in the Uk, USA and Hong Kong, but most of the development happens out of our studio in Sydney. Our main mission is to make the world a better place through the intelligent application of technology. For this reason one of our core areas of focus has been education, where we believe so many of the world issues can be solved. A number of our team are ex-teachers and have a passion for teaching and helping people reach their potential.
We often see technology as something that hinders social engagement and this was one of the key attractions of Microsoft Surface. The table is a place of social engagement and adding digital content to the table should be used to enhance the conversation. The nsquared education pack has been the outcome of this work and you can find out more about this here http://nsquarededucationpack.com/

We also realized from the work we were doing that business meetings could be improved around a table, and drawing people's attention away from their personal computing devices to a shared screen would help increase the value of business interactions, this lead us to build the nsquared business pack, more information is here http://nsquaredbusinesspack.com/

We also have been busy exploring other touch and gesture based technologies, the most dominant being the Apple iOS set of devices, iPod, iPhone and iPad. We have been building apps for ourselves and third parties now for close to 2 years for these devices.You can explore all of our products on this page http://nsquaredsolutions.com/products/

As leaders in the field of Surface and NUI (natural user interface) development we wrote the first book on Surface development, http://nsquaredsolutions.com/surfacebook/

We are also the only company in the world with more than one application certified for Surface, in fact we have more applications certified for Surface than Microsoft does! http://www.microsoft.com/surface/en/us/Pages/Product/Applications.aspx

Through the work we have been doing we were awarded the contract, by Microsoft, to deliver all the Surface development training to new partners in Europe in 2009 and 2010.
Earlier this year I was awarded by Microsoft the first Microsoft Surface Most Valuable Professional award. https://mvp.support.microsoft.com/profile=BD4DC19A-A1B7-49B4-90B2-EB41C67F980F

It is so great to achieved all of this and yet I feel we have only just started. We have so many great ideas and big goals for the technology we are working on. I am sure that his time next year we will have added some more fantastic achievements to this list.
Watch this space....

Monday, October 18, 2010

Certification For Microsoft Surface Applications

Over that last 2 years the nsquared development team has been building Microsoft Surface applications. We are one of the most accomplished teams in the world at developing tabletop computing experiences. We wrote the book Developing for Microsoft Surface and have delivered all the global training to Microsoft Partners for Surface development. The certification of 10 of our applications now puts another achievement on our list to validate we are masters of our craft.

It is important that customers can differentiate between validated experts and those that claim to know what they are doing. Building software for table top interfaces such as Microsoft Surface is not a skill that can easily be adapted from desktop programming skills. This is not about the technology, this is about creating simple, easy to use, and engaging experiences. At nsquared we are bringing our expertise in this space to produce applications that owners of Microsoft Surface can purchase, download, and start using today. Having our applications certified for Microsoft Surface provides a level of assurance to our customers that we are delivering high quality software that will deliver a rich Surface experience.

My belief is that within 5 years we will see a proliferation of table top computing devices and at nsquared we plan to be at the forefront of this revolution.

Tuesday, October 12, 2010

Another codecast interview

Last month when I was in Redmond I managed to catch up with my friend Ken Levy who drives the CodeCast podcast. We went for a great lunch at an indian restaurant and afterwards he set the ipod to record and we chatted about a number of topics, including Microsoft Surface, tablet devices, Microsoft Translator and the Messenger Connect SDK. All products I have been busy working with over the last couple years.

You can download the podcost from here.

Tuesday, July 13, 2010

Windows 7 Touch or Microsoft Surface

I have received a number of questions around the topic of touch on Microsoft Surface and Windows 7.
I have seen a variety of feedback from client and developers along these lines:
  • Surface doesn't have a web browser, I must have a web browser
  • Surface is just Windows with touch
While the work I have done with After-Mouse and nsquared has led to a web browser control being built for Surface, typically a user trying to browse the internet is not looking for a multi-user, social, computing experience and Windows 7 is much more suited to provide a single user experience. Browsing the internet (the way we do today with modern browsers) is a single user experience, you cannot have two users clicking in the same browser at the same time and expect to get meaningful results. At best a browser can provide an experience for multiple users with a driver-passenger model of engagement. One person is the driver and is the only user interacting directly with the browser, the other participants are passengers, observing the interactions and potentially providing verbal guidance to the driver.
The questions to ask are:
What is the client trying to achieve?
What is their vision? A good place to start is to understand the usage scenarios they are hoping for.

If the objective is really to get multiple people engaged then Microsoft Surface provides a far superior solution. For a single user touch experience go for Windows 7.
You should also note that while the touch is getting better in Windows 7, the shell in Windows 7 is not designed to be 100% driven by touch, whereas the Microsoft Surface Shell is designed for touch from the ground up. With Windows 7, touch enhances the mouse and keyboard interactions. With Surface touch replaces the mouse and keyboard interactions.

Friday, June 04, 2010

Where will it end up ?

I received a great question from one of my Surface students today.
They wanted to know if they can calculate where a ScatterViewItem is going to end up when it is flicked. Or the other way around, could you set an end point and set up the inertia processor to move an item to that location.

Lets say i have a ScatterViewItem on position point(30,130) and i want it to go to point(550,300).
How can I set the following:

// settings
inertiaProcessor.InitialOrigin = new Point(30,130);
inertiaProcessor.DesiredDeceleration = ?;
inertiaProcessor.InitialVelocity = ?;

// Restart Inertia

// Now please end up at: new Point(550,300);

Sadly there is no way to know this with precision. In theory you could use the physics formula to calculate this. The precision is not that accurate though so you would probably be a little off.
Remember one of the objectives of the ScatterView is to scatter things in an apparent random manner on the screen.
If you wanted to build an application where the exact location of movable items is important then a ScatterView control might not be the best option.

Thursday, June 03, 2010

Another First: Surface MVP Award

I like to be the first to work with a new technology and many of the folks at Microsoft know this. Over the years I have worked with the leading edge of Microsoft technologies, COM, Smartphone (now Windows Phone), Tablet PC, Virtual Earth (now Bing maps) and most recently Surface.
I have been delivering training to a number of Surface partners for the last 18 months, written a book on Surface development and formed a Surface development team in Sydney within nsquared .
Microsoft has recognized my contributions to the Microsoft Surface community and I am really pleased to receive the first ever MVP award for Microsoft Surface.

Tuesday, April 13, 2010

Interviewed by Tse:

I was interviewed recently by Corwin Tse of TseDrive.com and the interview has now gone online.
Corwin asked some interesting questions about nsquared, Microsoft Surface and software development.
I hope you enjoy it.

Wednesday, March 31, 2010

Creation From Thought

As pure as output can be
Virtual worlds to explore and see
Internal mechanics are hidden
Magic words unlock the forbidden

Fingers whir to weave the spell
Separates his layers for testing well
A wizard of the modern world
Sees fresh creation unfurled

Unwind, unlock, protect and store
Validate the ceiling
Validate the floor

Reload, refresh, enqueue and batch
Trying tricky patterns
Followed with a catch

On a stage of many switches
Removed of any glitches
Perfection tantalizing closer
Is this the million dollar grosser ?

Saturday, March 20, 2010

Perception is everything

Mix10 was a great event. There was plenty of activity around the new announcements, Windows Phone 7 Series, IE9, Microsoft Translator, Silverlight 4 and Blend 4.
It is interesting to watch how the masses now say it is all about Silverlight and Windows Phone 7 series and nothing else matters. Again and again I hear how touch is the new interface for everything. This perception is clearly not correct and yet it is the perception of developers coming away from an event like Mix.
There were also some missing players from the conversation. One of them close to my heart was Microsoft Surface. I think when a Microsoft Product Group with high profile decides not to attend a big Microsoft event such as Mix it sends the wrong message to the developers and the geek community. Engadget recently published this article, which almost predicts the end of Surface as a product.
This is clearly not the truth. I have been busy training partners over the last 15 months, and these partners are busy building solutions for real customers buying Surface units.
New products like Surface take a long time to roll out. This is not helped by the fact that most Surface applications are still failing to meet the basic criteria of what it takes to be a great Surface application. A very quick litmus test to determine if an application is a good Surface application can be achieved by deciding if the application does anything that cannot be done on a vertical touch screen. If an application would work just as well on a vertical touch screen then it does nothing to take advantage of running on a Surface unit and is therefore not a great Surface software citizen.
If developers and designers can evolve their thinking to understand what makes a great Surface application, I expect Surface solutions to get better and more companies to want to buy them. Until then it will be a long slow process before Surface proliferates into the world.

Sunday, March 14, 2010

Do you speak my language?

I am on my way now to Las Vegas for Mix. I will presenting a session on the new features of Microsoft Translator that will be announced on Monday PST.
The nsquared team in Sydney has been working long hours with the Microsoft Research team in Redmond on getting things ready for this launch.
There are so many great things about this new release, I look forward to telling you more shortly.

Thursday, March 04, 2010

Failing to protect a brand, Microsoft still doesn't get it

It astounds me to watch a company that employs so many really intelligent people repeatedly make the same mistakes around something simple like branding.
The latest example is the Mobile 'Surface' project being undertaken by Microsoft Research. Make no mistake, I think this is awesome research and it is thinking and projects like this that will lead us into future generations of computer interaction. The issue lies with the use of the Surface brand. Microsoft has a product called Microsoft Surface, it is very clear that such a new and innovative product needs to have a clear and concise purpose and place in the market.
When Microsoft themselves allow research projects such as the Mobile "Surface" and SecondLight projects to use the Surface brand it dilutes the message of what a Microsoft surface actually is as a product.
To make matters worse, Microsoft released Microsoft Surface applications in the Microsoft Touch Pack for Windows 7. This pack contains a number of touch applications that have the Surface brand associated. This further dilutes the value proposition for Microsoft Surface as a brand.
To protect the brand Microsoft needs to ONLY use the Surface name for the Microsoft Surface product and nothing else.

Why do I care so much? Because I have invested a lot of energy in helping to promote, and teach people about Microsoft Surface, teaching Surface application development, writing a book on Microsoft Surface, and working with nsquared to build rich Surface applications.

Tuesday, March 02, 2010

Do you speak my language?

If you have followed my activities over the last year you may have noticed that I am doing a fair bit of work with the Microsoft Translator team. I presented at Mix '09 on Exposing Web Content to a Global Audience.
For Mix '09 the nsquared technology studio in Sydney worked hard on producing getting started guides and documentation to help developers begin using the APIs.
Today the translator team announced that seven new languages have been added to the supported list, creating a grand total of 30 languages!
I will be at Mix again this year and talking about Microsoft Translator. If you are at Mix be sure to come along to find out about some new additions to the Translator and how you can build translation into your software using the same technology behind Bing Translator.

Friday, February 12, 2010

A new developer framework, .NOT

I am so pleased to be able to tell you that .NET is a thing of the past and a new developer framework will shortly be launched called .NOT.
This new .NOT framework represents ground breaking abstraction technologies that removes the need for a software developer to do any work. According to feedback received from many software developers they really don't want to do any work at all, but they still want to get paid for it.
The .NOT framework allows this new bread of .NOT developers to simply sit in front of their computer and the code is generated for them. According to one developer, 'One of the fantastic things about the .NOT framework is that it generates exactly the code I would have written'. From playing around with the new .NOT framework it is clear this is the case, the code it generates is superbly scattered with memory leaks and unhandled exceptions, it is just like it was written by an overpaid .NET developer.
Other fantastic features of the .NOT framework include a built in delayed boot time, this enables even the simplest of applications to take at least 30 seconds to load. This delayed boot time features makes it look like your .NOT application must have taken a lot of work and involve a lot of code.
Then there is the .NOT presentation layer which is generated to look like the .NOT application layout was created by a drunk monkey. It is fabulous the way none of the window contents are aligned and the grotesque use of gaudy color is almost unbelievable.
I think my favorite feature is the .NOT installer technology, every .NOT application is compressed into a zip file along with a readme file explaining how to change 5 random registry entries, at least one of which is guaranteed to cause your computer to crash after a reboot.
Overall I can see this innovative .NOT framework being adopted by nearly every developer over the coming few years. I mean why write your own rubbish code if you can have it generated for you!