Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
The Passion of Lazy - Enterprise Mobile App Des...
Search
Patrick Seda
February 17, 2016
Technology
2.2k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
The Passion of Lazy - Enterprise Mobile App Design Patterns
Patrick Seda
February 17, 2016
More Decks by Patrick Seda
See All by Patrick Seda
The API of Your Company Culture
pxtrick
3
990
Lightning Talk - Enhancing Vue and Vuex for Complex Application State
pxtrick
1
1.2k
Swift - Beyond Beginner
pxtrick
0
1.3k
Crossing the Chasm of Swift
pxtrick
0
1.4k
Architecting Your Project with a Finite-State Machine
pxtrick
1
2.2k
Your Code is Terrible (I Love It!)
pxtrick
0
1.3k
An Introduction to Location-Based Technologies (for Business & Marketing)
pxtrick
0
610
10 Tips for Kickass Enterprise Mobile Apps
pxtrick
0
1.1k
Making Mobile Games (A presentation for the Girl Scouts)
pxtrick
1
710
Other Decks in Technology
See All in Technology
AWS DevOps Agent スキルをつかいこなそう / Master AWS DevOps Agent Skills
kinunori
2
670
10年欲しかった音楽管理アプリを、AIと一緒に作りはじめた
judau
1
200
組み立てて楽しむ AWS Blocks 入門
kmiya84377
0
140
キャリアLT今日までそして明日から
kentapapa
1
140
3人で1000GPU超を統合運用する?マルチクラウド&オンプレを跨ぐ、構築と運用のリアル!
kazukun0716
2
820
TiDBファミリーにDWHが新登場!! TiDB最新情報 / TiDB update 202609
yoshiakiyamasaki
0
190
Apache Iceberg が拓く AI 時代のオープンレイクハウス
tomtanaka
0
210
spanner-autoscalerに学ぶ CRD設計パターン 〜自動化と緊急時対応を両立する Kubernetesコントローラーの作り方〜
tkuchiki
0
220
AI Native Platform Engineering 〜PlatformとAgileで“作る速さ”を“価値”へ〜
uya116
0
600
The seven pitfalls of AI (revised version)
ufried
0
210
スキルを作る、その前に!複数人で使われるスキルを 作るためのプロセス
junkifurukawa
2
180
AgentCoreで実践するハーネスエンジニアリング
yakumo
1
210
Featured
See All Featured
Measuring & Analyzing Core Web Vitals
bluesmoon
9
1k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Unsuck your backbone
ammeep
672
58k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Ruling the World: When Life Gets Gamed
codingconduct
0
380
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
290
エンジニアに許された特別な時間の終わり
watany
109
250k
RailsConf 2023
tenderlove
30
1.6k
WENDY [Excerpt]
tessaabrams
14
40k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
500
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
2
300
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
440
Transcript
Enterprise Mobile App Design Patterns The Passion of Lazy DEVNEXUS
Atlanta – February 17, 2016
Patrick Seda @pxtrick • Independent Mobile App Architect • 25+
Years as a Software Professional • 6+ Years in Mobile Development • Apps: Enterprise to Children’s games
Agenda: - Discuss my “Laziness” - 8 Design Patterns -
Call to action
The longer I work on this <Project> ... The less
effort I Want to spend “Lazy”
The Passion of Lazy Quality
Additional Notes and Illustrations Design Excellence Patrick Seda Defining Moment
(number 1) January 15, 1990: Crash of the entire AT&T long-distance network
Additional Notes and Illustrations Design Excellence Patrick Seda Defining Moment
(number 2)
Additional Notes and Illustrations Design Excellence Patrick Seda Design Patterns
Additional Notes and Illustrations Design Excellence Patrick Seda Christopher Alexander
PATTERN NAME: Solution: Motivation: Lean Mobile Data Monstrous legacy data
Create new endpoints specifically targeting your EXACT mobile needs
Additional Notes and Illustrations Design Excellence Patrick Seda Lean Mobile
Data Legacy Web Service Application Context UI for data presentation Data /endpoint
Additional Notes and Illustrations Design Excellence Patrick Seda Lean Mobile
Data IMPROVED Web Service Application Context /endpoint UI for data presentation /endpoint2 Data
PATTERN NAME: Solution: Motivation: App Defines Api Impedance mismatch with
data Define the structure the app wants, then write the API to match
Additional Notes and Illustrations Design Excellence Patrick Seda App Defines
API IMPROVED Web Service Application Context /endpoint UI for data presentation /endpoint2 Data Defined by the app
PATTERN NAME: Solution: Motivation: Decoupled Navigation Complex navigation Buttons become
stupid, delegate all behavior to a mediating controller
PATTERN NAME: Solution: Motivation: Datasource Strategies Swappable data sources Hide
data sources behind proxy objects, each of which is a swappable Strategy
Additional Notes and Illustrations Design Excellence Patrick Seda Datasource Strategies
Application Context HTTP / XHR Web Service WS Proxy Mock WS Proxy Mock Data Speakers Processing & UI Render /speakers getSpeakers() getSpeakers()
PATTERN NAME: Solution: Motivation: Tap Mutex Deviations from intended UX
Prevent users from misusing the UI by disallowing asynchronous events
Additional Notes and Illustrations Design Excellence Patrick Seda Tap Mutex
Speakers Speaker Details Application Context Assemble, Create, & Render Navigation Callback
PATTERN NAME: Solution: Motivation: No Harsh Waiting Inconsistent wait times
Don’t allow activity indicators to exist for short durations, set a minimum lifetime
PATTERN NAME: Solution: Motivation: Client-side Session An app is not
a website Introduce a session timeout within the app, track UI interaction, not server hits
PATTERN NAME: Solution: Motivation: Lifecycle Gatekeeper OS doesn’t understand your
app Provide a single entry point for app state events, define dispatch behavior
Additional Notes and Illustrations Design Excellence Patrick Seda Lifecycle Gatekeeper
iOS Android
Additional Notes and Illustrations Design Excellence Patrick Seda Lifecycle Gatekeeper
PAUSE Handler RESUME Handler Application Context OS – App State Machine RESUME Handler Lifecycle Gatekeeper RESUME
The Passion of Lazy Quality
Call To Action
DEVNEXUS Atlanta – February 17, 2016 Thank You
Patrick Seda @pxtrick
[email protected]
linkedin.com/in/patrickseda speakerdeck.com/pxtrick