SlideShare a Scribd company logo
JAVASCRIPT
ALL THE THINGS
#HANNOVERJS 11/2013
!
!
!
!
!
!
!
!
!

@FELIXWAHNER / @NEUWAERTS_DE
!1
WHAT IS THIS TALK THIS ABOUT?
•

Javascript (obviously)

•

Things (literally)

!2
WHAT IS THIS TALK THIS ABOUT?
•

Javascript
• Frontend
• Server
•

•

Hardware

Things
•
•

Hardware
Gadgets

!3
WHAT IS THIS TALK THIS ABOUT?
•

Javascript
• Frontend
• Server
•

•

Hardware

Things
•
•

Hardware
Gadgets

!4
WHAT IS THIS TALK THIS ABOUT?
•

Javascript
• Frontend
• Server
•

•

Hardware

Things
•
•

Hardware
Gadgets

!5
WHAT IS THIS TALK THIS ABOUT?
•

Javascript
• Frontend
• Server
•

•

Hardware

Things
•
•

Hardware
Gadgets

!6
WHAT IS THIS TALK THIS ABOUT?
•

Javascript
• Frontend
• Server
•

•

Hardware

Things
•
•

Hardware
Gadgets

!7
LET ME INTRODUCE MYSELF

!8
THAT’S ME
•

Felix Wahner

•

@felixwahner

•

32 yrs old

•

Father, Designer, Frontend Developer, Fulltime Nerd

•

CTO @neuwaerts_de

•

blogs @ neuwaerts.de/emerge

!9
10
11
12
ALRIGHT: LET’S GO!

!13
INTERNET OF THINGS
A BRIEF INTRODUCTION
•

A connection of „Things“ (real world objects) with
our beloved InternetsTM

•

Enriches all day life experience with Facebook like
counters awesome metadata and functionality

•

Will hopefully make our lives a lot easier

!14
RATHER OBVIOUS

EXAMPLES

Google Glass Image: http://www.aha-soft.com

!15
NOT SO OBVIOUS

EXAMPLES

http://commons.wikimedia.org/wiki/File:Cow_female_black_white.jpg

!16
NOT SO OBVIOUS

EXAMPLES

http://commons.wikimedia.org/wiki/File:Cow_female_black_white.jpg

A street sign that adjusts
its contents and
directions based
on user input:
!
!
http://breakfastny.com/points/

Dutch Company „Sparked“
is using wireless sensors on cattle
!
!
!
!
http://www.iotworks.com/#!sensors/c14wo
!17

Dominic Wilcox has created a fully
functional prototype pair of shoes that will
guide the wearer to any destination
!
!
!
http://dominicwilcox.com/portfolio/gpsshoe/
PROTOTYPING, PHYSICAL COMPUTING PLATFORMS AND

THE MAKER MOVEMENT

!18
IN THE BEGINNING THERE WAS

ARDUINO
• Created 2000 by Massimo Banzi
• Open Source Hardware and Software
• Extendable, Programmable

http://arduino.cc/

!19
!

RASPBERRY PI
• First version released in 2011
• credit-card-sized 

single-board computer

http://www.raspberrypi.org/

!20
!

ESPRUINO
• 2013 (to be released)
• JavaScript interpreter for 

microcontrollers

http://www.espruino.com/

!21
BONUS :)

MAKEY MAKEY
• An Invention Kit for Everyone
• Turn everyday objects into 

touchpads and combine them with 

the internet

http://www.makeymakey.com/

!22
BONUS :)

MAKEY MAKEY

http://www.makeymakey.com/ - Foto: http://www.flickr.com/photos/raster/8605560001/
!23
MORE INTERESTING DEVICES
I BROUGHT SOME WITH ME
FEEL FREE TO TRY THEM RIGHT HERE.

!24
!

LEAP MOTION
• Motion Sensing Device
• Browse the web, read articles, 

flip through photos, and play 

music just by lifting a finger
• API  App ecosystem

https://www.leapmotion.com/  https://developer.leapmotion.com/ !25
!

SPHERO
• It's the world's first robotic ball 

that you control with a tilt, touch, 

or swing from your smartphone 

or tablet
• API and SDK

