Please take a look @ http://www.microsoft.com/surface, before you start reading this...
Surface computing the latest buzz word(s) from Microsoft, expected to bring in billions of dollar business.
Here I am going to analyze the way surface computing works, based on my understanding/knowledge. Please feel free to criticize.
A milestone(s) here is in bringing the real world objects closer to the virtual world, by which they both can interact.
Microsoft briefly mentioned that they use camera/sensing devices that are embedded to the surface computer to recognize different objects placed on the surface. These devices proactively read for any change that happens on the surface area.
The biggest challenge for any device is to distinguish the real world object and understand its nature, behavior, texture and other properties.
I am sure humungous amount of math has gone in to this machine. To give a simple illustration, think of a glass of wine (Microsoft example) when placed on the surface computer, the computer has to analyze/understand what the object is say a cylindrical glass with certain mass, this itself is the object first hand. Again this glass contains wine which is a liquid that has its own properties. Imagine they are able to distinguish and re-produce the number of bubbles present in the glass, which are objects of third degree detail. Again it has its own properties like color, size shape and much more.
To recognize all this in minor detail is amazing.
In terms of mimicking the real objects and its properties, think of the favorite object oriented model, which came in to existence for the reason that the programming model has to follow simple real world scenario.
The first thing the surface computer computes is the first degree object, in our case it is the wine glass, which is cylindrical in shape, and it has a mass and occupies a considerable amount of area in the surface, based on image recognition and pressure mass index, the object is identified, just to name a few.
Now each such first degree object composes other objects (Has –A relationship), now this object here is the wine, which is derived from the base liquid and has its properties such as color, density just to name a few. And then we still go to the minor detail the bubble, the surface computer creates as many bubbles in the container and generates them in the surface computer environment. Now these objects can be dragged/moved and what not.
How long will the object be alive, will the objects be destroyed when the wine glass is removed form the surface of the (surface) computer?
Now more complicated things are such as understanding the real objects limitations, what can be done on them and what not, say when a cellular phone is placed on the surface, it is possible to upload the photos from the surface computer to the cellular phone by just dragging and dropping in to the space (the area or the zone occupied by the cell phone), but the amount of information that has to be collected is not just limited to recognizing the object itself, but its limitations and boundaries of functionality as well. What if the cell phone cannot transmit/receive through Infra red or Bluetooth, which in case is incapable of obtaining images from the surface computer. Thus the surface computer has to do a lot of study in understanding each entity of the object and think of the environment where multiple objects are placed, it becomes more complicated, the properties of one object might collide with the other and hence at run time they might behave differently, this is indeed next generation computing.