SlideShare a Scribd company logo
JAVASCRIPT POWERING THE DREAM OF
THE CONNECTED HOME
Rodrigo Fernandez
HTML5 Developer Conference
May 2014
ABOUT ME
• From Brazil
• BSEE
• Currently with @WalmartLabs, Carlsbad, CA
– Business Tools and Services
• Previously with PacketVideo (NTT Docomo)
– DRM
– UPnP/DLNA
– BEAM
AFFORDABLE COMPONENTS
• Sensors
– Temperature
– Humidity
– Gases
– Light
– Presence
– Movement
– Cameras
• Actuators
– Switches
– Relays
– Servos
• Network
– Wired / Wireless
• CPU / Memory
SMART APPLIANCES
• TVs
• Sound Speakers
• HVAC
• Locks/Gates/Doors
• Refrigerators
• Microwaves
• Ovens
• Vacuum cleaners
GREAT UNIVERSAL REMOTES
SOME USE CASES
• Browse for media from a mobile device and
play it on any TV
• Play music and open blinds at 7 AM
• Close the garage door if cell phone location is
more than 300 feet away from home
• Turn off the HVAC if two or more windows are
open longer than 5 minutes
• Control lighting and surveillance remotely
CLOUD INTEGRATION & AUTOMATION
PROPRIETARY SOLUTIONS
• Amazon Fire
• Apple AirPlay
• Belkin WeMo
• Google Chromecast
• Nest
• Phillips Hue
• Sonus
• Roku
• Z-Wave
UPNP
• It is a set of protocols that permits networked
devices to seamlessly discover each other's
and interoperate
• Started by Microsoft in late 1900s
• UPnP Forum formed in Oct. 1999
• Established as ISO/IEC standard in Dec. 2008
• Popular on printers, network routers, STBs,
game consoles, smart TVs, etc
UPNP DEVICE CATEGORIES
• Audio/Video
– Media Server
– Media Renderer
• Device Management
– Manageable Device
• Home Automation
– Solar Protection Blind
– Digital Security Camera
– HVAC
– Lighting Controls
• Networking
– Internet Gateway
– WLAN Access Point
• Printer
– Printer Enhanced
– Printer Basic
• Remote Access
– RA Client
– RA Server
– RA Discovery Agent
• Remoting
– Remote UI Client
– Remote UI Server
• Scanner
– Scanner
• Sensor Management
– Sensor Management
• Telephony
– Telephony
UPNP LAYERS
ADDRESSING
DISCOVERY
DESCRIPTION
CONTROL PRESENTATIONEVENTING
DLNA
• Series of guidelines for sharing digital media
on top of UPnP
• Established by Sony in Jun. 2003
• More restrictive than UPnP
– Containers (file formats)
– CODECs
• 3 Billion certified devices on the market
DIAL (DISCOVERY AND LAUNCH)
• Protocol that targets 2nd screen experiences
• Published by Netflix and YouTube in Dec. 2012
• Relies on UPnP and HTTP
– DIAL Service Discovery
– DIAL REST Service (XML/JSON)
• Supported by:
– Amazon Fire TV
– Google Chromecast
– Roku
– TiVo
SOUNDS A LOT OF WORK…
ATWOOD'S LAW
Any application that can be written in
JavaScript, will eventually be written in
JavaScript.
WHY NOT?
W3C NETWORK SERVICE DISCOVERY (NSD)
• Device APIs Working Group
– http://www.w3.org/TR/discovery-api/
– First draft: Oct 2012
– Current draft: Feb 2014
• Experimental builds
– Opera: http://bit.ly/1ih2MHL
– WebKit by Canon Labs: http://bit.ly/1ih2UqA
• Intent to implement
– Firefox: http://bit.ly/1ih32Xj
– Blink: http://bit.ly/1ih3eWA
– WebKit: WTF!?
• Concerns about security
LATEST DRAFT
EXAMPLE
DEMO
Opera Labs
WITH NSD
BROWSER
NSD
SSDP
TCP UDP
BRIDGING THE GAP
BROWSER
VIRTUAL NSD
WEBSOCKETS
HUB
WEBSOCKETS
SSDP
TCP UDP
PINGUELA
RASPBERRY PI MODEL B
ALTERNATIVE: TESSEL
BEWARE OF CORS
• Setting a custom header in a XHR request
triggers preflight
• Preflight consists in an OPTIONS request sent
by the browser before sending the actual
request in order to determine if it is safe to
continue
• Guess how many devices handle OPTIONS?
• Use a proxy to prevent issues
DEMO
Hub powered by Node.js
BEYOND NSD
• W3C
– Device APIs WG: http://bit.ly/1ih3sgf
– Web and TV IG: http://bit.ly/1ih3x3B
– 2° Screen Presentation CG: http://bit.ly/1ih3BAe
– Web of Things (WoT): http://bit.ly/1ih3Efo
• UPnP+
– Protocol bridging
• UPnP Cloud
– Devices connect to a cloud server using XMPP
• webinos
– Built with OSS and leverages web technologies
– Focus on TV, automotive, health and home automation
GO AND HACK YOUR HOME!
THANK YOU!
rodrigo@fnnd.es
http://bit.ly/js-connected-home

