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