Table of Contents
Firefox OS Tricorder
The following slides are available in this presentation:
Firefox OS Tricorder
Reading Device Sensor Data in JavaScript
Robert Kaiser,
"KaiRo" <kairo@kairo.at>
Program Manager, Mozilla QA
Program Manager, Mozilla QA
Slides: http://slides.kairo.at/fosdem2015/
- Created for Mozilla Developer Room at FOSDEM 2015 in Brussels.
- Written in HTML 5 with CSS 3 and JavaScript.
- Navigation via links on all slides, via access keys (e.g. "n"/Alt+Shift+N for "next") or back/forward arrow keys
- Contents
01/2015 Robert Kaiser - "Mozilla", "Firefox" and their logos are trademarks of the Mozilla Foundation; Star Trek and related items are trademarks of Paramount Pictures.
What is a Tricorder?

Sensor device as seen on "Star Trek"
Displays whatever data is needed at plot speeds and resolutions.
Firefox OS Tricorder App
Firefox OS Tricorder UI
Module
- HTML (switch, display)
- JS Object
- 2 Methods: activate(), deactivate()
Position Module
GPS, WiFi/Cell Location
API: Geolocation
Permission: geolocation
Position: Code
this.watchID = navigator.geolocation.watchPosition( function(position) { ... }, function(error) { ... }, {enableHighAccuracy: true, maximumAge: 10000, timeout: 60000} ); navigator.geolocation.clearWatch(this.watchID);
Gravity Module
Accelerometer, Magnetic Compass
APIs: deviceorientation, devicemotion events
Permissions: ---
Gravity: Code
window.addEventListener("deviceorientation", this.orientEvent, true); window.addEventListener("devicemotion", this.motionEvent, true); orientEvent: function(orientData) { orientData.alpha / .beta / .gamma (in °) }, motionEvent: function(event) { event.accelerationIncludingGravity.x / .y / .z (in m/s²) }, window.removeEventListener("deviceorientation", this.orientEvent, true); window.removeEventListener("devicemotion", this.motionEvent, true);
Sound Module
Microphone
APIs: WebRTC(getUserMedia), WebAudio
Permissions: audio-capture
Sound: Code
Environment Module
Light, Proximity; Flashlight
APIs: devicelight, deviceproximity events; Camera API
Permissions: ---; camera (for Flash)
Environment: Code
Device Module
Battery
APIs: Battery
Permissions: ---
Device: Code
Questions?