More Related Content

Similar to JavaScript powering the dream of the connected home

Arkuda STB middleware presentation 2016
Arkuda STB middleware presentation 2016Arkuda STB middleware presentation 2016
Arkuda STB middleware presentation 2016
Arkuda Digital
 
Personnalisation d'Android par Archos 26-10-2011 au PAUG
Personnalisation d'Android par Archos 26-10-2011 au PAUGPersonnalisation d'Android par Archos 26-10-2011 au PAUG
Personnalisation d'Android par Archos 26-10-2011 au PAUG
Paris Android User Group
 
Your Digital Multi Tool
Your Digital Multi ToolYour Digital Multi Tool
Your Digital Multi Tool
Northeast Kansas Library System
 
Arkuda.CarPlay Solutions.presentation.2016
Arkuda.CarPlay Solutions.presentation.2016Arkuda.CarPlay Solutions.presentation.2016
Arkuda.CarPlay Solutions.presentation.2016
Arkuda Digital
 
ContainerDays 2015
ContainerDays 2015ContainerDays 2015
ContainerDays 2015
borjaburgos
 
Second screen iot_day_stockholm_2014
Second screen iot_day_stockholm_2014Second screen iot_day_stockholm_2014
Second screen iot_day_stockholm_2014
Steffen Larsen
 
Fhem as IOT rasberry pi platform
Fhem as IOT rasberry pi platformFhem as IOT rasberry pi platform
Fhem as IOT rasberry pi platform
Frank Thilo Röhl
 
Cloud experience & bottle necks
Cloud experience & bottle necksCloud experience & bottle necks
Cloud experience & bottle necks
Future Cloud Summit
 
IITSEC-20131205-No Video
IITSEC-20131205-No VideoIITSEC-20131205-No Video
IITSEC-20131205-No Video
Harry Chawla
 
Cumulus networks - Overcoming traditional network limitations with open source
Cumulus networks - Overcoming traditional network limitations with open sourceCumulus networks - Overcoming traditional network limitations with open source
Cumulus networks - Overcoming traditional network limitations with open source
Nat Morris
 
Three years of OFELIA - taking stock
Three years of OFELIA - taking stockThree years of OFELIA - taking stock
Three years of OFELIA - taking stock
FIBRE Testbed
 
Arkuda.Concert.presentation.2016
Arkuda.Concert.presentation.2016Arkuda.Concert.presentation.2016
Arkuda.Concert.presentation.2016
Arkuda Digital
 
Androidppt 120228101141-phpapp02
Androidppt 120228101141-phpapp02Androidppt 120228101141-phpapp02
Androidppt 120228101141-phpapp02
Stockmarket Broking
 