www.gosphero.com  https://developer.gosphero.com/

!26
!

OCULUS RIFT
• virtual reality head-mounted display
• API and SDK

http://www.oculusvr.com/  https://developer.oculusvr.com/

!27
…

!28
AND MANY MORE!

!29
NOTICED SOMETHING?
ALL THESE THINGS ARE EITHER
PROGRAMMABLE OR HAVE AN API

!30
NOTICED SOMETHING?
ALL THESE THINGS ARE EITHER
PROGRAMMABLE OR HAVE AN API

!31
SO LETS TALK ABOUT
ALL THE THINGS!

!32
SO LETS TALK ABOUT
ALL THE THINGS!
EXCEPT FOR THE COWS.

!33
SO LETS TALK ABOUT
JAVASCRIPT ALL THE THINGS!
!

!

!

… FINALLY! :)
!34
!

WHY JAVASCRIPT?
•

Easy to learn

•

Asynchronous

•

Popular, great Community

•

Awesome because it’s not C. :)

•

The last one might depend on who you’re talking to

!35
„Any application that can be written in JavaScript,
will eventually be written in JavaScript“

–Jeff Atwood / The Principle of Least Power

http://www.codinghorror.com/blog/2007/07/the-principle-of-least-power.html
!36
!

WHAT CAN BE DONE VIA JS?
Build the Frontend (if needed)
Build your Server/Services (i.e. with node.js)
End to end communication (WebRTC)
Hardware Read/Write (node-serialport)

!37
!

WHAT CAN BE DONE VIA JS?
Build the Frontend (if needed)
Build your Server/Services (i.e. with node.js)
End to end communication (WebRTC)
Hardware Read/Write (node-serialport)

!38
EXAMPLES  LIBRARIES

!39
!

NODUINO
• A simple and flexible JavaScript 

and Node.js Framework for accessing 

basic Arduino controls from 

Web Applications using HTML5, 

Socket.IO and Node.js.

http://semu.github.io/noduino/

!40
!

NODUINO
var Noduino = new NoduinoObj({debug: true, host: 'http://
localhost:8090'}, Connector);
Noduino.connect(function(err, board) {
if (err) { return console.log(err); }
board.withButton({pin: 13}, function(err, Button) {
if (err) { return console.log(err); }
Button.on('push', function() }
console.log('Button pushed');
});
Button.push();
});
});

http://semu.github.io/noduino/

!41
!

JOHNNY FIVE
• Johnny-Five is an Open Source, 

JavaScript Arduino programming 

framework
• developed at Bocoup (yup: these 

guys that contribute to almost all 

major JS projects).

https://github.com/rwaldron/johnny-five  http://bocoup.com/

!42
JOYSTICK CONTROLLED LASER

JOHNNY FIVE
var five = require(../lib/johnny-five.js),
board = five.Board({
debug: true
});
board.on(ready, function() {
var range, pan, tilt, joystick;
range = [ 0, 170 ];
// Servo to control panning
pan = five.Servo({
pin: 9,
range: range
});
// Servo to control tilt
tilt = five.Servo({
pin: 10,
range: range
});
// Joystick to control pan/tilt
// Read Analog 0, 1
// Limit events to every 100ms
joystick = five.Joystick({
pins: [ A0, A1 ],
freq: 100
});
// Center all servos
(five.Servos()).center();
joystick.on(axismove, function() {
tilt.move( Math.ceil(170 * this.fixed.y) );
pan.move( Math.ceil(170 * this.fixed.x) );
});

http://jsfiddle.net/rwaldron/YHb7A/show/light/

!43
!

NODE AR-DRONE
• An implementation of the 

networking 

protocols used by the Parrot 

AR Drone 2.0.

https://github.com/felixge/node-ar-drone

!44
!
!

NODE AR-DRONE
var arDrone = require('ar-drone');
var client = arDrone.createClient();
!

client.takeoff();
!

client
.after(5000, function() {
this.clockwise(0.5);
})
.after(3000, function() {
this.stop();
this.land();
});

http://semu.github.io/noduino/

!45
!

NODE AR-DRONE: NODECOPTER
• „There’s a meet up for that!“
• http://nodecopter.com/
• @nodeCopter

https://github.com/felixge/node-ar-drone

!46
OK, THIS WAS QUITE A LOT OF
GEEKY GADGET STUFF. BUT HOW
DOES THIS FIT INTO MY
BUSINESS MODEL?

!47
BRITISH AIRWAYS

BILLBOARD CAMPAIGN
• Combines IoT with Classic Campaign
• Get’s a lot of „buzz“
• Would be easy to implement with JS:
• Flights API
• Kinect (node-kinect )
• Some very expensive large screen :)

http://mashable.com/2013/11/25/british-airways-billboard/  https://github.com/pgte/node-kinect
!48
CA

FASHION LIKE
• Shows 'Likes' on their respective

Clothing Racks
• Combines IoT with Classic Campaign
• Get’s a lot of „buzz“
• Would be easy to implement with JS:
• Facebook Graph-API
• Arduino Mini
• Some very cheap small led screens :)

