Design for failure in the IoT: what could possibly go wrong?

61
Design for failure Claire Rowland / @clurr Designing for the Internet of Things, September 2016 geek.com

Transcript of Design for failure in the IoT: what could possibly go wrong?

Page 2: Design for failure in the IoT: what could possibly go wrong?

•Product/UX strategy consultant

•Specialising in IoT, particularly connected home/energy management

•Lead author of Designing Connected Products

Me…

Page 3: Design for failure in the IoT: what could possibly go wrong?

FAILThe internet loves a

Who Wants to be a Millionaire, image via ranker.com

Page 4: Design for failure in the IoT: what could possibly go wrong?

IoT: a rich source of new fails

Page 5: Design for failure in the IoT: what could possibly go wrong?

3 questions for today

• Why is failure an issue for connected products?

• In what ways can connected products fail?

• What can designers and product developers do to mitigate this?

Page 6: Design for failure in the IoT: what could possibly go wrong?

3 questions for today

• Why is failure an issue for connected products?

• In what ways can connected products fail?

• What can designers and product owners do to mitigate this?

Why is failure an issue for connected products?

Page 7: Design for failure in the IoT: what could possibly go wrong?

We’re putting computing power, machine learning, sensing, actuation and connectivity into ever more objects and systems in the physical world

autonomoustractor.com

grenzebach.com sjm.com august.com

Page 8: Design for failure in the IoT: what could possibly go wrong?

Worst of both worlds!

Hardware

Physical breakage

Software

Always in beta!

Page 9: Design for failure in the IoT: what could possibly go wrong?

In what ways can connected products fail?

Page 10: Design for failure in the IoT: what could possibly go wrong?

3 questions for today

• Why is failure an issue for connected products?

• In what ways can connected products fail?

• What can designers and product owners do to mitigate this?

• Device issues

• Network/service issues

• Business issues

• User issues

• ‘Real world’ issuesknowyourmeme.com

Page 11: Design for failure in the IoT: what could possibly go wrong?

Device issues

Page 12: Design for failure in the IoT: what could possibly go wrong?

Power

•Batteries run out, mains power fails

•All electrical devices can lose power, connected or not

•But new classes of things now need power, when their ancestors did not

•So more things can stop working

“The battery died. I need to charge my wine bottle.” The Verge review of kuvee.com

Page 13: Design for failure in the IoT: what could possibly go wrong?

Hardware

•Electronics can fail

•Mechanical actuators can break

•There are more things not to work

Wikipedia

Page 15: Design for failure in the IoT: what could possibly go wrong?

Onboard software/firmware

•May crash

•May have bugs

•Will need updating, which may cause unintended consequences

•At a certain point older hardware may not support software/firmware updates

•Do you support multiple hardware versions, or do you cut those users loose?

via @internetofshit, Richard Fortune (@iamkey)

Page 16: Design for failure in the IoT: what could possibly go wrong?

Network/service issues

Page 17: Design for failure in the IoT: what could possibly go wrong?

Network

•Lost connectivity

•Moving out of range

•Interference

•Impact depends on system architecture

Argh, the microwaves!

Page 18: Design for failure in the IoT: what could possibly go wrong?

Inappropriate delays for context of use

•Devices can be slow to join the network

•Messages passing between devices/cloud services are subject to latency

•Battery powered devices may only check into the network intermittently

……………………………………………..

“Oh never mind”

[ding dong]

Nicolas Calderone via macsources.com

Page 19: Design for failure in the IoT: what could possibly go wrong?

Online service outages

“We are experiencing some minor difficulties with a 3rd party server.”

petnet.com

Page 20: Design for failure in the IoT: what could possibly go wrong?

Interoperability fails

•3rd party changes hardware, APIs or product features that your product uses

•At best the two stop working together, at worst your product could fail outright as a result

•Getting support with these problems can be tough: who is actually responsible? Google Product Forums

Page 21: Design for failure in the IoT: what could possibly go wrong?

Business issues

Page 22: Design for failure in the IoT: what could possibly go wrong?

•Products which were once one-off purchases now require ongoing services to keep running

•It has to be in someone’s ongoing financial interest to keep them running