Docker Platform and Ecosystem Nov 2015
Docker Platform and Ecosystem Nov 2015Docker Platform and Ecosystem Nov 2015
Docker Platform and Ecosystem Nov 2015
Patrick Chanezon
 
Coffee & Pi - Intro to Home Automation
Coffee & Pi - Intro to Home AutomationCoffee & Pi - Intro to Home Automation
Coffee & Pi - Intro to Home Automation
Brad ☼ Derstine
 
End to End IoT projects with Zephyr.pdf
End to End IoT projects with Zephyr.pdfEnd to End IoT projects with Zephyr.pdf
End to End IoT projects with Zephyr.pdf
Alvaro Viebrantz
 
OWF12/Open Standards for Cloud - Cs owf
OWF12/Open Standards for Cloud - Cs owfOWF12/Open Standards for Cloud - Cs owf
OWF12/Open Standards for Cloud - Cs owf
Paris Open Source Summit
 
Open source presentation to Cork County Council
Open source presentation to Cork County CouncilOpen source presentation to Cork County Council
Open source presentation to Cork County Council
Tim Willoughby
 
Docker SF Meetup January 2016
Docker SF Meetup January 2016Docker SF Meetup January 2016
Docker SF Meetup January 2016
Patrick Chanezon
 
Building the Ultimate Device Matrix
Building the Ultimate Device MatrixBuilding the Ultimate Device Matrix
Building the Ultimate Device Matrix
Carly Vanderwert
 

Similar to JavaScript powering the dream of the connected home (20)

Arkuda STB middleware presentation 2016
Arkuda STB middleware presentation 2016Arkuda STB middleware presentation 2016
Arkuda STB middleware presentation 2016
 
Personnalisation d'Android par Archos 26-10-2011 au PAUG
Personnalisation d'Android par Archos 26-10-2011 au PAUGPersonnalisation d'Android par Archos 26-10-2011 au PAUG
Personnalisation d'Android par Archos 26-10-2011 au PAUG
 
Your Digital Multi Tool
Your Digital Multi ToolYour Digital Multi Tool
Your Digital Multi Tool
 
Arkuda.CarPlay Solutions.presentation.2016
Arkuda.CarPlay Solutions.presentation.2016Arkuda.CarPlay Solutions.presentation.2016
Arkuda.CarPlay Solutions.presentation.2016
 
ContainerDays 2015
ContainerDays 2015ContainerDays 2015
ContainerDays 2015
 
Second screen iot_day_stockholm_2014
Second screen iot_day_stockholm_2014Second screen iot_day_stockholm_2014
Second screen iot_day_stockholm_2014
 
Fhem as IOT rasberry pi platform
Fhem as IOT rasberry pi platformFhem as IOT rasberry pi platform
Fhem as IOT rasberry pi platform
 
Cloud experience & bottle necks
Cloud experience & bottle necksCloud experience & bottle necks
Cloud experience & bottle necks
 
IITSEC-20131205-No Video
IITSEC-20131205-No VideoIITSEC-20131205-No Video
IITSEC-20131205-No Video
 
Cumulus networks - Overcoming traditional network limitations with open source
Cumulus networks - Overcoming traditional network limitations with open sourceCumulus networks - Overcoming traditional network limitations with open source
Cumulus networks - Overcoming traditional network limitations with open source
 
Three years of OFELIA - taking stock
Three years of OFELIA - taking stockThree years of OFELIA - taking stock
Three years of OFELIA - taking stock
 
Arkuda.Concert.presentation.2016
Arkuda.Concert.presentation.2016Arkuda.Concert.presentation.2016
Arkuda.Concert.presentation.2016
 
Androidppt 120228101141-phpapp02
Androidppt 120228101141-phpapp02Androidppt 120228101141-phpapp02
Androidppt 120228101141-phpapp02
 
