Human APIs - expanding the mobile web or are robots coming to JavaScript?
-
Upload
nikolai-onken -
Category
Documents
-
view
1.828 -
download
0
description
Transcript of Human APIs - expanding the mobile web or are robots coming to JavaScript?
Human APIsexpanding the mobile web
or are robots coming to JavaScript?
Nikolai Onkenuxebu
Sunday, October 17, 2010
Sunday, October 17, 2010
@nonken
Sunday, October 17, 2010
Sunday, October 17, 2010
We open the mobile web.
Sunday, October 17, 2010
Sunday, October 17, 2010
JavaScript AJAX
CSS
dojoBrowser
OpenSourceWeb2.0
FrontEnd
Usability UserExperience
mobile
TouchScroll
Sunday, October 17, 2010
http://news.bbc.co.uk/2/hi/technology/8552410.stm
Remember Risk?
Sunday, October 17, 2010
http://news.bbc.co.uk/2/hi/technology/8552410.stm
Remember Risk?
Sunday, October 17, 2010
Dec, 20091,802 millions
26.6 %
Sunday, October 17, 2010
The mobile web
Jan. 2008 Mar. 20100
5000000000
10000000000
15000000000
20000000000
AdMob Requests
Sunday, October 17, 2010
The mobile web
Jan. 2008 Mar. 20100
5000000000
10000000000
15000000000
20000000000
AdMob Requests
Sunday, October 17, 2010
The mobile web
Jan. 2008 Mar. 20100
5000000000
10000000000
15000000000
20000000000
AdMob Requests
Sunday, October 17, 2010
The reality
• Internet is growing (fast)
•Mobile is growing (fast)
•Mobile internet is growing (fast!)
Sunday, October 17, 2010
The browser is the central piece
Sunday, October 17, 2010
The browser is the interface to the
internet
Sunday, October 17, 2010
71% of all modern phones have a
browser
Tomi Ahonen
Sunday, October 17, 2010
IPv6
2128
Sunday, October 17, 2010
There will be a lot of things we should talk to :)
(using a browser)
Sunday, October 17, 2010
Sunday, October 17, 2010
Is JavaScript good enough?
Sunday, October 17, 2010
Flash with JavaScript?
Sunday, October 17, 2010
http://github.com/tobeytailor/gordon
Sunday, October 17, 2010
HTML5 Appsor web apps as we know them
Sunday, October 17, 2010
Sunday, October 17, 2010
Sunday, October 17, 2010
New HTML Elements
Sunday, October 17, 2010
<input type="speech" grammar="grammar-nav-en.grxml" onchange="handleSpeechInput">
http://bit.ly/audio-api
Sunday, October 17, 2010
High performance graphics
WebGL
Sunday, October 17, 2010
Sunday, October 17, 2010
Sunday, October 17, 2010
Media
Sunday, October 17, 2010
Sunday, October 17, 2010
Sunday, October 17, 2010
What more do we need?
Sunday, October 17, 2010
JavaScript HTTP
Sunday, October 17, 2010
JavaScript HTTP
Accelerometer
Camera
...Sunday, October 17, 2010
JavaScript HTTP
Accelerometer
Camera
...
Bluetooth
RFID
Sunday, October 17, 2010
JavaScript
CSS
HTML
HTTP
Accelerometer
Camera
...
Bluetooth
RFID
Sunday, October 17, 2010
JavaScript
CSS
HTML
HTTP
Accelerometer
Camera
...
Bluetooth
RFID
Sunday, October 17, 2010
The Hype
Sunday, October 17, 2010
o
The Hype
Sunday, October 17, 2010
oThe cloud
The Hype
Sunday, October 17, 2010
oThe cloud Location, etc.
The Hype
Sunday, October 17, 2010
oThe cloud Location, etc.
The Potential
Sunday, October 17, 2010
oThe cloud Location, etc.
Hardware
The Potential
Sunday, October 17, 2010
Use cases
Sunday, October 17, 2010
Transportation
Sunday, October 17, 2010
Sunday, October 17, 2010
Sunday, October 17, 2010
Home automation
Sunday, October 17, 2010
Health
Sunday, October 17, 2010
3311 Health/Fitness Apps in Apple app store
Sunday, October 17, 2010
HumanAPI
Sunday, October 17, 2010
HumanAPI
Sunday, October 17, 2010
How can we do this?
Sunday, October 17, 2010
Mobile SDKs
Sunday, October 17, 2010
Mobile SDKs
Objective-C
Sunday, October 17, 2010
Mobile SDKs
Objective-C Java
Sunday, October 17, 2010
Mobile SDKs
Objective-C Java ...
Sunday, October 17, 2010
How the magic happens
Sunday, October 17, 2010
Low level APIs
Camera Accelerometer Push Notifications
How the magic happens
Sunday, October 17, 2010
Low level APIs
Camera Accelerometer Push Notifications
Chromeless Browser
How the magic happens
Sunday, October 17, 2010
Low level APIs
Camera Accelerometer Push Notifications
Chromeless Browser
How the magic happens
browserInstance.eval(“alert(1);”)
Sunday, October 17, 2010
PhoneGap
Sunday, October 17, 2010
Low level APIs
Camera Accelerometer Push Notifications...
Chromeless Browser
PhoneGap
browser.eval(“document.geolocation...”)
Android, iPhone, iPad, Nokia S60, BlackberrySunday, October 17, 2010
Low level APIs
Camera Accelerometer Push Notifications...
Chromeless Browser
PhoneGap
browser.eval(“document.geolocation...”)
Android, iPhone, iPad, Nokia S60, BlackberrySunday, October 17, 2010
mAppView.loadUrl("javascript:navigator.compass.setHeading(" + heading + ")");
Android
Sunday, October 17, 2010
jsCallBack = [[NSString alloc] initWithFormat:@"navigator. accelerometer._onAccelUpdate(%f,%f,%f);", acceleration.x, acceleration.y, acceleration.z];
[webView stringByEvaluatingJavaScriptFromString:jsCallBack];
iPhone/iPad
Sunday, October 17, 2010
Lowlevel APIs
The browser
For things you can’t do in the browser (yet)
For anything else :)
Sunday, October 17, 2010
Enough talking, lets see some hardware
Sunday, October 17, 2010
ArduinoJS
Sunday, October 17, 2010
ArduinoJS Stack
• Arduino (http://arduino.cc/)
• Node-Serial (Chris Williams)
• Node
• Websockets (Socket.io)
http://github.com/nonken/arduinojs
Sunday, October 17, 2010
Node
ArduinoJS
Websockets
Arduino
Browser
Serial connection
Light Motors Robots
One
API
to
rule
the
m a
ll
Sunday, October 17, 2010
Node
ArduinoJS
Websockets
Arduino
Browser
Serial connection
Light Motors Robots
One
API
to
rule
the
m a
ll
Sunday, October 17, 2010
available APIs
• digitalWrite(pin, val)
• digitalRead(pin, val)
• analogWrite(pin, val)
• analogRead(pin, val)
http://github.com/nonken/arduinojs
Sunday, October 17, 2010
Try it out
• 10.0.2.1:8888
Sunday, October 17, 2010
Sunday, October 17, 2010
Only the beginning
Sunday, October 17, 2010
Serverside JS
Sunday, October 17, 2010
http://groups.google.com/group/nodejs/browse_thread/thread/ee11c077e5f89f7a?hl=en
$(".living-room").delegate(".motion-sensor", "onmotion", function(){ $(".living-room .lights").css("intensity", 0.75) });
Your house == DOM
Sunday, October 17, 2010
Raphaël can do this!
Sunday, October 17, 2010
Getting started
•ArduinoJS - http://github.com/nonken/arduinojs
•PhoneGap - http://phonegap.com
•http://blog.uxebu.com
•http://www.humanapi.org
Sunday, October 17, 2010
Thank you
@nonken
Sunday, October 17, 2010