•It often isn’t

Business failure, M&A, sunsetting

arlogilbert.com

Page 23: Design for failure in the IoT: what could possibly go wrong?

User issues

Page 24: Design for failure in the IoT: what could possibly go wrong?

User error…

•People do things by accident… like unplugging hubs or turning off switches

•They forget things, e.g. leaving them on

•Or miscalculate, such as getting medication dosages wrong

patientsafetyauthority.org

Page 25: Design for failure in the IoT: what could possibly go wrong?

…recklessness, or deliberate subversion

latimes.com

Page 26: Design for failure in the IoT: what could possibly go wrong?

Real world context issues

Page 29: Design for failure in the IoT: what could possibly go wrong?

Remote controls/automation rules applied in inappropriate circumstances

Shropshire Insurance

•A remote user cannot see that an action was inappropriate

•Automation rules that were originally appropriate are ported over to a new context when the device is repurposed, and are now actively dangerous

Page 30: Design for failure in the IoT: what could possibly go wrong?

What can we do to mitigate possible failures?

Page 31: Design for failure in the IoT: what could possibly go wrong?

Claude Dennis and Linda Narkiewicz via simplonpc.co.uk

Constructive pessimism (Murphy’s law)

“It is found that anything that can go wrong at sea generally does go wrong sooner or later, so it is not to be wondered that owners prefer the safe to the scientific ....

“Sufficient stress can hardly be laid on the advantages of simplicity. The human factor cannot be safely neglected in planning machinery.

“If attention is to be obtained, the engine must be such that the engineer will be disposed to attend to it.” Holt, Alfred. "Review of the Progress of Steam Shipping during the last Quarter of a Century," 1878

Page 32: Design for failure in the IoT: what could possibly go wrong?

Product value must outweigh potential risks

Page 33: Design for failure in the IoT: what could possibly go wrong?

smartbe.co

Page 34: Design for failure in the IoT: what could possibly go wrong?

If the value of your product is marginal, but the impact of it going wrong is catastrophic, it’s time to think again

+ -Hands-free strolling

Stroller runs away into traffic

Page 35: Design for failure in the IoT: what could possibly go wrong?

Architect the system to tolerate lost connectivity

Page 36: Design for failure in the IoT: what could possibly go wrong?

Design for intermittent connectivity

•Connect when convenient

•Buffer data for later transmission

•It’s sometimes possible to use analytics to estimate the readings you would have got

brita.com

Page 37: Design for failure in the IoT: what could possibly go wrong?

Things that need to work locally should not rely on the cloud

Capable devices should be able to work independently

Hubs enable local control of devices if connectivity is lost

Distributed/‘fog’ computing systems may soon enable local programs to run without a hub

ecobee.com smartthings.com plumlife.com

Page 38: Design for failure in the IoT: what could possibly go wrong?

Never be worse than the unconnected equivalent

Page 39: Design for failure in the IoT: what could possibly go wrong?

If your product is replacing a non-connected product, ensure yours works at least as well as that if connectivity is lost

Den Automation

Never be worse than the unconnected equivalent

Page 40: Design for failure in the IoT: what could possibly go wrong?

Default to a safe state

Page 41: Design for failure in the IoT: what could possibly go wrong?

http://medicalfuturist.com/living-with-an-artificial-pancreas/

Default to a safe stateIf it’s not possible to retain basic functionality in event of failure, always default to a safe state

Page 42: Design for failure in the IoT: what could possibly go wrong?

“The user can't reset it without removing the battery, and he can't remove the battery without unlocking the lock”Anthony Rose, via http://www.tomsguide.com/us/bluetooth-lock-hacks-defcon2016,news-23129.html

There must always be a manual override

thequicklock.com

Page 43: Design for failure in the IoT: what could possibly go wrong?

Keep the user informed

Page 44: Design for failure in the IoT: what could possibly go wrong?

Be clear: did the user just press the button or was the action actually executed?

Images: lowes.com

Page 45: Design for failure in the IoT: what could possibly go wrong?

Beware unknown real-world context when reporting the status of a device

You know the lock is engaged.

But is the door locked closed or locked open?

kwikset.com