Docker Platform and Ecosystem Nov 2015
Docker Platform and Ecosystem Nov 2015Docker Platform and Ecosystem Nov 2015
Docker Platform and Ecosystem Nov 2015
 
Coffee & Pi - Intro to Home Automation
Coffee & Pi - Intro to Home AutomationCoffee & Pi - Intro to Home Automation
Coffee & Pi - Intro to Home Automation
 
End to End IoT projects with Zephyr.pdf
End to End IoT projects with Zephyr.pdfEnd to End IoT projects with Zephyr.pdf
End to End IoT projects with Zephyr.pdf
 
OWF12/Open Standards for Cloud - Cs owf
OWF12/Open Standards for Cloud - Cs owfOWF12/Open Standards for Cloud - Cs owf
OWF12/Open Standards for Cloud - Cs owf
 
Open source presentation to Cork County Council
Open source presentation to Cork County CouncilOpen source presentation to Cork County Council
Open source presentation to Cork County Council
 
Docker SF Meetup January 2016
Docker SF Meetup January 2016Docker SF Meetup January 2016
Docker SF Meetup January 2016
 
Building the Ultimate Device Matrix
Building the Ultimate Device MatrixBuilding the Ultimate Device Matrix
Building the Ultimate Device Matrix
 

Recently uploaded

Design and optimization of ion propulsion drone
Design and optimization of ion propulsion droneDesign and optimization of ion propulsion drone
Design and optimization of ion propulsion drone
bjmsejournal
 
Data Driven Maintenance | UReason Webinar
Data Driven Maintenance | UReason WebinarData Driven Maintenance | UReason Webinar
Data Driven Maintenance | UReason Webinar
UReason
 
Curve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods RegressionCurve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods Regression
Nada Hikmah
 
Applications of artificial Intelligence in Mechanical Engineering.pdf
Applications of artificial Intelligence in Mechanical Engineering.pdfApplications of artificial Intelligence in Mechanical Engineering.pdf
Applications of artificial Intelligence in Mechanical Engineering.pdf
Atif Razi
 
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
ydzowc
 
Welding Metallurgy Ferrous Materials.pdf
Welding Metallurgy Ferrous Materials.pdfWelding Metallurgy Ferrous Materials.pdf
Welding Metallurgy Ferrous Materials.pdf
AjmalKhan50578
 
Rainfall intensity duration frequency curve statistical analysis and modeling...
Rainfall intensity duration frequency curve statistical analysis and modeling...Rainfall intensity duration frequency curve statistical analysis and modeling...
Rainfall intensity duration frequency curve statistical analysis and modeling...
bijceesjournal
 
Data Control Language.pptx Data Control Language.pptx
Data Control Language.pptx Data Control Language.pptxData Control Language.pptx Data Control Language.pptx
Data Control Language.pptx Data Control Language.pptx
ramrag33
 
Mechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdfMechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdf
21UME003TUSHARDEB
 
Generative AI leverages algorithms to create various forms of content
Generative AI leverages algorithms to create various forms of contentGenerative AI leverages algorithms to create various forms of content
Generative AI leverages algorithms to create various forms of content
Hitesh Mohapatra
 
An improved modulation technique suitable for a three level flying capacitor ...
An improved modulation technique suitable for a three level flying capacitor ...An improved modulation technique suitable for a three level flying capacitor ...
An improved modulation technique suitable for a three level flying capacitor ...
IJECEIAES
 
Seminar on Distillation study-mafia.pptx
Seminar on Distillation study-mafia.pptxSeminar on Distillation study-mafia.pptx
Seminar on Distillation study-mafia.pptx
Madan Karki
 
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
shadow0702a
 
cnn.pptx Convolutional neural network used for image classication
cnn.pptx Convolutional neural network used for image classicationcnn.pptx Convolutional neural network used for image classication
cnn.pptx Convolutional neural network used for image classication
SakkaravarthiShanmug
 
