SlideShare ist ein Scribd-Unternehmen logo
1 von 80
Downloaden Sie, um offline zu lesen
www.spiria.com
Smart Homes Made
Smarter With Javascript
Presented By
JOEL LORD
Ottawa Javascript
November 9th, 2016
@ottawa_js
@joel__lord
JOEL LORD
About me
• Javascript Junkie
• Tinkerer
• Technology enthusiast
@ottawa_js
@joel__lord
AGENDA Wink Ecosystem
Macros (or Robots)
IFTTT
Introducing WinkJS
Demos
Q&A
@ottawa_js
@joel__lord
I <3 GADGETS
About me, eh?
State of the Market
HOME AUTOMATION
@ottawa_js
@joel__lord
The Home automation market
• There are many options out there !
@joel__lord
@ottawa_js
@joel__lord
The Home automation market
• There are many options out there !
• Nest
@joel__lord
@ottawa_js
@joel__lord
The Home automation market
• There are many options out there !
• Nest
• GE
@joel__lord
@ottawa_js
@joel__lord
The Home automation market
• There are many options out there !
• Nest
• GE
• Philips
@joel__lord
@ottawa_js
@joel__lord
The Home automation market
• There are many options out there !
• Nest
• GE
• Philips
• Insteon
@joel__lord
@ottawa_js
@joel__lord
The Home automation market
• There are many options out there !
• Nest
• GE
• Philips
• Insteon
• Samsung SmartThings
@joel__lord
@ottawa_js
@joel__lord
The Home automation market
• There are many options out there !
• Nest
• GE
• Philips
• Insteon
• Samsung SmartThings
• Belkin Wemo
@joel__lord
@ottawa_js
@joel__lord
The Home automation market
• There are many options out there !
• Nest
• GE
• Philips
• Insteon
• Samsung SmartThings
• Belkin Wemo
• iRobot
@joel__lord
@ottawa_js
@joel__lord
The Home automation market
• There are many options out there !
• Nest
• GE
• Philips
• Insteon
• Samsung SmartThings
• Belkin Wemo
• iRobot
• Schlage
@joel__lord
@ottawa_js
@joel__lord
The Home automation market
• There are many options out there !
• Nest
• GE
• Philips
• Insteon
• Samsung SmartThings
• Belkin Wemo
• iRobot
• Schlage
• Lutron
@joel__lord
@ottawa_js
@joel__lord
The Home automation market
• There are many options out there !
• Nest
• GE
• Philips
• Insteon
• Samsung SmartThings
• Belkin Wemo
• iRobot
• Schlage
• Lutron
• Zigbee
@joel__lord
@ottawa_js
@joel__lord
The Home automation market
• There are many options out there !
• Nest
• GE
• Philips
• Insteon
• Samsung SmartThings
• Belkin Wemo
• iRobot
• Schlage
• Lutron
• Zigbee
• Z-wave
@joel__lord
@ottawa_js
@joel__lord
The Home automation market
• There are many options out there !
• Nest
• GE
• Philips
• Insteon
• Samsung SmartThings
• Belkin Wemo
• iRobot
• Schlage
• Lutron
• Zigbee
• Z-wave
• X10
@joel__lord
@ottawa_js
@joel__lord
The Home automation market
• There are many options out there !
• Nest
• GE
• Philips
• Insteon
• Samsung SmartThings
• Belking Wemo
• iRobot
• Schlage
• Lutron
• Zigbee
• Z-wave
• X10
@joel__lord
@ottawa_js
@joel__lord
The home automation market
• Each device has it’s own app
• Soon, your phone is a mess and you can’t control your devices
@joel__lord
@ottawa_js
@joel__lord
Wink ecosystem
• Connect various devices from various providers within a single
application
11/10/16 21
@joel__lord
@ottawa_js
@joel__lord
Wink ecosystem
• Connect various devices from various providers within a single
application
• But even better…
11/10/16 22
@joel__lord
@ottawa_js
@joel__lord
Wink ecosystem
• Connect various devices from various providers within a single
application
• But even better… They have an API
11/10/16 23
@joel__lord
@ottawa_js
@joel__lord
Wink ecosystem
• Connect various devices from various providers within a single
application
• But even better… They have an API
• It’s not what you do with it that counts, it’s what you can do
11/10/16 24
@joel__lord
@ottawa_js
@joel__lord
Wink ecosystem
11/10/16
@joel__lord
25
@ottawa_js
@joel__lord
Wink ecosystem
11/10/16
@joel__lord
26
@ottawa_js
@joel__lord
Wink ecosystem
11/10/16
@joel__lord
27
@ottawa_js
@joel__lord
Wink demo
11/10/16 28
@joel__lord
@ottawa_js
@joel__lord
Wink demo
11/10/16
@joel__lord
29
• Pretty limited
@ottawa_js
@joel__lord
Wink demo
11/10/16
@joel__lord
30
• Pretty limited
• Robots are the Wink equivalent to macros
Wink Robots
MAKE IT SMARTER
@ottawa_js
@joel__lord
Wink demo
11/10/16
@joel__lord
32
@ottawa_js
@joel__lord
Wink demo
11/10/16
@joel__lord
33
@ottawa_js
@joel__lord
Wink demo
11/10/16
@joel__lord
34
@ottawa_js
@joel__lord
Wink demo
11/10/16
@joel__lord
35
@ottawa_js
@joel__lord
Wink demo
11/10/16
@joel__lord
36
@ottawa_js
@joel__lord
Wink demo
11/10/16
@joel__lord
37
@ottawa_js
@joel__lord
Wink demo
11/10/16
@joel__lord
38
IFTTT Integration
MAKE IT SMARTER
@ottawa_js
@joel__lord
Let’s make it smarter
11/10/16
@joel__lord
40
• Integration with Amazon Echo
• Integration with IFTTT
– Either using the Maker Channel
– Or using a third party
@ottawa_js
@joel__lord
Introducing IFTTT
11/10/16
@joel__lord
41
• IFTTT is a free web-based service that allows users to create chains
of simple conditional statements, called "recipes", which are
triggered based on changes to other web services such as Gmail,
Facebook, Instagram, and Pinterest. IFTTT is an abbreviation of "If
This Then That"
•
-Wikipedia
@ottawa_js
@joel__lord
IFTTT demo
11/10/16
@joel__lord
42
• http://cl.ly/300R1310191F
@ottawa_js
@joel__lord
And even more smart !
11/10/16
@joel__lord
43
• Let’s make it even smarter
• We need more control over our things
@ottawa_js
@joel__lord
And even more smart !
11/10/16
@joel__lord
44
• We need :
– Variables
– Functions
– More third party integrations
Introducing WinkJs
MAKE IT SMARTER
@ottawa_js
@joel__lord
Introducing Winkjs
11/10/16
@joel__lord
46
• REST API
• Uses OAUTH
• More or less standard API objects
@ottawa_js
@joel__lord
Introducing winkjs
11/10/16
@joel__lord
47
• Door Lock object
{
last_reading: {
locked: true
},
desired_state: {
}
}
@ottawa_js
@joel__lord
Introducing winkjs
11/10/16
@joel__lord
48
• Thermostat object
{
last_reading: {
temperature: "18.5",
units: "C"
},
desired_state: {
}
}
@ottawa_js
@joel__lord
Introducing winkjs
11/10/16
@joel__lord
49
• Light Bulb object
{
last_reading: {
brightness: 0.5,
powered: true
},
desired_state: {
}
}
@ottawa_js
@joel__lord
Introducing winkjs
11/10/16
@joel__lord
50
@ottawa_js
@joel__lord
Introducing winkjs
11/10/16
@joel__lord
51
@ottawa_js
@joel__lord
Introducing winkjs
11/10/16
@joel__lord
52
• A simple Hello World
var Wink = require("wink");
@ottawa_js
@joel__lord
Introducing winkjs
11/10/16
@joel__lord
53
• A simple Hello World
var apiCredentials = require("./credentials");
@ottawa_js
@joel__lord
Introducing winkjs
11/10/16
@joel__lord
54
• A simple Hello World
var wink = new Wink(apiCredentials);
@ottawa_js
@joel__lord
Introducing winkjs
11/10/16
@joel__lord
55
• A simple Hello World
wink.on("ready", function() {
});
@ottawa_js
@joel__lord
Introducing winkjs
11/10/16
@joel__lord
56
• A simple Hello World
var light = wink.getDeviceByName("Light1");
@ottawa_js
@joel__lord
Introducing winkjs
11/10/16
@joel__lord
57
• A simple Hello World
light.on();
@ottawa_js
@joel__lord
Introducing winkjs
11/10/16
@joel__lord
58
• A simple Hello World
light.off();
@ottawa_js
@joel__lord
Introducing winkjs
11/10/16
@joel__lord
59
• A simple Hello World
light.toggle();
IT’S CODING TIME!
LET’S GET SERIOUS
IT’S CODING TIME!
LET’S GET SERIOUS
@ottawa_js
@joel__lord
Introducing winkjs
11/10/16
@joel__lord
62
• Integrating with other objects
var Wink = require("../lib");
@ottawa_js
@joel__lord
Introducing winkjs
11/10/16
@joel__lord
63
• Integrating with other objects
var apiCredentials = require("./credentials");
@ottawa_js
@joel__lord
Introducing winkjs
11/10/16
@joel__lord
64
• Integrating with other objects
var wink = new Wink(apiCredentials);
@ottawa_js
@joel__lord
Introducing winkjs
11/10/16
@joel__lord
65
• Integrating with other objects
wink.on("ready", function() {
});
@ottawa_js
@joel__lord
Introducing winkjs
11/10/16
@joel__lord
66
• Integrating with other objects
var thermostat = wink.getDevicesByType(wink.deviceTypes.THERMOSTAT)[0];
@ottawa_js
@joel__lord
Introducing winkjs
11/10/16
@joel__lord
67
• Integrating with other objects
console.log("Temp: " + thermostat.getTemperature(thermostat.units.CELSIUS) + " °C");
console.log("Temp: " + thermostat.getTemperature(thermostat.units.FAHRENHEIT) + " F");
@ottawa_js
@joel__lord
Introducing winkjs
11/10/16
@joel__lord
68
• Here comes Johnny !
@ottawa_js
@joel__lord
Introducing winkjs
11/10/16
@joel__lord
69
• Integrating with Johnny-Five
var five = require("johnny-five");
var board = new five.Board();
var button;
board.on("ready", function() {
button = new five.Button(2);
button.on("down", function() {
//Button was pressed, do something !
});
});
@ottawa_js
@joel__lord
Introducing winkjs
11/10/16
@joel__lord
70
• Integrating with Johnny-Five
var five = require("johnny-five");
@ottawa_js
@joel__lord
Introducing winkjs
11/10/16
@joel__lord
71
• Integrating with Johnny-Five
var board = new five.Board();
@ottawa_js
@joel__lord
Introducing winkjs
11/10/16
@joel__lord
72
• Integrating with Johnny-Five
var button;
@ottawa_js
@joel__lord
Introducing winkjs
11/10/16
@joel__lord
73
• Integrating with Johnny-Five
board.on("ready", function() {
});
@ottawa_js
@joel__lord
Introducing winkjs
11/10/16
@joel__lord
74
• Integrating with Johnny-Five
button = new five.Button(2);
@ottawa_js
@joel__lord
Introducing winkjs
11/10/16
@joel__lord
75
• Integrating with Johnny-Five
button.on("down", function() {
//Button was pressed, do something !
});
@ottawa_js
@joel__lord
How about Security?
11/10/16
@joel__lord
76
• You have to be intentional
@ottawa_js
@joel__lord
How about Security?
11/10/16
@joel__lord
77
• You have to be intentional
• Keep in mind that you are exposing your home lights to hackers
@ottawa_js
@joel__lord
How about Security?
11/10/16
@joel__lord
78
• You have to be intentional
• Keep in mind that you are exposing your home lights to hackers
• Or worse… your front door lock.
@ottawa_js
@joel__lord
How about Security?
11/10/16
@joel__lord
79
• Killing a Jeep on the highway:
https://www.wired.com/2015/07/hackers-remotely-kill-jeep-
highway/
• Hacking smart door bells:
http://thehackernews.com/2016/01/doorbell-hacking-wifi-
pasword.html
DOCUMENT CONFIDENTIEL, TOUT DROIT RÉSERVÉ
PRESENTED BY
The End !
Questions ?
JOEL LORD
November 2016
TWITTER: @JOEL__LORD
GITHUB: JOELLORD

