not another *$#@ app: how to avoid iot fatigue

89
Not another *$#@ app: How to avoid IoT fatigue IOTAConf - Oct 21, 2014 - San Francisco, California Ramin Firoozye @raminf

Upload: ramin-firoozye

Post on 02-Jul-2015

788 views

Category:

Technology


1 download

DESCRIPTION

Presentation given at the IOTAConf conference in San Francisco, October 21, 2014.

TRANSCRIPT

Page 1: Not another *$#@ app: How to avoid IoT fatigue

Not another *$#@ app: How to avoid IoT fatigue

IOTAConf - Oct 21, 2014 - San Francisco, California

Ramin Firoozye @raminf

Page 2: Not another *$#@ app: How to avoid IoT fatigue

Today

Page 3: Not another *$#@ app: How to avoid IoT fatigue

Connected Devices

Page 4: Not another *$#@ app: How to avoid IoT fatigue

1 App = 1 Device

SmartThings Nest August Lock FitBit

Page 5: Not another *$#@ app: How to avoid IoT fatigue

Tomorrow(Not too distant)

Page 6: Not another *$#@ app: How to avoid IoT fatigue
Page 7: Not another *$#@ app: How to avoid IoT fatigue

How do we avoid it?

Page 8: Not another *$#@ app: How to avoid IoT fatigue

Root cause:1 App = 1 Device

Page 9: Not another *$#@ app: How to avoid IoT fatigue

How do they Communicate?

Page 10: Not another *$#@ app: How to avoid IoT fatigue

Common Wireless Interfaces

Page 11: Not another *$#@ app: How to avoid IoT fatigue

Bluetooth Low Energy

Bluetooth LE BLE

Page 12: Not another *$#@ app: How to avoid IoT fatigue

Firmware• On device

• Hardware • Logic • Communication

Page 13: Not another *$#@ app: How to avoid IoT fatigue

Application

• On phone • UI/UX • Communication • Internet

Page 14: Not another *$#@ app: How to avoid IoT fatigue

• GATT • Services • Characteristics • Notifications

Page 15: Not another *$#@ app: How to avoid IoT fatigue

Unlock Door

Lock Status

Page 16: Not another *$#@ app: How to avoid IoT fatigue

Unlock Door

UUID: 9D6AB48C-2586-40AA-AF0C-603BC2104B37

Value: 1

Page 17: Not another *$#@ app: How to avoid IoT fatigue

UUID: 116E5AEA-FB61-476F-82DA-ACA537042520

Value: 0

Lock Status

Page 18: Not another *$#@ app: How to avoid IoT fatigue

Firmware• On device

• Hardware • Logic • Communication

Page 19: Not another *$#@ app: How to avoid IoT fatigue

Application

• On phone • UI/UX • Communication • Internet

Page 20: Not another *$#@ app: How to avoid IoT fatigue

Baked-in Protocol

Page 21: Not another *$#@ app: How to avoid IoT fatigue

1 App = 1 Device

Page 22: Not another *$#@ app: How to avoid IoT fatigue

Silo

Page 23: Not another *$#@ app: How to avoid IoT fatigue

Silo

1 App = 1 Device

Device-specific protocol

Page 24: Not another *$#@ app: How to avoid IoT fatigue

Inevitably leading to…

Page 25: Not another *$#@ app: How to avoid IoT fatigue
Page 26: Not another *$#@ app: How to avoid IoT fatigue
Page 27: Not another *$#@ app: How to avoid IoT fatigue

How do we avoid it?

Page 28: Not another *$#@ app: How to avoid IoT fatigue

Decoupling

Page 29: Not another *$#@ app: How to avoid IoT fatigue

Protocol Registry

1. Detect Device

2. Look up protocol on Web

3. Communicate

Decoupling

Page 30: Not another *$#@ app: How to avoid IoT fatigue

Benefits

Page 31: Not another *$#@ app: How to avoid IoT fatigue

Protocol Registry

1. Detect Device

2. Look up protocol on Web

3. Communicate

Page 32: Not another *$#@ app: How to avoid IoT fatigue

#1: Flexible Communications

Page 33: Not another *$#@ app: How to avoid IoT fatigue

#2: Common SDK for all devices

SDK

Protocol Registry

Web

Bluetooth LE

Page 34: Not another *$#@ app: How to avoid IoT fatigue

#3: Public APIs

Protocol Registry

Page 35: Not another *$#@ app: How to avoid IoT fatigue

#4: X-Platform

Protocol Registry

Page 36: Not another *$#@ app: How to avoid IoT fatigue

#5: Generate Firmware

Protocol Registry

Page 37: Not another *$#@ app: How to avoid IoT fatigue

That doesn’t solve the whole problem

Page 38: Not another *$#@ app: How to avoid IoT fatigue

Problem #2

Page 39: Not another *$#@ app: How to avoid IoT fatigue

Buy Device

Install App

Run App

Page 40: Not another *$#@ app: How to avoid IoT fatigue

Next• Week • Month • Year

?

Page 41: Not another *$#@ app: How to avoid IoT fatigue
Page 42: Not another *$#@ app: How to avoid IoT fatigue

there is an existing solution

Turns out…

Page 43: Not another *$#@ app: How to avoid IoT fatigue

Bluetooth Proximity

Page 44: Not another *$#@ app: How to avoid IoT fatigue

Automatic App Launch

Page 45: Not another *$#@ app: How to avoid IoT fatigue

Detect

Launch

Page 46: Not another *$#@ app: How to avoid IoT fatigue

iOS: iBeacon Android: service

Page 47: Not another *$#@ app: How to avoid IoT fatigue

Problem #3

