I was showing this to a friend a couple of years ago when we accidentally discovered, to our delight, that it's orientation-aware. If you're using Chrome on a Mac laptop, try tilting your machine to see how it affects the elements on screen. (Theoretically, it should also work on most iOS devices and other laptops with motion sensors, but I haven't really tested it extensively.)
Prior to that discovery, I had no idea that a non-mobile browser could access motion sensor data. Turns out that on a MBP at least, the data comes from the Sudden Motion Sensor[1], which is also responsible for parking disk drive heads if you drop your laptop. Pretty cool stuff.
EDIT: Almost forgot, but I actually created a little drawing experiment based on this: http://peterjmags.com/accelosketch/. Try clicking around and tilting your laptop to draw.
iOS didn't always expose device orientation events in javascript browser. In particular, one of the first apps I wrote, for iPhone 3GS, specifically could not be a browser app for this reason.
Objective C is a hell of a programming language to learn just to access motion sensors.
And for anything else devices do that could have been done in a browser..
Nothing like that sinking feeling in the pit of your stomach when you realize you have yet another memory leak, zombie object or mysterious exception in the main run loop to debug!
Using physics in interfaces gives naturalistic motions right out of the box, you get nice animation curves for free essentially. Of course if you want flat pages, then this doesn't matter, and I do agree with providing flat versions of useful stuff, but if you want something that has a good feel for any gui animation, then integrating physics makes a lot of sense. Not so that you notice it, but rather so that you don't.
Even with flat UI. The motion of natural 'objects' is very much wired into us. If you have elements moving in a 2D plane, their motion is typically perceived as more 'pleasing' when they obey physics often at a subconscious level. Its a bit like the golden ratio.
Fun little project. However--I'm now slightly concerned that websites have access to accelerometer data without any kind of privacy prompt? There must be a browser setting here somewhere, but again, would love to have different settings by default.
“We show that accelerometer readings are a powerful side channel that
can be used to extract entire sequences of entered text on a smart-
phone touchscreen keyboard.”
Pending research to the contrary, I would assume that what is typed on the keyboard of a laptop can be recovered through the accelerometer by an application running in the background.
I wonder how many bits of entropy that fingerprint has, though. 8 bits would make for an impressive and scary looking demo, for example, but for ad tracking it would be useless.
It's not unthinkable that accelerometer data might reveal more information about a user than cursor motion and keyboard input. Home layout, restroom/kitchen/etc. habits, body type, chair type, and even the squishiness of one's clothing could conceivably be determined.
Is this -currently- the case? Highly unlikely. But will someone seek to profit from these data in the future? Probably.
Funny... I have ghostery, noscript (with some whitelisting) and a bunch of other plugins but it worked just fine for me. Something else than ghostery, perhaps?
Many years ago when X-Window was in its youth there was a smart little program that made it possible to do that to the screen of anyone else that was connected by network. Try to imagine the first time your working screen simply falls to pieces and melts. :-)
Prior to that discovery, I had no idea that a non-mobile browser could access motion sensor data. Turns out that on a MBP at least, the data comes from the Sudden Motion Sensor[1], which is also responsible for parking disk drive heads if you drop your laptop. Pretty cool stuff.
[1] https://en.wikipedia.org/wiki/Sudden_Motion_Sensor
A couple more links for the curious:
http://www.html5rocks.com/en/tutorials/device/orientation/
https://developer.mozilla.org/en-US/docs/WebAPI/Detecting_de...
EDIT: Almost forgot, but I actually created a little drawing experiment based on this: http://peterjmags.com/accelosketch/. Try clicking around and tilting your laptop to draw.