Weitere ähnliche Inhalte

Ähnlich wie Smart Homes Made Smarter With Javascript

Coolhunting - ThinkVis 2012
Coolhunting - ThinkVis 2012 Coolhunting - ThinkVis 2012
Coolhunting - ThinkVis 2012
Steve Lock
 
Thibaut rouffineau
Thibaut rouffineauThibaut rouffineau
Thibaut rouffineau
apps4allru
 

Ähnlich wie Smart Homes Made Smarter With Javascript (20)

Coolhunting - ThinkVis 2012
Coolhunting - ThinkVis 2012 Coolhunting - ThinkVis 2012
Coolhunting - ThinkVis 2012
 
Thibaut rouffineau
Thibaut rouffineauThibaut rouffineau
Thibaut rouffineau
 
Internet of things - انترنت الأشياء
Internet of things - انترنت الأشياءInternet of things - انترنت الأشياء
Internet of things - انترنت الأشياء
 
The new Apple TV and the tvOS
The new Apple TV and the tvOSThe new Apple TV and the tvOS
The new Apple TV and the tvOS
 
AT&T IoT Hackathon - Seattle
AT&T IoT Hackathon - SeattleAT&T IoT Hackathon - Seattle
AT&T IoT Hackathon - Seattle
 
Html5 Apps
Html5 AppsHtml5 Apps
Html5 Apps
 