Manufacturing Process of molasses based distillery ppt.pptx
Manufacturing Process of molasses based distillery ppt.pptxManufacturing Process of molasses based distillery ppt.pptx
Manufacturing Process of molasses based distillery ppt.pptx
Madan Karki
 
artificial intelligence and data science contents.pptx
artificial intelligence and data science contents.pptxartificial intelligence and data science contents.pptx
artificial intelligence and data science contents.pptx
GauravCar
 
spirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptxspirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptx
Madan Karki
 
Properties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptxProperties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptx
MDSABBIROJJAMANPAYEL
 
An Introduction to the Compiler Designss
An Introduction to the Compiler DesignssAn Introduction to the Compiler Designss
An Introduction to the Compiler Designss
ElakkiaU
 
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
IJECEIAES
 

Recently uploaded (20)

Design and optimization of ion propulsion drone
Design and optimization of ion propulsion droneDesign and optimization of ion propulsion drone
Design and optimization of ion propulsion drone
 
Data Driven Maintenance | UReason Webinar
Data Driven Maintenance | UReason WebinarData Driven Maintenance | UReason Webinar
Data Driven Maintenance | UReason Webinar
 
Curve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods RegressionCurve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods Regression
 
Applications of artificial Intelligence in Mechanical Engineering.pdf
Applications of artificial Intelligence in Mechanical Engineering.pdfApplications of artificial Intelligence in Mechanical Engineering.pdf
Applications of artificial Intelligence in Mechanical Engineering.pdf
 
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
 
Welding Metallurgy Ferrous Materials.pdf
Welding Metallurgy Ferrous Materials.pdfWelding Metallurgy Ferrous Materials.pdf
Welding Metallurgy Ferrous Materials.pdf
 
Rainfall intensity duration frequency curve statistical analysis and modeling...
Rainfall intensity duration frequency curve statistical analysis and modeling...Rainfall intensity duration frequency curve statistical analysis and modeling...
Rainfall intensity duration frequency curve statistical analysis and modeling...
 
Data Control Language.pptx Data Control Language.pptx
Data Control Language.pptx Data Control Language.pptxData Control Language.pptx Data Control Language.pptx
Data Control Language.pptx Data Control Language.pptx
 
Mechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdfMechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdf
 
Generative AI leverages algorithms to create various forms of content
Generative AI leverages algorithms to create various forms of contentGenerative AI leverages algorithms to create various forms of content
Generative AI leverages algorithms to create various forms of content
 
An improved modulation technique suitable for a three level flying capacitor ...
An improved modulation technique suitable for a three level flying capacitor ...An improved modulation technique suitable for a three level flying capacitor ...
An improved modulation technique suitable for a three level flying capacitor ...
 
Seminar on Distillation study-mafia.pptx
Seminar on Distillation study-mafia.pptxSeminar on Distillation study-mafia.pptx
Seminar on Distillation study-mafia.pptx
 
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
 
cnn.pptx Convolutional neural network used for image classication
cnn.pptx Convolutional neural network used for image classicationcnn.pptx Convolutional neural network used for image classication
cnn.pptx Convolutional neural network used for image classication
 
Manufacturing Process of molasses based distillery ppt.pptx
Manufacturing Process of molasses based distillery ppt.pptxManufacturing Process of molasses based distillery ppt.pptx
Manufacturing Process of molasses based distillery ppt.pptx
 
artificial intelligence and data science contents.pptx
artificial intelligence and data science contents.pptxartificial intelligence and data science contents.pptx
artificial intelligence and data science contents.pptx
 
spirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptxspirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptx
 
Properties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptxProperties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptx
 
An Introduction to the Compiler Designss
An Introduction to the Compiler DesignssAn Introduction to the Compiler Designss
An Introduction to the Compiler Designss
 
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
 

