delightful ux for distributed systems

51
Delightful UX for Distributed Systems MICHAEL NORTH Levanto Financial Wicked Good Ember - June 28, 2016

Upload: mike-north

Post on 15-Apr-2017

1.364 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Delightful UX for Distributed Systems

Delightful UX for Distributed SystemsMICHAEL NORTH Levanto FinancialWicked Good Ember - June 28, 2016

Page 2: Delightful UX for Distributed Systems
Page 3: Delightful UX for Distributed Systems

Levanto Financial

Page 4: Delightful UX for Distributed Systems
Page 5: Delightful UX for Distributed Systems

Nearly half of Americans would have trouble finding $400 in a crisis

~35% of high income households couldn’t come up with $1000!

Levanto is a Household CFO platform

Page 6: Delightful UX for Distributed Systems

Levanto Financial

Page 7: Delightful UX for Distributed Systems

Levanto Financial

• Avg customer household income: ~$400K/yr

• Avg amount we help a household save: ~$12.5K/yr

• Monthly fee we charge: $200+/mo

• Customers have tried everything before coming to us

Page 8: Delightful UX for Distributed Systems

Your Dev Environment is a Scumbag LiarMICHAEL NORTH Levanto FinancialWicked Good Ember 2016

Page 9: Delightful UX for Distributed Systems

Your Dev Environment is a Scumbag LiarMICHAEL NORTH Levanto FinancialWicked Good Ember 2016

Page 10: Delightful UX for Distributed Systems

SlowUnreliable

Approximate

Trustworthy

ClearResponsive

Tactical Time-saving

Page 11: Delightful UX for Distributed Systems

Abcdef

ACCOUNT NUMBER

*************

PASSWORD

*************

CONFIRM PASSWORD

Connect a Bank Account

Page 12: Delightful UX for Distributed Systems

Abcdef

ACCOUNT NUMBER

*************

PASSWORD

UI API BANKS

“LINK AN ACCOUNT”BEGIN SCREEN SCRAPING

FINISH SCREEN SCRAPING

RETURN LINKED ACCOUNT

Page 13: Delightful UX for Distributed Systems
Page 14: Delightful UX for Distributed Systems

1¼HOURS

Page 15: Delightful UX for Distributed Systems

Abcdef

ACCOUNT NUMBER

*************

PASSWORD

UI API BANKS

“LINK AN ACCOUNT”BEGIN SCREEN SCRAPING

FINISH SCREEN SCRAPING

RETURN LINKED ACCOUNT

6-15m Per Account

Page 16: Delightful UX for Distributed Systems

UI API BANKS

“LINK AN ACCOUNT”BEGIN SCREEN SCRAPING

FINISH SCREEN SCRAPING

RETURN LINKED ACCOUNT

Page 17: Delightful UX for Distributed Systems

UI API BANKS

“LINK AN ACCOUNT”BEGIN SCREEN SCRAPING

FINISH SCREEN SCRAPING

RETURN LINKED ACCOUNT

REQUIRES AUTH CODE

ASK USER FOR INFO

📲 INFO RESPONSEINFO RESPONSE

Page 18: Delightful UX for Distributed Systems

Abcdef

ACCOUNT NUMBER

*************

PASSWORD

~75min

Page 19: Delightful UX for Distributed Systems

UI API BANKS

“LINK AN ACCOUNT”BEGIN SCREEN SCRAPING

FINISH SCREEN SCRAPING

RETURN LINKED ACCOUNT

REQUIRES AUTH CODE

ASK USER FOR INFO

📲 INFO RESPONSEINFO RESPONSE

PENDING ACCOUNT

Page 20: Delightful UX for Distributed Systems
Page 21: Delightful UX for Distributed Systems

Abcdef

ACCOUNT NUMBER

*************

PASSWORD

~75min

Page 22: Delightful UX for Distributed Systems

1¼HOURS

Page 23: Delightful UX for Distributed Systems

15 MINUTES

Page 24: Delightful UX for Distributed Systems

Abcdef

ACCOUNT NUMBER

*************

PASSWORD

~75min

Page 25: Delightful UX for Distributed Systems

Abcdef

ACCOUNT NUMBER

*************

PASSWORD

~15min

Page 26: Delightful UX for Distributed Systems
Page 27: Delightful UX for Distributed Systems

We Can Do Better

Page 28: Delightful UX for Distributed Systems

UI API BANKS