http://infosthetics.com/archives/2012/05/ca_fashion_like_real-time_facebook_likes_shown_on_clothing_racks.html
!49
HYPOTHESIS
(TOUCH)SCREENS WILL DIE SOON

!50
HYPOTHESIS
THE INTERNET AND SENSORS WILL
INFILTRATE EVERYTHING

!51
HYPOTHESIS
THERE WILL BE NEW, MORE INTUITIVE,
MORE PRECISE INPUT AND OUTPUT DEVICES

!52
!

A FUTURE VISION
$(livingroom).bind( motion, function() {
$(this).find(lights).brightness(75%).dimAfter(120s);
});

http://www.voodootikigod.com/nodebots-the-rise-of-js-robotics/

!53
THANKS FOR LISTENING!
NOW GO BUILD SOMETHING AWESOME
BE SURE TO SHARE  TWEET US ABOUT IT!

!54
QUESTIONS? FEEDBACK?
DROP ME A LINE:
@FELIXWAHNER
!

…AND BE SURE TO VISIT OUR BLOG. THERE WILL BE MORE
#IOT POSTS COMING SOON:
HTTP://NEUWAERTS.DE/EMERGE
!55

More Related Content

Similar to Javascript all the things (20)

PDF
JavaScript in the Real World
Andrew Nesbitt
 
PDF
JavaScript Makers: How JS is Helping Drive the Maker Movement
Jesse Cravens
 
PDF
Programming the Real World: Javascript for Makers
pchristensen
 
PDF
Droids, java script and web connected hardware
Andrew Fisher
 
ODP
Javascript on Arduino
Keith Bloomfield
 
PDF
Using Java Script and COMPOSE to build cool IoT applications, SenZations 2015
SenZations Summer School
 
PDF
Prototyping Hardware
Suz Hinton
 
PDF
UI Beyond the Browser - Software for Hardware Projects
pchristensen
 
PDF
IoT is Something to Figure Out
Peter Hoddie
 
PPTX
JavaScript Robotics #NodeWeek
Suz Hinton
 
PPTX
Bare metal Javascript & GPIO programming in Linux
Alexander Vanwynsberghe
 
PPTX
Programming for the Internet of Things
Kinoma
 
PPTX
Hacking into IoT using JavaScript
Sajan John
 
PDF
Hardware for JavaScript Developers
Tarik Kelestemur
 
PDF
Surviving Berlin Winter with JavaScript
Julian Kern
 
PDF
How To Electrocute Yourself using the Internet
Alexander Roche
 
PDF
OWF13 - Weio
Paris Open Source Summit
 
PDF
IndianaJS: Building spatially aware web sites for the Web of Things
TECO Research Group
 
PDF
Little bits & node.js IOT for beginner
Michele Capra
 
PDF
JAX 2012: Moderne Architektur mit Spring und JavaScript
martinlippert
 
JavaScript in the Real World
Andrew Nesbitt
 
JavaScript Makers: How JS is Helping Drive the Maker Movement
Jesse Cravens
 
Programming the Real World: Javascript for Makers
pchristensen
 
Droids, java script and web connected hardware
Andrew Fisher
 
Javascript on Arduino
Keith Bloomfield
 
Using Java Script and COMPOSE to build cool IoT applications, SenZations 2015
SenZations Summer School
 