JavaScript powering the dream of the connected home

  • 1. JAVASCRIPT POWERING THE DREAM OF THE CONNECTED HOME Rodrigo Fernandez HTML5 Developer Conference May 2014
  • 2. ABOUT ME • From Brazil • BSEE • Currently with @WalmartLabs, Carlsbad, CA – Business Tools and Services • Previously with PacketVideo (NTT Docomo) – DRM – UPnP/DLNA – BEAM
  • 3. AFFORDABLE COMPONENTS • Sensors – Temperature – Humidity – Gases – Light – Presence – Movement – Cameras • Actuators – Switches – Relays – Servos • Network – Wired / Wireless • CPU / Memory
  • 4. SMART APPLIANCES • TVs • Sound Speakers • HVAC • Locks/Gates/Doors • Refrigerators • Microwaves • Ovens • Vacuum cleaners
  • 6. SOME USE CASES • Browse for media from a mobile device and play it on any TV • Play music and open blinds at 7 AM • Close the garage door if cell phone location is more than 300 feet away from home • Turn off the HVAC if two or more windows are open longer than 5 minutes • Control lighting and surveillance remotely
  • 7. CLOUD INTEGRATION & AUTOMATION
  • 8. PROPRIETARY SOLUTIONS • Amazon Fire • Apple AirPlay • Belkin WeMo • Google Chromecast • Nest • Phillips Hue • Sonus • Roku • Z-Wave
  • 9. UPNP • It is a set of protocols that permits networked devices to seamlessly discover each other's and interoperate • Started by Microsoft in late 1900s • UPnP Forum formed in Oct. 1999 • Established as ISO/IEC standard in Dec. 2008 • Popular on printers, network routers, STBs, game consoles, smart TVs, etc
  • 10. UPNP DEVICE CATEGORIES • Audio/Video – Media Server – Media Renderer • Device Management – Manageable Device • Home Automation – Solar Protection Blind – Digital Security Camera – HVAC – Lighting Controls • Networking – Internet Gateway – WLAN Access Point • Printer – Printer Enhanced – Printer Basic • Remote Access – RA Client – RA Server – RA Discovery Agent • Remoting – Remote UI Client – Remote UI Server • Scanner – Scanner • Sensor Management – Sensor Management • Telephony – Telephony
  • 12. DLNA • Series of guidelines for sharing digital media on top of UPnP • Established by Sony in Jun. 2003 • More restrictive than UPnP – Containers (file formats) – CODECs • 3 Billion certified devices on the market
  • 13. DIAL (DISCOVERY AND LAUNCH) • Protocol that targets 2nd screen experiences • Published by Netflix and YouTube in Dec. 2012 • Relies on UPnP and HTTP – DIAL Service Discovery – DIAL REST Service (XML/JSON) • Supported by: – Amazon Fire TV – Google Chromecast – Roku – TiVo
  • 14. SOUNDS A LOT OF WORK…
  • 15. ATWOOD'S LAW Any application that can be written in JavaScript, will eventually be written in JavaScript.
  • 17. W3C NETWORK SERVICE DISCOVERY (NSD) • Device APIs Working Group – http://www.w3.org/TR/discovery-api/ – First draft: Oct 2012 – Current draft: Feb 2014 • Experimental builds – Opera: http://bit.ly/1ih2MHL – WebKit by Canon Labs: http://bit.ly/1ih2UqA • Intent to implement – Firefox: http://bit.ly/1ih32Xj – Blink: http://bit.ly/1ih3eWA – WebKit: WTF!? • Concerns about security
  • 22. BRIDGING THE GAP BROWSER VIRTUAL NSD WEBSOCKETS HUB WEBSOCKETS SSDP TCP UDP
  • 26. BEWARE OF CORS • Setting a custom header in a XHR request triggers preflight • Preflight consists in an OPTIONS request sent by the browser before sending the actual request in order to determine if it is safe to continue • Guess how many devices handle OPTIONS? • Use a proxy to prevent issues
  • 28. BEYOND NSD • W3C – Device APIs WG: http://bit.ly/1ih3sgf – Web and TV IG: http://bit.ly/1ih3x3B – 2° Screen Presentation CG: http://bit.ly/1ih3BAe – Web of Things (WoT): http://bit.ly/1ih3Efo • UPnP+ – Protocol bridging • UPnP Cloud – Devices connect to a cloud server using XMPP • webinos – Built with OSS and leverages web technologies – Focus on TV, automotive, health and home automation
  • 29. GO AND HACK YOUR HOME!

