PROTOTYPING FOR IOT @ERICASTANLEY #OPENIOT #PROTOTYPING - - PowerPoint PPT Presentation

prototyping for iot
SMART_READER_LITE
LIVE PREVIEW

PROTOTYPING FOR IOT @ERICASTANLEY #OPENIOT #PROTOTYPING - - PowerPoint PPT Presentation

DUKE UNIVERSITY CS 408, FALL 2016 PROTOTYPING FOR IOT @ERICASTANLEY #OPENIOT #PROTOTYPING PROTOTYPING FOR NOT ABOUT ME Engineer, entrepreneur, advocate Women Who Code Heavy Research Background Telepresence Sensor


slide-1
SLIDE 1

PROTOTYPING FOR IOT

DUKE UNIVERSITY CS 408, FALL 2016

@ERICASTANLEY #OPENIOT #PROTOTYPING

slide-2
SLIDE 2

PROTOTYPING FOR NOT

ABOUT ME

▸ Engineer, entrepreneur, advocate ▸ Women Who Code ▸ Heavy Research Background ▸ Telepresence ▸ Sensor Optimization ▸ Simulations ▸ Virtual/ Augmented Reality ▸ AI & Computer Vision

slide-3
SLIDE 3

PROTOTYPING FOR NOT

ABOUT ME

▸ Engineer, entrepreneur, advocate ▸ Women Who Code ▸ Over 80,000 women globally ▸ Over 20 Countries

slide-4
SLIDE 4

3 Years of Women Who Code Atlanta

slide-5
SLIDE 5

ADVOCACY

WOMEN WHO CODE ATLANTA

▸ Beginner’s Dev Workshop ▸ AT&T Women in Tech Hackathon ▸ Global Village Project Career Day ▸ Ryan Cameron Leadership Academy

Coding Workshop

▸ The Loft - Coding Internship for Girls ▸ Google Sandbox Atlanta ▸ Speakers Workshop ▸ Career Workshops

▸ Conference Scholarships ▸ DevNexus ▸ CONNECT.TECH ▸ Great Wide Open ▸ All Things Open ▸ Women Interactive Creative

Technology Festival

▸ All the Nerdy Ladies Holiday Party ▸ International Women’s Day ▸ 1st All-Women Hackathon

slide-6
SLIDE 6

PROTOTYPING FOR NOT

ABOUT ME

▸ Engineer, entrepreneur, advocate ▸ Women Who Code ▸ Heavy Research Background ▸ Telepresence ▸ Sensor Optimization ▸ Simulations ▸ Virtual/ Augmented Reality ▸ AI & Computer Vision

slide-7
SLIDE 7

@ericastanley #openIoT #prototyping

PROTOTYPING FOR IOT

OUR CONNECTED FUTURE?

slide-8
SLIDE 8

@ericastanley #openIoT #prototyping

PROTOTYPING FOR IOT

LIFE IN 2025…

  • Self regulating clothes based on external temperature and my meeting

schedule (temperature of conference rooms and colleagues offices)

  • Medicines dispersed on my real time health needs—measured using

self-powered sensors on my skin

slide-9
SLIDE 9

@ericastanley #openIoT #prototyping

INTERNET OF THINGS

LIFE IN 2025…

  • My office furniture detects stress in the body and relieves by adjusting—

monitors history of how long I’ve been sitting and reminds me to take a walk

  • My meeting notes not only include action items but context information

about meeting dynamics, contribution patterns, emotional response to decisions, etc.

slide-10
SLIDE 10

@ericastanley #openIoT #prototyping

PROTOTYPING FOR IOT

WHAT IS THE INTERNET OF THINGS? (IOT)

slide-11
SLIDE 11

@ericastanley #openIoT #prototyping

PROTOTYPING FOR IOT

HOW DO CONNECTED DEVICES WORK?

slide-12
SLIDE 12

@ericastanley #openIoT #prototyping

PROTOTYPING FOR IOT

CONNECTED DEVICES

slide-13
SLIDE 13

@ericastanley #openIoT #prototyping

PROTOTYPING FOR IOT

TECHNOLOGIES POWERING THE INTERNET OF THINGS

▸ Networking ▸ Microcontrollers ▸ Sensors ▸ Cloud Computing & Big Data ▸ Auxiliary Technologies ▸ Computer Vision ▸ Augmented Reality ▸ Machine Learning & Artificial Intelligence

