SlideShare a Scribd company logo
@girlie_mac
Prototyping IoT
with JavaScript
Tomomi Imura (@girlie_mac)
Prototyping IoT
with JavaScript
https://flic.kr/p/8tuc1u by randomliteraturecouncil CC-BY 2.0
Slides: http://goo.
gl/3sPI1F
@girlie_mac
Tomomi is a:
● Front-End Engineer
● Open Web + Tech Advocate
● N00b Hardware Hacker
● Sr. Developer Evangelist at
PubNub
@girlie_mac Source: PLATFORM, data based on Cisco IBSG
Estimate 50B by
2020
non-human/human =
6.58
2003:
non-human/human =
0.08
2015:
non-human/human =
3.47
2008:
non-human/human >= 1
Era of Internet of Things
@girlie_mac
Withings: Smart Body Analyzer
GE Link
Cinder
Sensing Cooker
Nest: Learning
Thermostat
Whistle: Connected pet collar
Amazon
Dash Button
@girlie_mac
Thermostats get Internet!
Bulbs get Internet!
Everything gets Internet!
@girlie_mac
OK, connect
me with
InterWeb...
Srsly, where should I start?
@girlie_mac
Arduino
● MCU-based kit
● Open-Source hardware &
software (IDE)
● The first developer-friendly
boards
@girlie_mac
Arduino
USB PLUG
TO
COMPUTER
EXTERNAL POWER
SOURCE
GPIO DIGITAL PINS
ANALOG PINS
@girlie_mac
LittleBits
@girlie_mac
LittleBits & Arduino at Heart
9V BATTERY
USB PLUG TO COMPUTER
MODULES
@girlie_mac
Arduino-Compatible MCUs
BeagleBone
C.H.I.P
mCookie
Petduino
LinkIt One
@girlie_mac
Tessel
USB PLUGS TO
COMPUTER ETHERNET
MODULES
GPIO DIGITAL PINS
EXTRA USB
PORTS
Pin Modules:
● Accelerometer
● Ambient light
● Servo
● RFID
● GPS
● USB modules,
like camera &
audio
etc...
@girlie_mac
Raspberry Pi
USB TO POWER
SOURCE
TO MONITOR
TO MOUSE
TO KEYBOARD
WI-FI ADAPTER
SD CARD
GPIO DIGITAL PINS
4 EXTRA USB
PORTS
ETHERNET
@girlie_mac
Raspbian OS
@girlie_mac
Programming Raspberry Pi
Pre-installed on RPi:
C / C++
@girlie_mac
Programming MCU with Node.js
@girlie_mac
Programming Pi with Node.js
Download & install Node.js (v0.12.6) with node-
arm:
$ wget http://node-arm.herokuapp.
com/node_archive_armhf.deb
$ sudo dpkg -i node_archive_armhf.deb
You may not want the
latest node.js!
@girlie_mac
LED:
Hello World of
Hardware
@girlie_mac
Circuit
5V (Arduino)
LED
@girlie_mac
Ohm’s Law & Resistors
R =
V - Vs f
I
source voltage (V) forward voltage (V) (LED
voltage drop)
current thru the LED (A)
resistance (Ω)
@girlie_mac
Ohm’s Law & Resistors
R =
5 - 1.9
0.02
source voltage (V) forward voltage (V) (LED
voltage drop)
current thru the LED (A)
resistance (Ω)
= 155Ω
@girlie_mac
Circuit
GND
Anode
(longer leg)
Cathode
5V
@girlie_mac
Pin 1 3
Making It Programmable
@girlie_mac
Johnny-Five
● JavaScript robotics framework
● Works with Arduino-compatible
Boards
● IO plugins for more platform
supports
● http://johnny-five.io/
Woot!
@girlie_mac
Blinking LED
var five = require('johnny-five');
var board = new five.Board();
board.on('ready', function() {
var led = new five.Led(13); // Create an instance
led.blink(500); // "blink" in 500ms on-off intervals
});
Pin number
@girlie_mac
Prototyping Smart Stuff
@girlie_mac
Internet of Things
Bluetooth
………
@girlie_mac
Internet of Things w/ Data Stream
Send & Receive Data to/from Data
Center via Internet real-time!
@girlie_mac
Streaming
Data?
@girlie_mac
vs. Streaming Media
Listening/watching “real-time”
● Music
● Videos
● Live webcasts
There is no file to download,
just a continuous stream of data!
@girlie_mac
Streaming Data w/ PubNub
No media, just data!
● Small data (no buffering!)
● Publishing/Subscribing in
true realtime (low latency!)
● Broadcast, unicast,
multiplex
@girlie_mac
CDN vs. DSN
Content Delivery & Data Stream Networks are similar:
● Deliver contents (or data) to a user based on the
geographic locations
● Copy contents (or data) to network at diff locations
● Provide protection for large traffic surges
Difference: Static contents vs. realtime data (“Data in
Motion”)
@girlie_mac
PubNub Data Stream Network (DSN)
@girlie_mac
Realtime Interactivity of Today
Two-way communication to/from every device in the world!
Request/Response (REST) Data Streams
@girlie_mac
PubNub Use-Cases
◼ Chat
◼ Multi-player games
◼ Vehicle location tracking
◼ Financial data
◼ Collaborative apps
◼ IoT, Home automation
@girlie_mac
PubNub Use-Cases: Who uses?
◼ Chat (Periscope)
◼ Multi-player games (DeNA, PocketGems)
◼ Vehicle location tracking (Lyft, GetTaxi)
◼ Financial data (TD Ameritrade, SAP)
◼ Collaborative dev tools (Balsamiq, CodePen)
◼ IoT, Home automation (Insteon, Logitech)
@girlie_mac
These hearts too!
The messages
are
sent/received
via yours truly,
PubNub!
Presence (= How
many users online
now?)
@girlie_mac
@girlie_mac
Streaming Data between Devices
Data streaming among devices w/ PubNub
@girlie_mac
Using the Same Circuit
@girlie_mac
Sending Data from browser
var pubnub = PUBNUB.init({
subscribe_key: 'sub-c-...',
publish_key: 'pub-c-...'
});
function lightOn() {
pubnub.publish({
channel: 'led',
message: {blink: true},
callback: function(m) {console.log(m);},
error: function(err) {console.log(err);}
});
}
document.querySelector('button')
.addEventListener('click', lightOn);
button click
<script src="http://cdn.pubnub.
com/pubnub-3.7.15.min.js"></script>
@girlie_mac
Receiving Data to MCU
var pubnub = require('pubnub').init({
subscribe_key: 'sub-c-...',
publish_key: 'pub-c-...'
});
pubnub.subscribe({
channel: 'led',
callback: function(m) {
if(m.blink) {
// blink LED w/ Johnny-Five
}
}
});
led.pulse();
@girlie_mac
Demo
Try control my Arduino from your browser:
http://codepen.io/girliemac/pen/jqeqje
@girlie_mac
Prototyping Hue-clone w/ RGB LED
Common cathode LED
R
G
B
GND
@girlie_mac
@girlie_mac
Prototyping Hue-clone w/ RGB LED
{'red':215,
'green':50,
'blue':255}
publish data
subscribe data
Software UI Physical Output
@girlie_mac
Sending Data from browser
redInput.addEventListener('change', function(e){
publishUpdate({color: 'red', brightness: +this.value});
}, false);
function publishUpdate(data) {
pubnub.publish({
channel: 'hue',
message: data
});
}
Send the red value to PubNub to
tell the MCU to reflect the
change!
the value has
changed! Publish the
new value!
@girlie_mac
Receiving Data to LED
pubnub.subscribe({
channel: 'hue',
callback: function(m) {
if(led) {
r = (m.color === 'red') ? m.brightness : r;
g = (m.color === 'green') ? m.brightness : g;
b = (m.color === 'blue') ? m.brightness : b;
led.color({red: r, blue: b, green: g});
}
}
});
to the GPIO pins
that connect to
LED anodes
@girlie_mac
KittyCam
@girlie_mac
@girlie_mac
KittyCam in Node.js
1. Detect motion (Johnny-Five IR.Motion obj)
2. Take photos (Raspistill, command line tool)
3. Cat facial detection (KittyDar)
4. Store the photos in Cloudinary
5. Publish the data to PubNub
6. Stream on web (subscribe the data from
PubNub)
@girlie_mac
PIR Sensor
@girlie_mac
PIR Sensor > Run Camera
board.on('ready', function() {
// Create a new `motion` hardware instance.
var motion = new five.Motion(7); //a PIR is wired on pin 7 (GPIO 4)
// 'calibrated' occurs once at the beginning of a session
motion.on('calibrated', function() {console.log('calibrated');});
motion.on('motionstart', function() { // Motion detected
// Run raspistill command to take a photo with the camera module
var filename = 'photo/image_'+i+'.jpg';
var args = ['-w', '320', '-h', '240', '-o', filename, '-t', '1'];
var spawn = child_process.spawn('raspistill', args);
...
motion detected!
Take a photo!
@girlie_mac
Processing Photo
...
spawn.on('exit', function(code) {
if((/jpg$/).test(filename)) {
var imgPath = __dirname + '/' + filename;
// Child process: read the file and detect cats with KittyDar
var args = [imgPath];
var fork = child_process.fork(__dirname+'/detectCatsFromPhoto.js');
fork.send(args);
// the child process is completed
fork.on('message', function(base64) {
if(base64) {
// Send to cloud storage
}
}); ...
var kittydar = require
('kittydar');
a cat detected!
@girlie_mac
github.com/girliemac/RPi-KittyCam
@girlie_mac
https://twit.tv/shows/new-screen-savers/episodes/19
@girlie_mac
Thank you!
@girlie_mac
github.com/girliemac
speakerdeck.com/girlie_mac
pubnub.com
github.com/pubnub

More Related Content

Similar to [Mobile+Web DevCon] Prototyping Internet of Things with JavaScript and PubNub

Fanug - Pragmatic Windows Phone Developer
Fanug - Pragmatic Windows Phone DeveloperFanug - Pragmatic Windows Phone Developer
Fanug - Pragmatic Windows Phone DeveloperSam Basu
 
How the Internet of Things (IoT) Works for Business
How the Internet of Things (IoT) Works for BusinessHow the Internet of Things (IoT) Works for Business
How the Internet of Things (IoT) Works for Business
10x Nation
 
WP7 & Azure
WP7 & AzureWP7 & Azure
WP7 & Azure
Sam Basu
 
Timeline Chat Android Project
Timeline Chat Android ProjectTimeline Chat Android Project
Timeline Chat Android Project
Some Aditya Mandal
 
Appcelerator iPhone/iPad Dev Con 2010 San Diego, CA
Appcelerator iPhone/iPad Dev Con 2010 San Diego, CAAppcelerator iPhone/iPad Dev Con 2010 San Diego, CA
Appcelerator iPhone/iPad Dev Con 2010 San Diego, CA
Jeff Haynie
 
iPhone/iPad Development with Titanium
iPhone/iPad Development with TitaniumiPhone/iPad Development with Titanium
iPhone/iPad Development with TitaniumAxway Appcelerator
 
Interledger Workshop Berlin (1 June 2017)
Interledger Workshop Berlin (1 June 2017)Interledger Workshop Berlin (1 June 2017)
Interledger Workshop Berlin (1 June 2017)
Interledger
 
stanford_graph-learning_workshop.pdf
stanford_graph-learning_workshop.pdfstanford_graph-learning_workshop.pdf
stanford_graph-learning_workshop.pdf
AdeIndriawan1
 
Secure protocol design for decentralized world
Secure protocol design for decentralized worldSecure protocol design for decentralized world
Secure protocol design for decentralized world
Hacken
 
Hardware hackers - hacking appliances with netduino + xamarin
Hardware hackers - hacking appliances with netduino + xamarinHardware hackers - hacking appliances with netduino + xamarin
Hardware hackers - hacking appliances with netduino + xamarin
bryan costanich
 
IoT: Entering an Era of Perfect Information
IoT: Entering an Era of Perfect InformationIoT: Entering an Era of Perfect Information
IoT: Entering an Era of Perfect Information
Christopher Mohritz
 
Easy path to machine learning (Spring 2020)
Easy path to machine learning (Spring 2020)Easy path to machine learning (Spring 2020)
Easy path to machine learning (Spring 2020)
wesley chun
 
Perfect Information - How IoT empowers you to know anything, anytime, anywhere
Perfect Information - How IoT empowers you to know anything, anytime, anywherePerfect Information - How IoT empowers you to know anything, anytime, anywhere
Perfect Information - How IoT empowers you to know anything, anytime, anywhere
10x Nation
 
Python for Big Data Analytics
Python for Big Data AnalyticsPython for Big Data Analytics
Python for Big Data Analytics
Edureka!
 
The Fine Art of Time Travelling - Implementing Event Sourcing - Andrea Saltar...
The Fine Art of Time Travelling - Implementing Event Sourcing - Andrea Saltar...The Fine Art of Time Travelling - Implementing Event Sourcing - Andrea Saltar...
The Fine Art of Time Travelling - Implementing Event Sourcing - Andrea Saltar...
ITCamp
 
SenchaCon 2016: An Ext JS Dashboard for IoT Data - Dan Gallo
SenchaCon 2016: An Ext JS Dashboard for IoT Data - Dan Gallo   SenchaCon 2016: An Ext JS Dashboard for IoT Data - Dan Gallo
SenchaCon 2016: An Ext JS Dashboard for IoT Data - Dan Gallo
Sencha
 
Getting more out of Matplotlib with GR
Getting more out of Matplotlib with GRGetting more out of Matplotlib with GR
Getting more out of Matplotlib with GR
Josef Heinen
 
Geo-Django Python
Geo-Django PythonGeo-Django Python
Geo-Django Python
Dave Michelson
 
Big Data: The Magic to Attain New Heights
Big Data:  The Magic to Attain New HeightsBig Data:  The Magic to Attain New Heights
Big Data: The Magic to Attain New Heights
TEST Huddle
 

Similar to [Mobile+Web DevCon] Prototyping Internet of Things with JavaScript and PubNub (20)

Fanug - Pragmatic Windows Phone Developer
Fanug - Pragmatic Windows Phone DeveloperFanug - Pragmatic Windows Phone Developer
Fanug - Pragmatic Windows Phone Developer
 
How the Internet of Things (IoT) Works for Business
How the Internet of Things (IoT) Works for BusinessHow the Internet of Things (IoT) Works for Business
How the Internet of Things (IoT) Works for Business
 
WP7 & Azure
WP7 & AzureWP7 & Azure
WP7 & Azure
 
Timeline Chat Android Project
Timeline Chat Android ProjectTimeline Chat Android Project
Timeline Chat Android Project
 
Appcelerator iPhone/iPad Dev Con 2010 San Diego, CA
Appcelerator iPhone/iPad Dev Con 2010 San Diego, CAAppcelerator iPhone/iPad Dev Con 2010 San Diego, CA
Appcelerator iPhone/iPad Dev Con 2010 San Diego, CA
 
iPhone/iPad Development with Titanium
iPhone/iPad Development with TitaniumiPhone/iPad Development with Titanium
iPhone/iPad Development with Titanium
 
Interledger Workshop Berlin (1 June 2017)
Interledger Workshop Berlin (1 June 2017)Interledger Workshop Berlin (1 June 2017)
Interledger Workshop Berlin (1 June 2017)
 
stanford_graph-learning_workshop.pdf
stanford_graph-learning_workshop.pdfstanford_graph-learning_workshop.pdf
stanford_graph-learning_workshop.pdf
 
Secure protocol design for decentralized world
Secure protocol design for decentralized worldSecure protocol design for decentralized world
Secure protocol design for decentralized world
 
RaymondResume2015v5
RaymondResume2015v5RaymondResume2015v5
RaymondResume2015v5
 
Hardware hackers - hacking appliances with netduino + xamarin
Hardware hackers - hacking appliances with netduino + xamarinHardware hackers - hacking appliances with netduino + xamarin
Hardware hackers - hacking appliances with netduino + xamarin
 
IoT: Entering an Era of Perfect Information
IoT: Entering an Era of Perfect InformationIoT: Entering an Era of Perfect Information
IoT: Entering an Era of Perfect Information
 
Easy path to machine learning (Spring 2020)
Easy path to machine learning (Spring 2020)Easy path to machine learning (Spring 2020)
Easy path to machine learning (Spring 2020)
 
Perfect Information - How IoT empowers you to know anything, anytime, anywhere
Perfect Information - How IoT empowers you to know anything, anytime, anywherePerfect Information - How IoT empowers you to know anything, anytime, anywhere
Perfect Information - How IoT empowers you to know anything, anytime, anywhere
 
Python for Big Data Analytics
Python for Big Data AnalyticsPython for Big Data Analytics
Python for Big Data Analytics
 
The Fine Art of Time Travelling - Implementing Event Sourcing - Andrea Saltar...
The Fine Art of Time Travelling - Implementing Event Sourcing - Andrea Saltar...The Fine Art of Time Travelling - Implementing Event Sourcing - Andrea Saltar...
The Fine Art of Time Travelling - Implementing Event Sourcing - Andrea Saltar...
 
SenchaCon 2016: An Ext JS Dashboard for IoT Data - Dan Gallo
SenchaCon 2016: An Ext JS Dashboard for IoT Data - Dan Gallo   SenchaCon 2016: An Ext JS Dashboard for IoT Data - Dan Gallo
SenchaCon 2016: An Ext JS Dashboard for IoT Data - Dan Gallo
 
Getting more out of Matplotlib with GR
Getting more out of Matplotlib with GRGetting more out of Matplotlib with GR
Getting more out of Matplotlib with GR
 
Geo-Django Python
Geo-Django PythonGeo-Django Python
Geo-Django Python
 
Big Data: The Magic to Attain New Heights
Big Data:  The Magic to Attain New HeightsBig Data:  The Magic to Attain New Heights
Big Data: The Magic to Attain New Heights
 

More from Tomomi Imura

ECMeowScript - What's New in JavaScript Explained with Cats (August 14th, 2020)
ECMeowScript - What's New in JavaScript Explained with Cats (August 14th, 2020)ECMeowScript - What's New in JavaScript Explained with Cats (August 14th, 2020)
ECMeowScript - What's New in JavaScript Explained with Cats (August 14th, 2020)
Tomomi Imura
 
[POST.Dev Japan] VS Code で試みる開発体験の向上
[POST.Dev Japan] VS Code で試みる開発体験の向上[POST.Dev Japan] VS Code で試みる開発体験の向上
[POST.Dev Japan] VS Code で試みる開発体験の向上
Tomomi Imura
 
[Japan M365 Dev UG] Teams Toolkit v4 を使ってみよう!
[Japan M365 Dev UG] Teams Toolkit v4 を使ってみよう![Japan M365 Dev UG] Teams Toolkit v4 を使ってみよう!
[Japan M365 Dev UG] Teams Toolkit v4 を使ってみよう!
Tomomi Imura
 
[#DevRelAsia Keynote 2020] Developer Centric Design for Better Experience
[#DevRelAsia Keynote 2020] Developer Centric Design for Better Experience[#DevRelAsia Keynote 2020] Developer Centric Design for Better Experience
[#DevRelAsia Keynote 2020] Developer Centric Design for Better Experience
Tomomi Imura
 
Engineering career is not a single ladder! - Alternative pathway to develope...
Engineering career is not a single ladder!  - Alternative pathway to develope...Engineering career is not a single ladder!  - Alternative pathway to develope...
Engineering career is not a single ladder! - Alternative pathway to develope...
Tomomi Imura
 
Being a Tech Speaker with Global Mindset
Being a Tech Speaker with Global MindsetBeing a Tech Speaker with Global Mindset
Being a Tech Speaker with Global Mindset
Tomomi Imura
 
#TinySpec2019 Slack Dev Meetup in Osaka & Tokyo (in Japanese)
#TinySpec2019 Slack Dev Meetup in Osaka & Tokyo (in Japanese)#TinySpec2019 Slack Dev Meetup in Osaka & Tokyo (in Japanese)
#TinySpec2019 Slack Dev Meetup in Osaka & Tokyo (in Japanese)
Tomomi Imura
 
Slack × Twilio - Uniquely Powering Communication
Slack × Twilio - Uniquely Powering CommunicationSlack × Twilio - Uniquely Powering Communication
Slack × Twilio - Uniquely Powering Communication
Tomomi Imura
 
[2019 Serverless Summit] Building Serverless Slack Chatbot on IBM Cloud Func...
 [2019 Serverless Summit] Building Serverless Slack Chatbot on IBM Cloud Func... [2019 Serverless Summit] Building Serverless Slack Chatbot on IBM Cloud Func...
[2019 Serverless Summit] Building Serverless Slack Chatbot on IBM Cloud Func...
Tomomi Imura
 
[2019 south bay meetup] Building more contextual message with Block Kit
[2019 south bay meetup] Building more contextual message with Block Kit[2019 south bay meetup] Building more contextual message with Block Kit
[2019 south bay meetup] Building more contextual message with Block Kit
Tomomi Imura
 
[TechWorldSummit Stockholm 2019] Building Bots for Human with Conversational ...
[TechWorldSummit Stockholm 2019] Building Bots for Human with Conversational ...[TechWorldSummit Stockholm 2019] Building Bots for Human with Conversational ...
[TechWorldSummit Stockholm 2019] Building Bots for Human with Conversational ...
Tomomi Imura
 
Building a Bot with Slack Platform and IBM Watson
Building a Bot with Slack Platform and IBM WatsonBuilding a Bot with Slack Platform and IBM Watson
Building a Bot with Slack Platform and IBM Watson
Tomomi Imura
 
[日本語] Slack Bot Workshop + Intro Block Kit
[日本語] Slack Bot Workshop + Intro Block Kit[日本語] Slack Bot Workshop + Intro Block Kit
[日本語] Slack Bot Workshop + Intro Block Kit
Tomomi Imura
 
[DevRelCon Tokyo 2019] Developer Experience Matters
[DevRelCon Tokyo 2019] Developer Experience Matters [DevRelCon Tokyo 2019] Developer Experience Matters
[DevRelCon Tokyo 2019] Developer Experience Matters
Tomomi Imura
 
[DevRel Summit 2018] Because we all learn things differently
[DevRel Summit 2018] Because we all learn things differently[DevRel Summit 2018] Because we all learn things differently
[DevRel Summit 2018] Because we all learn things differently
Tomomi Imura
 
[DevRelCon July 2018] Because we all learn things differently
[DevRelCon July 2018] Because we all learn things differently[DevRelCon July 2018] Because we all learn things differently
[DevRelCon July 2018] Because we all learn things differently
Tomomi Imura
 
[Japanese] Developing a bot for your workspace 翻訳ボットを作る!
[Japanese] Developing a bot for your workspace 翻訳ボットを作る![Japanese] Developing a bot for your workspace 翻訳ボットを作る!
[Japanese] Developing a bot for your workspace 翻訳ボットを作る!
Tomomi Imura
 
[Forward4 Webinar 2016] Building IoT Prototypes w/ Raspberry Pi
[Forward4 Webinar 2016] Building IoT Prototypes w/ Raspberry Pi [Forward4 Webinar 2016] Building IoT Prototypes w/ Raspberry Pi
[Forward4 Webinar 2016] Building IoT Prototypes w/ Raspberry Pi
Tomomi Imura
 
Future of the Web with Conversational Interface
Future of the Web with Conversational InterfaceFuture of the Web with Conversational Interface
Future of the Web with Conversational Interface
Tomomi Imura
 
[DevRelCon Tokyo 2017] Creative Technical Content for Better Developer Experi...
[DevRelCon Tokyo 2017] Creative Technical Content for Better Developer Experi...[DevRelCon Tokyo 2017] Creative Technical Content for Better Developer Experi...
[DevRelCon Tokyo 2017] Creative Technical Content for Better Developer Experi...
Tomomi Imura
 

More from Tomomi Imura (20)

ECMeowScript - What's New in JavaScript Explained with Cats (August 14th, 2020)
ECMeowScript - What's New in JavaScript Explained with Cats (August 14th, 2020)ECMeowScript - What's New in JavaScript Explained with Cats (August 14th, 2020)
ECMeowScript - What's New in JavaScript Explained with Cats (August 14th, 2020)
 
[POST.Dev Japan] VS Code で試みる開発体験の向上
[POST.Dev Japan] VS Code で試みる開発体験の向上[POST.Dev Japan] VS Code で試みる開発体験の向上
[POST.Dev Japan] VS Code で試みる開発体験の向上
 
[Japan M365 Dev UG] Teams Toolkit v4 を使ってみよう!
[Japan M365 Dev UG] Teams Toolkit v4 を使ってみよう![Japan M365 Dev UG] Teams Toolkit v4 を使ってみよう!
[Japan M365 Dev UG] Teams Toolkit v4 を使ってみよう!
 
[#DevRelAsia Keynote 2020] Developer Centric Design for Better Experience
[#DevRelAsia Keynote 2020] Developer Centric Design for Better Experience[#DevRelAsia Keynote 2020] Developer Centric Design for Better Experience
[#DevRelAsia Keynote 2020] Developer Centric Design for Better Experience
 
Engineering career is not a single ladder! - Alternative pathway to develope...
Engineering career is not a single ladder!  - Alternative pathway to develope...Engineering career is not a single ladder!  - Alternative pathway to develope...
Engineering career is not a single ladder! - Alternative pathway to develope...
 
Being a Tech Speaker with Global Mindset
Being a Tech Speaker with Global MindsetBeing a Tech Speaker with Global Mindset
Being a Tech Speaker with Global Mindset
 
#TinySpec2019 Slack Dev Meetup in Osaka & Tokyo (in Japanese)
#TinySpec2019 Slack Dev Meetup in Osaka & Tokyo (in Japanese)#TinySpec2019 Slack Dev Meetup in Osaka & Tokyo (in Japanese)
#TinySpec2019 Slack Dev Meetup in Osaka & Tokyo (in Japanese)
 
Slack × Twilio - Uniquely Powering Communication
Slack × Twilio - Uniquely Powering CommunicationSlack × Twilio - Uniquely Powering Communication
Slack × Twilio - Uniquely Powering Communication
 
[2019 Serverless Summit] Building Serverless Slack Chatbot on IBM Cloud Func...
 [2019 Serverless Summit] Building Serverless Slack Chatbot on IBM Cloud Func... [2019 Serverless Summit] Building Serverless Slack Chatbot on IBM Cloud Func...
[2019 Serverless Summit] Building Serverless Slack Chatbot on IBM Cloud Func...
 
[2019 south bay meetup] Building more contextual message with Block Kit
[2019 south bay meetup] Building more contextual message with Block Kit[2019 south bay meetup] Building more contextual message with Block Kit
[2019 south bay meetup] Building more contextual message with Block Kit
 
[TechWorldSummit Stockholm 2019] Building Bots for Human with Conversational ...
[TechWorldSummit Stockholm 2019] Building Bots for Human with Conversational ...[TechWorldSummit Stockholm 2019] Building Bots for Human with Conversational ...
[TechWorldSummit Stockholm 2019] Building Bots for Human with Conversational ...
 
Building a Bot with Slack Platform and IBM Watson
Building a Bot with Slack Platform and IBM WatsonBuilding a Bot with Slack Platform and IBM Watson
Building a Bot with Slack Platform and IBM Watson
 
[日本語] Slack Bot Workshop + Intro Block Kit
[日本語] Slack Bot Workshop + Intro Block Kit[日本語] Slack Bot Workshop + Intro Block Kit
[日本語] Slack Bot Workshop + Intro Block Kit
 
[DevRelCon Tokyo 2019] Developer Experience Matters
[DevRelCon Tokyo 2019] Developer Experience Matters [DevRelCon Tokyo 2019] Developer Experience Matters
[DevRelCon Tokyo 2019] Developer Experience Matters
 
[DevRel Summit 2018] Because we all learn things differently
[DevRel Summit 2018] Because we all learn things differently[DevRel Summit 2018] Because we all learn things differently
[DevRel Summit 2018] Because we all learn things differently
 
[DevRelCon July 2018] Because we all learn things differently
[DevRelCon July 2018] Because we all learn things differently[DevRelCon July 2018] Because we all learn things differently
[DevRelCon July 2018] Because we all learn things differently
 
[Japanese] Developing a bot for your workspace 翻訳ボットを作る!
[Japanese] Developing a bot for your workspace 翻訳ボットを作る![Japanese] Developing a bot for your workspace 翻訳ボットを作る!
[Japanese] Developing a bot for your workspace 翻訳ボットを作る!
 
[Forward4 Webinar 2016] Building IoT Prototypes w/ Raspberry Pi
[Forward4 Webinar 2016] Building IoT Prototypes w/ Raspberry Pi [Forward4 Webinar 2016] Building IoT Prototypes w/ Raspberry Pi
[Forward4 Webinar 2016] Building IoT Prototypes w/ Raspberry Pi
 
Future of the Web with Conversational Interface
Future of the Web with Conversational InterfaceFuture of the Web with Conversational Interface
Future of the Web with Conversational Interface
 
[DevRelCon Tokyo 2017] Creative Technical Content for Better Developer Experi...
[DevRelCon Tokyo 2017] Creative Technical Content for Better Developer Experi...[DevRelCon Tokyo 2017] Creative Technical Content for Better Developer Experi...
[DevRelCon Tokyo 2017] Creative Technical Content for Better Developer Experi...
 

Recently uploaded

一比一原版(IIT毕业证)伊利诺伊理工大学毕业证如何办理
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证如何办理一比一原版(IIT毕业证)伊利诺伊理工大学毕业证如何办理
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证如何办理
aozcue
 
Schematic Diagram MSI MS-7309 - REV 1.0 PDF .pdf
Schematic Diagram MSI MS-7309 - REV 1.0 PDF .pdfSchematic Diagram MSI MS-7309 - REV 1.0 PDF .pdf
Schematic Diagram MSI MS-7309 - REV 1.0 PDF .pdf
nikoloco007
 
一比一原版(UCSB毕业证)圣塔芭芭拉社区大学毕业证如何办理
一比一原版(UCSB毕业证)圣塔芭芭拉社区大学毕业证如何办理一比一原版(UCSB毕业证)圣塔芭芭拉社区大学毕业证如何办理
一比一原版(UCSB毕业证)圣塔芭芭拉社区大学毕业证如何办理
aozcue
 
LORRAINE ANDREI_LEQUIGAN_GOOGLE CALENDAR
LORRAINE ANDREI_LEQUIGAN_GOOGLE CALENDARLORRAINE ANDREI_LEQUIGAN_GOOGLE CALENDAR
LORRAINE ANDREI_LEQUIGAN_GOOGLE CALENDAR
lorraineandreiamcidl
 
欧洲杯冠军-欧洲杯冠军网站-欧洲杯冠军|【​网址​🎉ac123.net🎉​】领先全球的买球投注平台
欧洲杯冠军-欧洲杯冠军网站-欧洲杯冠军|【​网址​🎉ac123.net🎉​】领先全球的买球投注平台欧洲杯冠军-欧洲杯冠军网站-欧洲杯冠军|【​网址​🎉ac123.net🎉​】领先全球的买球投注平台
欧洲杯冠军-欧洲杯冠军网站-欧洲杯冠军|【​网址​🎉ac123.net🎉​】领先全球的买球投注平台
andreassenrolf537
 
加急办理美国南加州大学毕业证文凭毕业证原版一模一样
加急办理美国南加州大学毕业证文凭毕业证原版一模一样加急办理美国南加州大学毕业证文凭毕业证原版一模一样
加急办理美国南加州大学毕业证文凭毕业证原版一模一样
u0g33km
 
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证如何办理
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证如何办理一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证如何办理
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证如何办理
peuce
 
Building a Raspberry Pi Robot with Dot NET 8, Blazor and SignalR - Slides Onl...
Building a Raspberry Pi Robot with Dot NET 8, Blazor and SignalR - Slides Onl...Building a Raspberry Pi Robot with Dot NET 8, Blazor and SignalR - Slides Onl...
Building a Raspberry Pi Robot with Dot NET 8, Blazor and SignalR - Slides Onl...
Peter Gallagher
 

Recently uploaded (8)

一比一原版(IIT毕业证)伊利诺伊理工大学毕业证如何办理
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证如何办理一比一原版(IIT毕业证)伊利诺伊理工大学毕业证如何办理
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证如何办理
 
Schematic Diagram MSI MS-7309 - REV 1.0 PDF .pdf
Schematic Diagram MSI MS-7309 - REV 1.0 PDF .pdfSchematic Diagram MSI MS-7309 - REV 1.0 PDF .pdf
Schematic Diagram MSI MS-7309 - REV 1.0 PDF .pdf
 
一比一原版(UCSB毕业证)圣塔芭芭拉社区大学毕业证如何办理
一比一原版(UCSB毕业证)圣塔芭芭拉社区大学毕业证如何办理一比一原版(UCSB毕业证)圣塔芭芭拉社区大学毕业证如何办理
一比一原版(UCSB毕业证)圣塔芭芭拉社区大学毕业证如何办理
 
LORRAINE ANDREI_LEQUIGAN_GOOGLE CALENDAR
LORRAINE ANDREI_LEQUIGAN_GOOGLE CALENDARLORRAINE ANDREI_LEQUIGAN_GOOGLE CALENDAR
LORRAINE ANDREI_LEQUIGAN_GOOGLE CALENDAR
 
欧洲杯冠军-欧洲杯冠军网站-欧洲杯冠军|【​网址​🎉ac123.net🎉​】领先全球的买球投注平台
欧洲杯冠军-欧洲杯冠军网站-欧洲杯冠军|【​网址​🎉ac123.net🎉​】领先全球的买球投注平台欧洲杯冠军-欧洲杯冠军网站-欧洲杯冠军|【​网址​🎉ac123.net🎉​】领先全球的买球投注平台
欧洲杯冠军-欧洲杯冠军网站-欧洲杯冠军|【​网址​🎉ac123.net🎉​】领先全球的买球投注平台
 
加急办理美国南加州大学毕业证文凭毕业证原版一模一样
加急办理美国南加州大学毕业证文凭毕业证原版一模一样加急办理美国南加州大学毕业证文凭毕业证原版一模一样
加急办理美国南加州大学毕业证文凭毕业证原版一模一样
 
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证如何办理
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证如何办理一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证如何办理
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证如何办理
 
Building a Raspberry Pi Robot with Dot NET 8, Blazor and SignalR - Slides Onl...
Building a Raspberry Pi Robot with Dot NET 8, Blazor and SignalR - Slides Onl...Building a Raspberry Pi Robot with Dot NET 8, Blazor and SignalR - Slides Onl...
Building a Raspberry Pi Robot with Dot NET 8, Blazor and SignalR - Slides Onl...
 

[Mobile+Web DevCon] Prototyping Internet of Things with JavaScript and PubNub