“LINK AN ACCOUNT”BEGIN SCREEN SCRAPING

FINISH SCREEN SCRAPING

RETURN LINKED ACCOUNT

REQUIRES AUTH CODE

ASK USER FOR INFO

📲 INFO RESPONSEINFO RESPONSE

PENDING ACCOUNT

Page 29: Delightful UX for Distributed Systems

UI API BANKS

“LINK AN ACCOUNT”BEGIN SCREEN SCRAPING

FINISH SCREEN SCRAPING

RETURN LINKED ACCOUNT

REQUIRES AUTH CODE

ASK USER FOR INFO

📲 INFO RESPONSEINFO RESPONSE

PENDING ACCOUNT

Page 30: Delightful UX for Distributed Systems

Interruptible FlowBRINGING THE USER BACK IN

Page 31: Delightful UX for Distributed Systems

In app notification

Push notification

Email

phoenix presence ember-in-viewport

blocking modal

pixel

3m

7m

Notification Delivery

Page 32: Delightful UX for Distributed Systems

Abcdef

ACCOUNT NUMBER

*************

PASSWORD

~15min

Page 33: Delightful UX for Distributed Systems

Abcdef

ACCOUNT NUMBER

*************

PASSWORD

~6min

Page 34: Delightful UX for Distributed Systems

InvalidateEVICT RECORD(S) FROM THE STORE AND RE-FETCH

Push to Client:NotificationIN-APP NOTIFICATION MESSAGE

GatherFormGLOBAL DIALOG, WITH A DYNAMIC FORM TO FILL OUT

ClearLOGOUT, DUMP LOCALSTORAGE, REBOOT

Page 35: Delightful UX for Distributed Systems
Page 36: Delightful UX for Distributed Systems

Depending on Unreliable Systems

MAXIMIZE INDEPENDENCE

Page 37: Delightful UX for Distributed Systems

BROWSER API BANKS

Page 38: Delightful UX for Distributed Systems

BROWSER API BANKS🌩

Page 39: Delightful UX for Distributed Systems

BROWSER API BANKS🌩1. Connect to new accounts, or other sites

2. Repair broken connections

3. Pull new transaction data

Page 40: Delightful UX for Distributed Systems

1. Connect to new accounts, or other sites

2. Repair broken connections

3. Pull new transaction data

AES-encrypted Queue

AES-encrypted Queue

We’ll live

Page 41: Delightful UX for Distributed Systems

1. Connect to new accounts, or other sites

2. Repair broken connections

3. Pull new transaction data

AES-encrypted Queue

AES-encrypted Queue

We’ll live, but let users know data is “frozen”

Page 42: Delightful UX for Distributed Systems

We’re unable to retrieve bank account data, as of 11:45pm on Saturday.

Transparency

Page 43: Delightful UX for Distributed Systems

BROWSER API BANKS

Page 44: Delightful UX for Distributed Systems

BROWSER API BANKS

Page 45: Delightful UX for Distributed Systems

BROWSER API BANKS

Page 46: Delightful UX for Distributed Systems

BROWSER API BANKS🌩• Fetch records

• Search for banking institutions to connect

• Re-categorize transactions

• Create new “budgets”

Page 47: Delightful UX for Distributed Systems

• Fetch records

• Search for banking institutions to connect

• Re-categorize transactions

• Create new “budgets”

localStorage cache (except transactions)

cache most popular 5% institutions (constitutes 85% of accounts)

DISABLED

localStorage QueueTra

nsparency

Again!

Page 48: Delightful UX for Distributed Systems

Going back online

• Assume everything has changed

• Flush everything from localStorage

• But only when we establish connection with our API for real!

• Re-authorize via Channel

Page 49: Delightful UX for Distributed Systems

Keep users in the loopTRANSPARENCY

Loosely coupleRELIABILITY BREEDS TRUST

Limited offline is okDON’T BE AFRAID TO DISABLE

You don’t need to waitBUILD AMAZING UX TODAY

Page 50: Delightful UX for Distributed Systems
Page 51: Delightful UX for Distributed Systems

We’re recruiting!

Results based. Work from anywhere with good internet

EMBER#CANARY EMBER-ENGINES EMBER-CLI-FASTBOOT D3 V4

ELIXIR PHOENIX FRAMEWORK

JSON-API POSTGRES

Senior Full Stack EngineerOPEN SOURCE PRODUCT WORK