slide-14
SLIDE 14

@ericastanley #openIoT #prototyping

PROTOTYPING FOR IOT

NETWORKING FOR IOT

slide-15
SLIDE 15

@ericastanley #openIoT #prototyping

PROTOTYPING FOR IOT

NETWORKING COMPARISON FOR CONNECTED DEVICES

slide-16
SLIDE 16

@ericastanley #openIoT #prototyping

PROTOTYPING FOR IOT

TECHNOLOGIES POWERING THE INTERNET OF THINGS

▸ Networking ▸ Microcontrollers ▸ Sensors ▸ Cloud Computing & Big Data ▸ Auxiliary Technologies ▸ Computer Vision ▸ Augmented Reality ▸ Machine Learning & Artificial Intelligence

slide-17
SLIDE 17

@ericastanley #openIoT #prototyping

PROTOTYPING FOR IOT

OPEN SOURCE MICROCONTROLLERS

Arduino Yún ($70) Arduino Lilypad ($22) BeagleBone Black ($54.95) Particle Photon ($19) Particle Electron ($39) Tessel 2 ($35)

slide-18
SLIDE 18

@ericastanley #openIoT #prototyping

PROTOTYPING FOR IOT

TECHNOLOGIES POWERING THE INTERNET OF THINGS

▸ Networking ▸ Microcontrollers ▸ Sensors ▸ Cloud Computing & Big Data ▸ Auxiliary Technologies ▸ Computer Vision ▸ Augmented Reality ▸ Machine Learning & Artificial Intelligence

slide-19
SLIDE 19

@ericastanley #openIoT #prototyping

PROTOTYPING FOR IOT

slide-20
SLIDE 20

@ericastanley #openIoT #prototyping

PROTOTYPING FOR IOT

COMMON SENSORS USED IN CONNECTED DEVICES

slide-21
SLIDE 21

@ericastanley #openIoT #prototyping

PROTOTYPING FOR IOT

WHERE TO GET SENSORS

▸ Spark Fun ▸ Particle ▸ Several included with Maker Kit ▸ Tessel ▸ Sold separately as modules

slide-22
SLIDE 22

@ericastanley #openIoT #prototyping

PROTOTYPING FOR IOT

TECHNOLOGIES POWERING THE INTERNET OF THINGS

▸ Networking ▸ Microcontrollers ▸ Sensors ▸ Cloud Computing & Big Data ▸ Auxiliary Technologies ▸ Computer Vision ▸ Augmented Reality ▸ Machine Learning & Artificial Intelligence

slide-23
SLIDE 23

@ericastanley #openIoT #prototyping

PROTOTYPING FOR IOT

OPEN SOURCE CLOUD SOLUTIONS FOR IOT

▸ OpenStack - (IaaS) ▸ OpenShift from RedHat - (PaaS) ▸ Apache CloudStack - (IaaS) ▸ Java based ▸ Open Nebula (IaaS) ▸ Particle Cloud Platform (PaaS) ▸ Over the air device updates ▸ Rest API ▸ Secure, scalable, real-time messaging

slide-24
SLIDE 24

@ericastanley #openIoT #prototyping

PROTOTYPING FOR IOT

OTHER SOFTWARE TOOLS

▸ Eclipse IoT ▸ Provides open source implementations for IoT protocols

such as CoAP, ETSI SmartM2M, MQTT or LwM2M.

▸ Huginn ▸ Open source, rails-based “IFTTT” ▸ SiteWhere ▸ Contiki - Open Source OS for IoT

slide-25
SLIDE 25

PROTOTYPING FOR NOT

TECH CHALLENGES

▸ Connectivity & Processing vs Power

Consumption

▸ Fragmentation ▸ Privacy and Security

One does not simply build the Internet of things

slide-26
SLIDE 26

@ericastanley #openIoT #prototyping

PROTOTYPING FOR IOT

SECURITY GUIDELINES

▸ Understand your vulnerabilities ▸ Build security from the ground up ▸ Start with the OS ▸ Build an End-to-End Security Solution

slide-27
SLIDE 27

@ericastanley #openIoT #prototyping

PROTOTYPING FOR IOT

SECURITY RECOMMENDATIONS FOR SOFTWARE DEVELOPERS