Page 46: Design for failure in the IoT: what could possibly go wrong?

Help users overcome problems

It’s hard to strike the right balance between being informative about errors, and not confusing users with technical information

But very general error messages help no-one

Skybell, via macsources.com

Page 47: Design for failure in the IoT: what could possibly go wrong?

Minimise the risk of user errors and allow for recovery

Page 48: Design for failure in the IoT: what could possibly go wrong?

Minimise risk and impact of user error You can’t control for reckless behaviour but you can try to mitigate the damage that can be done

Consider context, require confirmation

Remember you can often reverse a command to a connected device, but not necessarily the consequences

“There’s an iron plugged in to me. Are you sure you want to turn me on?”

geotogether.com

Page 49: Design for failure in the IoT: what could possibly go wrong?

Really understand the context of use

Page 50: Design for failure in the IoT: what could possibly go wrong?

Will your bright idea break in the real world?

nest.com

Page 51: Design for failure in the IoT: what could possibly go wrong?

•User research and testing in context is vital

•Regulations are boring but important

Marcus Mark Ramos via channelnewsasia.com

Page 52: Design for failure in the IoT: what could possibly go wrong?

Make it worth someone’s while to keep the service running

Page 53: Design for failure in the IoT: what could possibly go wrong?

Mitigating business failure

In the event that you can't support your product anymore, try to make sure it’s at least worth someone else’s time

e.g. Source code and money in escrow

variety.com

Page 54: Design for failure in the IoT: what could possibly go wrong?

If something does go wrong, be helpful and sensitive

Page 55: Design for failure in the IoT: what could possibly go wrong?

Who is responsible?

In systems of interoperating products, diagnosing what the problem is and which component is causing it can be very hard

Who does the user call?

Try to be aware of likely issues with interoperating products

“You need to talk to your ISP”

“Your WiFi is misconfigured”

“That’s a Google problem”

“That’s a Samsung problem”

Page 56: Design for failure in the IoT: what could possibly go wrong?

Sensitive response?

https://www.tesla.com/blog/tragic-loss

Our cars are really safe

We’re sorry someone died

Page 57: Design for failure in the IoT: what could possibly go wrong?

In summary…

Page 58: Design for failure in the IoT: what could possibly go wrong?

Suggested design principles

•Product value must outweigh potential risks•Architect the system to tolerate lost connectivity•Never be worse than the unconnected equivalent•Default to a safe state•Keep the user informed•Minimise the risk and impact of user errors•Really understand the context of use•Make it worth someone’s while to keep the service running•If something does go wrong, be helpful and sensitive

Page 59: Design for failure in the IoT: what could possibly go wrong?

Create products that prevent and mitigate real world failures

jpl.nasa.gov

up.com

phyn.com

And also:

Page 60: Design for failure in the IoT: what could possibly go wrong?

Thank you! Claire Rowland @clurr / [email protected]

Hat tips for references and crowdsourced examples to Stacey Higginbotham’s IoT Podcast, @internetofshit, @badiotday, Fabien Marry, Alastair Somerville, Bryan Rieger, Stephanie Rieger, Chris Holgate ,Rob Whiting, Simon Frost, Valkyrie Savage, Toby Jaffey, Ben Hardill, Julian Bleecker, Nik Martelaro, Scott Minneman, Leah Buechley, Carla Diana, Tom Igoe, Vadim Kravtchenko, Tod E Kurt, Liz Goodman, Josh Bloom, Scott Smith.

Page 61: Design for failure in the IoT: what could possibly go wrong?

“This is more than a UX book; it covers all of the critical design and technology issues around making great connected products.”

David Rose. Author: Enchanted Objects

“As a grizzled veteran of several campaigns within the matter-battle of the Internet of Things, I was pleasantly surprised to find the number of times this book made me pause, think, and rethink my own work (and that of others). A very valuable addition to the canon of design thinking in this emerging area.”

Matt Jones. Google

“Whether you’re an IoT pro or just getting started designing connected products, this comprehensive book has something for everyone, from examinations of different network protocols all the way up to value propositions and considerations for hardware, software, and services. This book takes a clear-eyed look at IoT from all angles.”

Dan Saffer. Mayfield Robotics