Don't fear our new robot overlords – A new way to test on mobile
Don't fear our new robot overlords – A new way to test on mobileDon't fear our new robot overlords – A new way to test on mobile
Don't fear our new robot overlords – A new way to test on mobile
 
Griffey: Gadgets in the Library
Griffey: Gadgets in the LibraryGriffey: Gadgets in the Library
Griffey: Gadgets in the Library
 
The Immobile Web
The Immobile WebThe Immobile Web
The Immobile Web
 
Contruindo Robots com Java Embedded Suite, Raspberry PI, Arduino e Things API
Contruindo Robots com Java Embedded Suite, Raspberry PI, Arduino e Things APIContruindo Robots com Java Embedded Suite, Raspberry PI, Arduino e Things API
Contruindo Robots com Java Embedded Suite, Raspberry PI, Arduino e Things API
 
Let's Get Physical
Let's Get PhysicalLet's Get Physical
Let's Get Physical
 
Mike King - Futureproofing your SEO
Mike King - Futureproofing your SEOMike King - Futureproofing your SEO
Mike King - Futureproofing your SEO
 
Mike King - Futureproofing your SEO
Mike King - Futureproofing your SEOMike King - Futureproofing your SEO
Mike King - Futureproofing your SEO
 
Openings keynote Webweek Groningen industrie transformatie door de cloud iot ...
Openings keynote Webweek Groningen industrie transformatie door de cloud iot ...Openings keynote Webweek Groningen industrie transformatie door de cloud iot ...
Openings keynote Webweek Groningen industrie transformatie door de cloud iot ...
 