▸ Use updated APIs/ frameworks/ protocols ▸ Secure APIs should be used to strengthen applications ▸ Ex: TrueVault healthcare APIs for HIPAA reqs ▸ Proactively test your apps ▸ Be aware of security flaws ▸ Use secure enterprise infrastructure to store and distribute software ▸ Be aware of industry-specific risks and guidelines

slide-28
SLIDE 28

@ericastanley #openIoT #prototyping

PROTOTYPING FOR IOT

DDOS ATTACK OCTOBER 2016

▸ Ensure all default passwords are changed to strong passwords.

(Default usernames and passwords for most devices can easily be found on the Internet, making devices with default passwords extremely vulnerable.)

▸ Update IoT devices with security patches as soon as patches become

available.

▸ Disable Universal Plug and Play (UPnP) on routers unless absolutely

necessary.

▸ Purchase IoT devices from companies with a reputation for providing

secure devices.

slide-29
SLIDE 29

@ericastanley #openIoT #prototyping

PROTOTYPING FOR IOT

DESIGN CONSIDERATIONS: SCREENS, TOUCH/ POINTER

slide-30
SLIDE 30

@ericastanley #openIoT #prototyping

PROTOTYPING FOR IOT

DESIGN CONSIDERATIONS: LOOK MA, NO SCREENS!

slide-31
SLIDE 31

@ericastanley #openIoT #prototyping

PROTOTYPING FOR IOT

INTERACTION MODELS

slide-32
SLIDE 32

@ericastanley #openIoT #prototyping

PROTOTYPING FOR IOT

OUI INTERACTION MODEL

slide-33
SLIDE 33

@ericastanley #openIoT #prototyping

PROTOTYPING FOR IOT

OUI INTERACTION MODEL

slide-34
SLIDE 34

@ericastanley #openIoT #prototyping

PROTOTYPING FOR IOT

VOICE INTERFACES: UNDERLYING COMPONENTS

slide-35
SLIDE 35

@ericastanley #openIoT #prototyping

PROTOTYPING FOR IOT

VOICE INTERFACES: UNDERLYING COMPONENTS

slide-36
SLIDE 36

@ericastanley #openIoT #prototyping

PROTOTYPING FOR IOT

VOICE INTERFACES: UNDERLYING COMPONENTS

slide-37
SLIDE 37

@ericastanley #openIoT #prototyping

PROTOTYPING FOR IOT

VOICE INTERFACES: BEST PRACTICES

▸ When to use: ▸ Any use case where touch interaction is not desired and user's visual focus

is low

▸ In-car interaction and navigation ▸ Eyes and hands are occupied ▸ Medical environments requiring sterility ▸ Security ▸ Powerful mechanism for identifying user ▸ Shared experiences

slide-38
SLIDE 38

@ericastanley #openIoT #prototyping

PROTOTYPING FOR IOT

OUI INTERACTION MODEL

slide-39
SLIDE 39

@ericastanley #openIoT #prototyping

PROTOTYPING FOR IOT

MANIPULATION BASED INTERFACES

▸ Natural real-world intuitive interactions (NUI) ▸ 2 Main types ▸ Deformable ▸ Non-deformable ▸ screen based touch ▸ texting ▸ tangible handling

slide-40
SLIDE 40

@ericastanley #openIoT #prototyping

PROTOTYPING FOR IOT

MANIPULATION BASED INTERFACES: DEFORMABLE (OUI)

▸ Input interactions that users perform using freehand

manipulations that change the shape of a deformable

  • bject or display

▸ Rely on skills users already have and use in real world

activities

slide-41
SLIDE 41

@ericastanley #openIoT #prototyping

PROTOTYPING FOR IOT

MANIPULATION BASED INTERFACES: BEST PRACTICES

▸ When to Use: ▸ Physical form compliments/ enhances function ▸ Precision/ accuracy is desired ▸ Public places where voice or gesture tracking would be

difficult

slide-42
SLIDE 42

@ericastanley #openIoT #prototyping

PROTOTYPING FOR IOT

MANIPULATION BASED INTERFACES: BEST PRACTICES

▸ When to Avoid: ▸ Hands are likely occupied ▸ Driving/ Cycling ▸ Situations requiring sterility ▸ Medical situations ▸ Serving/ Eating food

slide-43
SLIDE 43

@ericastanley #openIoT #prototyping

PROTOTYPING FOR IOT

MANIPULATION BASED INTERFACES: BEST PRACTICES

