The dimension of space and movement in Mobile Applications
I am a fan of motion-detection, or measuring the movement in space over time, as a trigger for computing, and as new method of interaction for mobile applications – some uses include gestures.
There are two approaches to detect motion. The first one is using Gyroscopes to measure changes in orientation or “gyroscopic inertia”.
![]()
(Image source: Wikipedia)
The above is the same principle used in aerospace vehicles such as airplanes and space rockets to help guide the vehicle. This also is used in the current Gravity Probe B experiment that is testing Einstein’s theory of the universe.
From the perspective of mobility, companies such as InvenSense are creating integrated (circuit)-based gyroscopes. Last year InvenSense announced their Integrated Dual-Axis Gyroscope that measures orientation in X and Y axis. But obviously, to take advantage of this technology, these chipsets and the related software and APIs must be resident on the handset, which is not the case today — but I’m counting that such IC-based gyroscopes will be prevalent on handsets at some point; thanks to the iPhone, it is easy to see and explain the power of using such motion-detection technology for things such as automatic image rotation, and other uses such as gestures.
The second approach is to use computer vision and image processing to detect optical flow (i.e. motion), using the camera on the mobile handset. Detecting motion using computer vision and image processing is nothing new and there are lots of research papers on this topic, and these algorithms are pretty advanced, not to mention awesome. A company called GestureTek has a solution called EyeMobile that does just that – it uses computer vision and image processing to detect motion… they call it “Shake, Rock and Roll”. They support BREW, Symbian and Linux Platforms. Because of the platform hooks required, they have no solution for Java ME. I’ve played with the technology, and it is pretty remarkable. I will say though, that it does have its limitations, such as it won’t work that great in low-light/dark places. See their video here.
I personally prefer the gyroscopic approach, as it is a cheaper (from the perspective of computing requirements), and it is a dedicated function. The gyroscope-based solution is or should be GestureTek’s EyeMobile biggest concern. In the meantime, optical-based motion detection rules.
Related to this see Gyros on Mobile Handsets – A Very Powerful Tool.
ceo
[...] Contact the Webmaster Link to Article linux The dimension of space and movement in Mobile Applications » Posted at [...]
I am amazed to see that JSR 256 (Mobile Sensor API) is already supported by Sony Ericsson J8 platform:
http://developer.sonyericsson.com/site/global/newsandevents/latestnews/newsjune07/p_k850_w910_newjp8phones.jsp?link_general=article-newjp8phonesk850w910
The first time I saw camera-based motion detection working on a BREW handset was the TinyMotion project from Berkeley:
http://guir.berkeley.edu/projects/tinymotion/
Actually you can download the source code and play with it.
[...] Enrique Ortiz , “The Dimension of Space & Movement in Mobile Applications” gets into gesture recoginition and using the mobile device to control itself. Either by an internal [...]
[...] previously wrote about The dimension of space and movement in Mobile Applications, where I covered some of the virtues of accelerometer vs. optical approaches for motion detection. [...]