Page 48: Not another *$#@ app: How to avoid IoT fatigue

Many Apps

Page 49: Not another *$#@ app: How to avoid IoT fatigue

One AppWe want

Page 50: Not another *$#@ app: How to avoid IoT fatigue

Application

• On phone • UI/UX • Communication • Internet

Page 51: Not another *$#@ app: How to avoid IoT fatigue

• User Interface • Screen Workflow • Device Communication • Internet • Storage • Analytics • Timers • Addressbook/Calendar • Video/Audio • GPS • Accelerometer • Push Notifications • Protocol Registry

In Reality

Page 52: Not another *$#@ app: How to avoid IoT fatigue

Buy Device

Install App

Run App

Page 53: Not another *$#@ app: How to avoid IoT fatigue

Buy Device

Install App

Run App

Page 54: Not another *$#@ app: How to avoid IoT fatigue

App acquisition model

Page 55: Not another *$#@ app: How to avoid IoT fatigue

Install Apps

Page 56: Not another *$#@ app: How to avoid IoT fatigue

Streamable Apps

Page 57: Not another *$#@ app: How to avoid IoT fatigue

Streamable Apps?

web appsAren’t they

Page 58: Not another *$#@ app: How to avoid IoT fatigue

Web App aren’t native

Page 59: Not another *$#@ app: How to avoid IoT fatigue

• User Interface • Screen Workflow • Device Communication • Internet • Storage • Analytics • Timers • Addressbook/Calendar • Video/Audio • GPS • Accelerometer • Push Notifications • Protocol Registry

Page 60: Not another *$#@ app: How to avoid IoT fatigue

• User Interface • Screen Workflow • Device Communication • Internet • Storage • Analytics • Timers • Addressbook/Calendar • Video/Audio • GPS • Accelerometer • Push Notifications • Protocol Registry

Native

Page 61: Not another *$#@ app: How to avoid IoT fatigue

• User Interface • Screen Workflow • Device Communication • Internet • Storage • Analytics • Timers • Addressbook/Calendar • Video/Audio • GPS • Accelerometer • Push Notifications • Protocol Registry

Web

Page 62: Not another *$#@ app: How to avoid IoT fatigue

Streamable Native Apps

We need…

Page 63: Not another *$#@ app: How to avoid IoT fatigue

Wat!

Page 64: Not another *$#@ app: How to avoid IoT fatigue

• Markup • Script • Stream from Web • But native

Page 65: Not another *$#@ app: How to avoid IoT fatigue

HTML ++

Page 66: Not another *$#@ app: How to avoid IoT fatigue

Post-HTML

Page 67: Not another *$#@ app: How to avoid IoT fatigue

Super-Mega- HTML

Page 68: Not another *$#@ app: How to avoid IoT fatigue

Or something completely different…

Page 69: Not another *$#@ app: How to avoid IoT fatigue

Stream from web

Page 70: Not another *$#@ app: How to avoid IoT fatigue

Talk to Devices

Page 71: Not another *$#@ app: How to avoid IoT fatigue

Native

Page 72: Not another *$#@ app: How to avoid IoT fatigue
Page 73: Not another *$#@ app: How to avoid IoT fatigue

Let’s assume we can do this

Page 74: Not another *$#@ app: How to avoid IoT fatigue

One App

Page 75: Not another *$#@ app: How to avoid IoT fatigue

1 App = Any Device

Page 76: Not another *$#@ app: How to avoid IoT fatigue

Buy Device

Install App

Run App

Page 77: Not another *$#@ app: How to avoid IoT fatigue

Streaming: Dynamic install

Proximity: Automatic launch

Protocol Registry: Talk to any device

Page 78: Not another *$#@ app: How to avoid IoT fatigue

Silo

Page 79: Not another *$#@ app: How to avoid IoT fatigue
Page 80: Not another *$#@ app: How to avoid IoT fatigue

Tomorrow(Not too distant)

Page 81: Not another *$#@ app: How to avoid IoT fatigue

Tomorrow(Not too distant)

Page 82: Not another *$#@ app: How to avoid IoT fatigue

We get…

Page 83: Not another *$#@ app: How to avoid IoT fatigue

Any Device

Approach

Page 84: Not another *$#@ app: How to avoid IoT fatigue

It. Just. Works.

Page 85: Not another *$#@ app: How to avoid IoT fatigue

Not another *$#@ app: How to avoid IoT fatigue

Page 86: Not another *$#@ app: How to avoid IoT fatigue
Page 87: Not another *$#@ app: How to avoid IoT fatigue
Page 88: Not another *$#@ app: How to avoid IoT fatigue

Q&ARamin Firoozye

@raminf

Page 89: Not another *$#@ app: How to avoid IoT fatigue

(c) 2014 - Ramin Firoozye. All Rights Reserved

Image Credits

fatigue: Photo by Josephers - http://flic.kr/p/4PawUM Thankful For My iPhone Applications: Photo by JefferyTurner - http://flic.kr/p/5EFweT Silos: Photo by scriptingnews - http://flic.kr/p/dnTvh IMG_3420: Photo by ravensong75 - http://flic.kr/p/hr5jc The Ring: Photo by praptak - http://flic.kr/p/sq9Dn Unicorn - Gallop: Photo by Rob Boudon - http://flic.kr/p/acn7vE Explosion: Photo by Lnk.Si - http://flic.kr/p/EVWAw mom farted: Photo by Josephers - http://flic.kr/p/aTSjpH unicorn-circle: Photo by trps - http://flic.kr/p/6m34Jd Electronic Graveyard: Photo by factoryseashell - http://flic.kr/p/b9DUH

All device and software trademarks belong to manufacturers and service providers.