▸ In 2D spaces, ensure at least a 15mm surface radius for interactive

elements and at least 5mm between

▸ In 3D spaces, consider visual feedback (ex. depth) for movable

elements

▸ Consider haptic feedback when visual feedback isn't available/ desired ▸ Respond to every contact with immediate feedback and fluid

transitions

▸ Enable basic, direct manipulation ▸ Avoid secondary controls, when possible

slide-44
SLIDE 44

@ericastanley #openIoT #prototyping

PROTOTYPING FOR IOT

OUI INTERACTION MODEL

slide-45
SLIDE 45

@ericastanley #openIoT #prototyping

PROTOTYPING FOR IOT

GESTURE BASED INTERFACES

▸ In-Air Gestures (OUI) ▸ Like Speech, one of the oldest forms of human-human communication ▸ Used to issue a command or communicate with devices ▸ Must design system to capture gestures ▸ Hand movements ▸ Facial Expressions ▸ Body Motion ▸ Eye Tracking

slide-46
SLIDE 46

@ericastanley #openIoT #prototyping

PROTOTYPING FOR IOT

GESTURE BASED INTERFACES

▸ When to Use ▸ Interaction with large displays ▸ Situations requiring sterility ▸ When to Avoid ▸ Public places ▸ Interactions where errors can have life-threatening

impact

slide-47
SLIDE 47

@ericastanley #openIoT #prototyping

PROTOTYPING FOR IOT

GESTURE BASED INTERFACES: BEST PRACTICES

▸ Avoid time-based gestures as it delays power users ▸ Clearly communicate how to start and stop a gesture ▸ Handle false gestures, positive & negative

slide-48
SLIDE 48

@ericastanley #openIoT #prototyping

PROTOTYPING FOR IOT

RECOMMENDED INTERACTION PATTERN: MICRO INTERACTIONS

Contained product moments that revolve around a single use case and have one main task.

slide-49
SLIDE 49

@ericastanley #openIoT #prototyping

PROTOTYPING FOR IOT

RAPID PROTOTYPING FOR IOT

▸ Mix of Design and

Technology in Thinking and Making

▸ Fundamental to creating

new features and products

▸ Applies even more to IoT,

since hardware is usually involved

slide-50
SLIDE 50

@ericastanley #openIoT #prototyping

PROTOTYPING FOR IOT

BUILDING YOUR TEAM

▸ Overlapping skills in small, cross-

functional team

▸ Skills/ Roles ▸ UX/ UI ▸ Software/Embedded Engineer ▸ Electrical Engineer ▸ Hackathons great way to quickly build

cross-functional teams

▸ Look for hackathons focusing on IoT/

Wearables

slide-51
SLIDE 51

@ericastanley #openIoT #prototyping

PROTOTYPING FOR IOT

LEAN COLLABORATIVE PROCESS

slide-52
SLIDE 52

@ericastanley #openIoT #prototyping

PROTOTYPING FOR IOT

LEAN + DESIGN THINKING = DESIGN SPRINTS

slide-53
SLIDE 53

@ericastanley #openIoT #prototyping

PROTOTYPING FOR IOT

DESIGN SPRINTS EXPLAINED

slide-54
SLIDE 54

@ericastanley #openIoT #prototyping

PROTOTYPING FOR IOT

DESIGN SPRINTS EXPLAINED

slide-55
SLIDE 55

@ericastanley #openIoT #prototyping

PROTOTYPING FOR IOT

DESIGN SPRINTS: CRITICAL PATH DIAGRAM

  • Highlights the story most critical to the challenge at hand.
  • Where does your customer start, where should they end up and what needs to happen

along the way?

  • Allows inspection of key inventive aspect much sooner in the prototyping process
slide-56
SLIDE 56

@ericastanley #openIoT #prototyping

PROTOTYPING FOR IOT

DESIGN SPRINTS EXPLAINED

slide-57
SLIDE 57

@ericastanley #openIoT #prototyping

PROTOTYPING FOR IOT

DESIGN SPRINTS EXPLAINED

slide-58
SLIDE 58

@ericastanley #openIoT #prototyping

PROTOTYPING FOR IOT

DESIGN SPRINTS EXPLAINED

slide-59
SLIDE 59

@ericastanley #openIoT #prototyping

PROTOTYPING FOR IOT

DESIGN SPRINT APPLIED TO CONNECTED DEVICE PROTOTYPING