A Smart Home to Call Your Own
A Smart Home to Call Your OwnA Smart Home to Call Your Own
A Smart Home to Call Your Own
 
EIA 2015 Validating Revenue Model Assumptions
EIA 2015 Validating Revenue Model AssumptionsEIA 2015 Validating Revenue Model Assumptions
EIA 2015 Validating Revenue Model Assumptions
 
Drupal South - IoT Commerce
Drupal South - IoT CommerceDrupal South - IoT Commerce
Drupal South - IoT Commerce
 
Drupal South - IoT Commerce
Drupal South - IoT CommerceDrupal South - IoT Commerce
Drupal South - IoT Commerce
 
Automating with the Internet of Things
Automating with the Internet of ThingsAutomating with the Internet of Things
Automating with the Internet of Things
 
Interoperability with Standardless IoT (Global IoT Day Wien)
Interoperability with Standardless IoT (Global IoT Day Wien)Interoperability with Standardless IoT (Global IoT Day Wien)
Interoperability with Standardless IoT (Global IoT Day Wien)
 

Mehr von Joel Lord

Mehr von Joel Lord (20)

From Ceasar Cipher To Quantum Cryptography
From Ceasar Cipher To Quantum CryptographyFrom Ceasar Cipher To Quantum Cryptography
From Ceasar Cipher To Quantum Cryptography
 
