Surface Computing
Download
Report
Transcript Surface Computing
Surface
Computing
Andy Lim, Derek O’Neill,
Luke M
What is Surface Computing?
A specialized computing GUI
“Coffee Table”
Surface Computing in the Works
Microsoft
Surface
Codename
Use
“Milan”
Cases
Photo
sharing
Maps
Menus
Entertainment
Much
more!
It is NOT just a Touch-Screen
Object Oriented
Multi-Touch Technology
Device Interaction
How does the Surface work?
1. Screen
2. Near IR light source
3. Near IR camera
4. Projector
5
5. PC
FTIR: The DIY version
What if you don’t want it cost $10,000
Fourier
Transform
Infrared
Spectroscopy
Embed IR LEDs in
the plexiglass
Things touching the
surface of the
screen scatter IR
light towards the
camera below
What do we do with the picture?
No
preprocessing
done by camera
Raw data analyzed
on PC and run
through an edgedetection algorithm.
Number of
simultaneous inputs is
only limited by
surface area and
computing power
The Brains of the Surface
Core
2 Duo
2GB DDR2 RAM
250GB SATA Hard drive
ATI X1650 Video Card
Windows Vista
Optimized for 52 simultaneous inputs
4 people with all 10 fingers plus 12 objects
What’s on the Surface
Visual
Marking
Radio
Signals
Using the Cameras
Recognizing
Shapes
Very Imprecise
Algorithms for edge
detection are expensive
Developer must specify
shapes in every program
Mitigated if surface tells
users what to put where,
and then expects them to
be there later
Using the Cameras
Tagging
Series of reflective dots identify
object and orientation
Fairly cheap to process patterns
Universal for the entire OS, no
need to rewrite IDing code
Requires tags be physically
added to objects to interact with
surface
Uniquely tags objects with same
shape
Radio Signals
RFID
Use RFID tags to transmit
information about what’s on the
surface
Lots of things already have RFIDs
built in (credit cards, room keys)
Surface needs to know what the
data being received means
RFIDs use backscattering, so the
position of the object on the
surface can’t be determined
Radio Signals
Bluetooth
Bidirectional: Surface and Device
interact with each other
Relatively secure
Can use Encryptable
Devices Identify themselves
Universal among mobile devices
Limited to 7 devices connected
No way to figure out position on
the surface
What’s on the Surface
Visual
Edge
Marking
detection on
Items is great for finding
positions of anything,
but not great for
identifying them
Tagging requires an up
front physical action,
but results in an
effective way to
identify objects and
where they sit
Radio
RFID
Signals
is a cheap,
common way to
transmit small streams
of data, but its
unidirectional
Bluetooth allows
bidirectional access,
but it’s significantly
more expensive
Neither allow for items
to be positioned on the
screen
What’s on the Surface
Figuring out how to identify objects, grab their
data, and correctly track the on the surface is a very
difficult challenge in surface computing.
Make the user tell you what something is when they
place it
Create a place for the user to put something and
track it from there
Tag objects, identify them at runtime and then follow
the tag rather than the object
Microsoft is currently working on technology to match
RFID tags with physical objects based on when the tag
is read and what’s placed on the surface
Resources
RFID Design
http://www.das-labor.org/trac/export/3038/rfid-hacking/doc/RFID-CoilDesign.pdf
http://consultingblogs.emc.com/richardwand/archive/2008/11/27/waiting-formicrosoft-surface-to-seamlessly-recognise-and-communicate-with-devices.aspx
Tagging
http://msdn.microsoft.com/en-us/library/ee804823%28v=Surface.10%29.aspx
http://msdn.microsoft.com/en-us/library/ee804885%28v=Surface.10%29.aspx
http://msdn.microsoft.com/en-us/library/ee786833%28v=Surface.10%29.aspx
http://msdn.microsoft.com/en-us/library/ee804748%28v=Surface.10%29.aspx
Bluetooth
http://www.bluetooth.com/English/Technology/Pages/default.aspx
http://www.sysopt.com/features/network/article.php/3532506
Research
http://research.microsoft.com/en-us/um/people/merrie/surface_research.html
Home of the Surface
http://www.microsoft.com/surface/en/us/default.aspx