UNDERSTAND DEFINE

IxD Engineering

Identify potential design & component solutions Develop use case / create user flows

DIVERGE

slide-60
SLIDE 60

@ericastanley #openIoT #prototyping

PROTOTYPING FOR IOT

DESIGN SPRINT APPLIED TO CONNECTED DEVICE PROTOTYPING

UNDERSTAND DIVERGE DECIDE DEFINE

IxD Engineering

Identify potential design & component solutions Breadboarding/ conceptual hardware testing Develop use case / create user flows Develop wireframes

slide-61
SLIDE 61

@ericastanley #openIoT #prototyping

PROTOTYPING FOR IOT

IDENTIFYING POTENTIAL DESIGN & COMPONENT SOLUTIONS:

▸ Open source electronic design automation software ▸ Aids in collaborating on designs with engineers and non-engineers alike ▸ Easy to create PCB layout and share with a manufacturer

HARDWARE PROTOTYPING WITH FRITZING

slide-62
SLIDE 62

@ericastanley #openIoT #prototyping

PROTOTYPING FOR IOT

DESIGN SPRINT APPLIED TO CONNECTED DEVICE PROTOTYPING

UNDERSTAND DIVERGE DECIDE DEFINE

IxD Engineering

Identify potential design & component solutions Breadboarding/ conceptual hardware testing Develop use case / create user flows Develop wireframes

slide-63
SLIDE 63

@ericastanley #openIoT #prototyping

PROTOTYPING FOR IOT

DESIGN SPRINT APPLIED TO CONNECTED DEVICE PROTOTYPING

UNDERSTAND DIVERGE DECIDE DEFINE

IxD Engineering

Identify potential design & component solutions Breadboarding/ conceptual hardware testing Develop use case / create user flows Develop wireframes Data Modeling

slide-64
SLIDE 64

@ericastanley #openIoT #prototyping

PROTOTYPING FOR IOT

DESIGN SPRINT APPLIED TO CONNECTED DEVICE PROTOTYPING

UNDERSTAND DIVERGE DECIDE LOW FIDELITY PROTOTYPE DEFINE

IxD Engineering

Identify potential design & component solutions Breadboarding/ conceptual hardware testing Alpha prototype hardware & initial firmware Develop use case / create user flows Develop wireframes Visual design / specification Data Modeling

slide-65
SLIDE 65

@ericastanley #openIoT #prototyping

PROTOTYPING FOR IOT

DESIGN SPRINT APPLIED TO CONNECTED DEVICE PROTOTYPING

UNDERSTAND DIVERGE DECIDE LOW FIDELITY PROTOTYPE DEFINE UI DEVELOPMENT

IxD Engineering

Identify potential design & component solutions Breadboarding/ conceptual hardware testing Alpha prototype hardware & initial firmware Develop use case / create user flows Develop wireframes Visual design / specification Data Modeling

slide-66
SLIDE 66

@ericastanley #openIoT #prototyping

PROTOTYPING FOR IOT

DESIGN SPRINT APPLIED TO CONNECTED DEVICE PROTOTYPING

UNDERSTAND DIVERGE DECIDE LOW FIDELITY PROTOTYPE DEFINE VALIDATE UI DEVELOPMENT

IxD Engineering

Identify potential design & component solutions Breadboarding/ conceptual hardware testing Alpha prototype hardware & initial firmware Develop use case / create user flows Develop wireframes Visual design / specification Data Modeling

slide-67
SLIDE 67

@ericastanley #openIoT #prototyping

PROTOTYPING FOR IOT

3D PRINTING FOR HIGH FIDELITY PROTOTYPES

▸ Use a decent 3D printer ▸ <100 micron resolution, preferably 50 micron ▸ prints numerous material types, including flexible materials ▸ Test Loop ▸ Identify candidates for field testing. ▸ Iterate and make any necessary physical design changes

quickly.

slide-68
SLIDE 68

@ericastanley #openIoT #prototyping

PROTOTYPING FOR IOT

APPLICATIONS OF CONNECTED DEVICE DESIGN SPRINT

▸ Hardware MVP ▸ Hackathons and hardware projects involving teams ▸ Adding features to an existing connected device

slide-69
SLIDE 69

@ericastanley #openIoT #prototyping

PROTOTYPING FOR IOT

QUESTIONS?

MAYBE…