I Don't Care About Security (And Neither Should You)
I Don't Care About Security (And Neither Should You)I Don't Care About Security (And Neither Should You)
I Don't Care About Security (And Neither Should You)
 
I Don't Care About Security (And Neither Should You)
I Don't Care About Security (And Neither Should You)I Don't Care About Security (And Neither Should You)
I Don't Care About Security (And Neither Should You)
 
I Don't Care About Security (And Neither Should You)
I Don't Care About Security (And Neither Should You)I Don't Care About Security (And Neither Should You)
I Don't Care About Security (And Neither Should You)
 
Forgot Password? Yes I Did!
Forgot Password? Yes I Did!Forgot Password? Yes I Did!
Forgot Password? Yes I Did!
 
I Don't Care About Security (And Neither Should You)
I Don't Care About Security (And Neither Should You)I Don't Care About Security (And Neither Should You)
I Don't Care About Security (And Neither Should You)
 
Mot de passe oublié? Absolument!
Mot de passe oublié? Absolument!Mot de passe oublié? Absolument!
Mot de passe oublié? Absolument!
 
Asynchronicity: concurrency. A tale of
Asynchronicity: concurrency. A tale ofAsynchronicity: concurrency. A tale of
Asynchronicity: concurrency. A tale of
 
Learning Machine Learning
Learning Machine LearningLearning Machine Learning
Learning Machine Learning
 
Forgot Password? Yes I Did!
Forgot Password? Yes I Did!Forgot Password? Yes I Did!
Forgot Password? Yes I Did!
 
WTH is a JWT
WTH is a JWTWTH is a JWT
WTH is a JWT
 
I Don't Care About Security (And Neither Should You)
I Don't Care About Security (And Neither Should You)I Don't Care About Security (And Neither Should You)
I Don't Care About Security (And Neither Should You)
 
Forgot Password? Yes I Did!
Forgot Password? Yes I Did!Forgot Password? Yes I Did!
Forgot Password? Yes I Did!
 
I Don't Care About Security (And Neither Should You)
I Don't Care About Security (And Neither Should You)I Don't Care About Security (And Neither Should You)
I Don't Care About Security (And Neither Should You)
 
WTH is a JWT
WTH is a JWTWTH is a JWT
WTH is a JWT
 
Asynchonicity: concurrency. A tale of
Asynchonicity: concurrency. A tale ofAsynchonicity: concurrency. A tale of
Asynchonicity: concurrency. A tale of
 
I Don't Care About Security
I Don't Care About Security I Don't Care About Security
I Don't Care About Security
 
I Don't Care About Security (And Neither Should You)
I Don't Care About Security (And Neither Should You)I Don't Care About Security (And Neither Should You)
I Don't Care About Security (And Neither Should You)
 
I Don't Care About Security (And Neither Should You)
I Don't Care About Security (And Neither Should You)I Don't Care About Security (And Neither Should You)
I Don't Care About Security (And Neither Should You)
 
Secure your SPA with Auth0
Secure your SPA with Auth0Secure your SPA with Auth0
Secure your SPA with Auth0
 

Kürzlich hochgeladen

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Kürzlich hochgeladen (20)

ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 

Smart Homes Made Smarter With Javascript