Prototyping Hardware
Suz Hinton
 
UI Beyond the Browser - Software for Hardware Projects
pchristensen
 
IoT is Something to Figure Out
Peter Hoddie
 
JavaScript Robotics #NodeWeek
Suz Hinton
 
Bare metal Javascript & GPIO programming in Linux
Alexander Vanwynsberghe
 
Programming for the Internet of Things
Kinoma
 
Hacking into IoT using JavaScript
Sajan John
 
Hardware for JavaScript Developers
Tarik Kelestemur
 
Surviving Berlin Winter with JavaScript
Julian Kern
 
How To Electrocute Yourself using the Internet
Alexander Roche
 
IndianaJS: Building spatially aware web sites for the Web of Things
TECO Research Group
 
Little bits & node.js IOT for beginner
Michele Capra
 
JAX 2012: Moderne Architektur mit Spring und JavaScript
martinlippert
 

Recently uploaded (20)

PPTX
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
PDF
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
PDF
State-Dependent Conformal Perception Bounds for Neuro-Symbolic Verification
Ivan Ruchkin
 
PPTX
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
PPTX
AI Code Generation Risks (Ramkumar Dilli, CIO, Myridius)
Priyanka Aash
 
PDF
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
PDF
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
PDF
Build with AI and GDG Cloud Bydgoszcz- ADK .pdf
jaroslawgajewski1
 
PPTX
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
PPTX
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
PPTX
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
PDF
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
PDF
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
PPTX
The Future of AI & Machine Learning.pptx
pritsen4700
 
PDF
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
PDF
RAT Builders - How to Catch Them All [DeepSec 2024]
malmoeb
 
PDF
NewMind AI Weekly Chronicles – July’25, Week III
NewMind AI
 
PDF
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
PDF
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
PDF
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
State-Dependent Conformal Perception Bounds for Neuro-Symbolic Verification
Ivan Ruchkin
 
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
AI Code Generation Risks (Ramkumar Dilli, CIO, Myridius)
Priyanka Aash
 
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
Build with AI and GDG Cloud Bydgoszcz- ADK .pdf
jaroslawgajewski1
 
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
The Future of AI & Machine Learning.pptx
pritsen4700
 
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
RAT Builders - How to Catch Them All [DeepSec 2024]
malmoeb
 
NewMind AI Weekly Chronicles – July’25, Week III
NewMind AI
 
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 
Ad