Editor's Notes

  1. Home automation is the residential extension of building automation. It is automation of the home, housework or household activity. Home automation may include centralized control of lighting, HVAC (heating, ventilation and air conditioning), appliances, security locks of gates and doors and other systems, to provide improved convenience, comfort, energy efficiency and security. Home automation for the elderly and disabled can provide increased quality of life for persons who might otherwise require caregivers or institutional care. The popularity of home automation has been increasing greatly in recent years due to much higher affordability and simplicity through smartphone and tablet connectivity. The concept of the "Internet of Things" has tied in closely with the popularization of home automation.
  2. Home automation is the residential extension of building automation. It is automation of the home, housework or household activity. Home automation may include centralized control of lighting, HVAC (heating, ventilation and air conditioning), appliances, security locks of gates and doors and other systems, to provide improved convenience, comfort, energy efficiency and security. Home automation for the elderly and disabled can provide increased quality of life for persons who might otherwise require caregivers or institutional care. The popularity of home automation has been increasing greatly in recent years due to much higher affordability and simplicity through smartphone and tablet connectivity. The concept of the "Internet of Things" has tied in closely with the popularization of home automation.
  3. Home automation is the residential extension of building automation. It is automation of the home, housework or household activity. Home automation may include centralized control of lighting, HVAC (heating, ventilation and air conditioning), appliances, security locks of gates and doors and other systems, to provide improved convenience, comfort, energy efficiency and security. Home automation for the elderly and disabled can provide increased quality of life for persons who might otherwise require caregivers or institutional care. The popularity of home automation has been increasing greatly in recent years due to much higher affordability and simplicity through smartphone and tablet connectivity. The concept of the "Internet of Things" has tied in closely with the popularization of home automation.
  4. The UPnP architecture allows device-to-device networking of consumer electronics, mobile devices, personal computers, and networked home appliances. It is a distributed, open architecture protocol based on established standards such as the Internet Protocol Suite (TCP/IP), HTTP, XML, and SOAP. UPnP control points (CPs) are devices which use UPnP protocols to control UPnP controlled devices (CDs).[1] The UPnP architecture supports zero configuration networking. A UPnP compatible device from any vendor can dynamically join a network, obtain an IP address, announce its name, advertise or convey its capabilities upon request, and learn about the presence and capabilities of other devices. Dynamic Host Configuration Protocol (DHCP) and Domain Name System (DNS) servers are optional and are only used if they are available on the network. Devices can disconnect from the network automatically without leaving state information.
  5. Digital Living Network Alliance
  6. addressing advertise architecture control description device DIAL discovery DLNA DNS eventing GENA HTML HTTP HTTPMU HTTPU IP multicast presentation protocol SDK services SOAP SSDP TCP UDP unicast UPnP URL XML Zeroconf
  7. /Users/roliv14/Music/iTunes/iTunes Media/Music/Compilations/The Very Best of Soft Cell/02 Tainted Love (7_ Single).m4a /Users/roliv14/Movies/big_buck_bunny_480p_stereo.avi
  8. ARM11@700MHz GPU 512 MB RAM 2 USBs 1 Ethernet HDMI/RCA GPIO
  9. ARM Cortex-M3 @ 180 MHz 32MB RAM 32MB Flash WiFi GPIO Micro USB or battery power
  10. /Users/roliv14/Music/iTunes/iTunes Media/Music/Compilations/The Very Best of Soft Cell/02 Tainted Love (7_ Single).m4a /Users/roliv14/Movies/big_buck_bunny_480p_stereo.avi