Javascript all the things

  • 1. JAVASCRIPT ALL THE THINGS #HANNOVERJS 11/2013 ! ! ! ! ! ! ! ! ! @FELIXWAHNER / @NEUWAERTS_DE !1
  • 2. WHAT IS THIS TALK THIS ABOUT? • Javascript (obviously) • Things (literally) !2
  • 3. WHAT IS THIS TALK THIS ABOUT? • Javascript • Frontend • Server • • Hardware Things • • Hardware Gadgets !3
  • 4. WHAT IS THIS TALK THIS ABOUT? • Javascript • Frontend • Server • • Hardware Things • • Hardware Gadgets !4
  • 5. WHAT IS THIS TALK THIS ABOUT? • Javascript • Frontend • Server • • Hardware Things • • Hardware Gadgets !5
  • 6. WHAT IS THIS TALK THIS ABOUT? • Javascript • Frontend • Server • • Hardware Things • • Hardware Gadgets !6
  • 7. WHAT IS THIS TALK THIS ABOUT? • Javascript • Frontend • Server • • Hardware Things • • Hardware Gadgets !7
  • 8. LET ME INTRODUCE MYSELF !8
  • 9. THAT’S ME • Felix Wahner • @felixwahner • 32 yrs old • Father, Designer, Frontend Developer, Fulltime Nerd • CTO @neuwaerts_de • blogs @ neuwaerts.de/emerge !9
  • 10. 10
  • 11. 11
  • 12. 12
  • 14. INTERNET OF THINGS A BRIEF INTRODUCTION • A connection of „Things“ (real world objects) with our beloved InternetsTM • Enriches all day life experience with Facebook like counters awesome metadata and functionality • Will hopefully make our lives a lot easier !14
  • 15. RATHER OBVIOUS EXAMPLES Google Glass Image: http://www.aha-soft.com !15
  • 17. NOT SO OBVIOUS EXAMPLES http://commons.wikimedia.org/wiki/File:Cow_female_black_white.jpg A street sign that adjusts its contents and directions based on user input: ! ! http://breakfastny.com/points/ Dutch Company „Sparked“ is using wireless sensors on cattle ! ! ! ! http://www.iotworks.com/#!sensors/c14wo !17 Dominic Wilcox has created a fully functional prototype pair of shoes that will guide the wearer to any destination ! ! ! http://dominicwilcox.com/portfolio/gpsshoe/
  • 18. PROTOTYPING, PHYSICAL COMPUTING PLATFORMS AND THE MAKER MOVEMENT !18
  • 19. IN THE BEGINNING THERE WAS ARDUINO • Created 2000 by Massimo Banzi • Open Source Hardware and Software • Extendable, Programmable http://arduino.cc/ !19
  • 20. ! RASPBERRY PI • First version released in 2011 • credit-card-sized 
 single-board computer http://www.raspberrypi.org/ !20
  • 21. ! ESPRUINO • 2013 (to be released) • JavaScript interpreter for 
 microcontrollers http://www.espruino.com/ !21
  • 22. BONUS :) MAKEY MAKEY • An Invention Kit for Everyone • Turn everyday objects into 
 touchpads and combine them with 
 the internet http://www.makeymakey.com/ !22
  • 23. BONUS :) MAKEY MAKEY http://www.makeymakey.com/ - Foto: http://www.flickr.com/photos/raster/8605560001/ !23
  • 24. MORE INTERESTING DEVICES I BROUGHT SOME WITH ME FEEL FREE TO TRY THEM RIGHT HERE. !24
  • 25. ! LEAP MOTION • Motion Sensing Device • Browse the web, read articles, 
 flip through photos, and play 
 music just by lifting a finger • API App ecosystem https://www.leapmotion.com/ https://developer.leapmotion.com/ !25
  • 26. ! SPHERO • It's the world's first robotic ball 
 that you control with a tilt, touch, 
 or swing from your smartphone 
 or tablet • API and SDK www.gosphero.com https://developer.gosphero.com/ !26
  • 27. ! OCULUS RIFT • virtual reality head-mounted display • API and SDK http://www.oculusvr.com/ https://developer.oculusvr.com/ !27
  • 30. NOTICED SOMETHING? ALL THESE THINGS ARE EITHER PROGRAMMABLE OR HAVE AN API !30
  • 31. NOTICED SOMETHING? ALL THESE THINGS ARE EITHER PROGRAMMABLE OR HAVE AN API !31
  • 32. SO LETS TALK ABOUT ALL THE THINGS! !32
  • 33. SO LETS TALK ABOUT ALL THE THINGS! EXCEPT FOR THE COWS. !33
  • 34. SO LETS TALK ABOUT JAVASCRIPT ALL THE THINGS! ! ! ! … FINALLY! :) !34
  • 35. ! WHY JAVASCRIPT? • Easy to learn • Asynchronous • Popular, great Community • Awesome because it’s not C. :) • The last one might depend on who you’re talking to !35
  • 36. „Any application that can be written in JavaScript, will eventually be written in JavaScript“ –Jeff Atwood / The Principle of Least Power http://www.codinghorror.com/blog/2007/07/the-principle-of-least-power.html !36
  • 37. ! WHAT CAN BE DONE VIA JS? Build the Frontend (if needed) Build your Server/Services (i.e. with node.js) End to end communication (WebRTC) Hardware Read/Write (node-serialport) !37
  • 38. ! WHAT CAN BE DONE VIA JS? Build the Frontend (if needed) Build your Server/Services (i.e. with node.js) End to end communication (WebRTC) Hardware Read/Write (node-serialport) !38
  • 40. ! NODUINO • A simple and flexible JavaScript 
 and Node.js Framework for accessing 
 basic Arduino controls from 
 Web Applications using HTML5, 
 Socket.IO and Node.js. http://semu.github.io/noduino/ !40
  • 41. ! NODUINO var Noduino = new NoduinoObj({debug: true, host: 'http:// localhost:8090'}, Connector); Noduino.connect(function(err, board) { if (err) { return console.log(err); } board.withButton({pin: 13}, function(err, Button) { if (err) { return console.log(err); } Button.on('push', function() } console.log('Button pushed'); }); Button.push(); }); }); http://semu.github.io/noduino/ !41
  • 42. ! JOHNNY FIVE • Johnny-Five is an Open Source, 
 JavaScript Arduino programming 
 framework • developed at Bocoup (yup: these 
 guys that contribute to almost all 
 major JS projects). https://github.com/rwaldron/johnny-five http://bocoup.com/ !42
  • 43. JOYSTICK CONTROLLED LASER JOHNNY FIVE var five = require(../lib/johnny-five.js), board = five.Board({ debug: true }); board.on(ready, function() { var range, pan, tilt, joystick; range = [ 0, 170 ]; // Servo to control panning pan = five.Servo({ pin: 9, range: range }); // Servo to control tilt tilt = five.Servo({ pin: 10, range: range }); // Joystick to control pan/tilt // Read Analog 0, 1 // Limit events to every 100ms joystick = five.Joystick({ pins: [ A0, A1 ], freq: 100 }); // Center all servos (five.Servos()).center(); joystick.on(axismove, function() { tilt.move( Math.ceil(170 * this.fixed.y) ); pan.move( Math.ceil(170 * this.fixed.x) ); }); http://jsfiddle.net/rwaldron/YHb7A/show/light/ !43
  • 44. ! NODE AR-DRONE • An implementation of the 
 networking 
 protocols used by the Parrot 
 AR Drone 2.0. https://github.com/felixge/node-ar-drone !44
  • 45. ! ! NODE AR-DRONE var arDrone = require('ar-drone'); var client = arDrone.createClient(); ! client.takeoff(); ! client .after(5000, function() { this.clockwise(0.5); }) .after(3000, function() { this.stop(); this.land(); }); http://semu.github.io/noduino/ !45
  • 46. ! NODE AR-DRONE: NODECOPTER • „There’s a meet up for that!“ • http://nodecopter.com/ • @nodeCopter https://github.com/felixge/node-ar-drone !46
  • 47. OK, THIS WAS QUITE A LOT OF GEEKY GADGET STUFF. BUT HOW DOES THIS FIT INTO MY BUSINESS MODEL? !47
  • 48. BRITISH AIRWAYS BILLBOARD CAMPAIGN • Combines IoT with Classic Campaign • Get’s a lot of „buzz“ • Would be easy to implement with JS: • Flights API • Kinect (node-kinect ) • Some very expensive large screen :) http://mashable.com/2013/11/25/british-airways-billboard/ https://github.com/pgte/node-kinect !48
  • 49. CA FASHION LIKE • Shows 'Likes' on their respective
 Clothing Racks • Combines IoT with Classic Campaign • Get’s a lot of „buzz“ • Would be easy to implement with JS: • Facebook Graph-API • Arduino Mini • Some very cheap small led screens :) http://infosthetics.com/archives/2012/05/ca_fashion_like_real-time_facebook_likes_shown_on_clothing_racks.html !49
  • 51. HYPOTHESIS THE INTERNET AND SENSORS WILL INFILTRATE EVERYTHING !51
  • 52. HYPOTHESIS THERE WILL BE NEW, MORE INTUITIVE, MORE PRECISE INPUT AND OUTPUT DEVICES !52
  • 53. ! A FUTURE VISION $(livingroom).bind( motion, function() { $(this).find(lights).brightness(75%).dimAfter(120s); }); http://www.voodootikigod.com/nodebots-the-rise-of-js-robotics/ !53
  • 54. THANKS FOR LISTENING! NOW GO BUILD SOMETHING AWESOME BE SURE TO SHARE TWEET US ABOUT IT! !54
  • 55. QUESTIONS? FEEDBACK? DROP ME A LINE: @FELIXWAHNER ! …AND BE SURE TO VISIT OUR BLOG. THERE WILL BE MORE #IOT POSTS COMING SOON: HTTP://NEUWAERTS.DE/EMERGE !55