Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
The Passion of Lazy - Enterprise Mobile App Des...
Search
Patrick Seda
February 17, 2016
Technology
0
2.2k
The Passion of Lazy - Enterprise Mobile App Design Patterns
Patrick Seda
February 17, 2016
Tweet
Share
More Decks by Patrick Seda
See All by Patrick Seda
The API of Your Company Culture
pxtrick
3
970
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.1k
Your Code is Terrible (I Love It!)
pxtrick
0
1.2k
An Introduction to Location-Based Technologies (for Business & Marketing)
pxtrick
0
600
10 Tips for Kickass Enterprise Mobile Apps
pxtrick
0
1k
Making Mobile Games (A presentation for the Girl Scouts)
pxtrick
1
700
Other Decks in Technology
See All in Technology
整頓のジレンマとの戦い〜Tidy First?で振り返る事業とキャリアの歩み〜/Fighting the tidiness dilemma〜Business and Career Milestones Reflected on in Tidy First?〜
bitkey
2
16k
United airlines®️ USA Contact Numbers: Complete 2025 Support Guide
unitedflyhelp
0
310
React開発にStorybookとCopilotを導入して、爆速でUIを編集・確認する方法
yu_kod
1
280
Core Audio tapを使ったリアルタイム音声処理のお話
yuta0306
0
190
面倒な作業はAIにおまかせ。Flutter開発をスマートに効率化
ruideengineer
0
260
MUITにおける開発プロセスモダナイズの取り組みと開発生産性可視化の取り組みについて / Modernize the Development Process and Visualize Development Productivity at MUIT
muit
1
17k
スタートアップに選択肢を 〜生成AIを活用したセカンダリー事業への挑戦〜
nstock
0
210
SmartNewsにおける 1000+ノード規模 K8s基盤 でのコスト最適化 – Spot・Gravitonの大規模導入への挑戦
vsanna2
0
140
無意味な開発生産性の議論から抜け出すための予兆検知とお金とAI
i35_267
4
13k
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
3
960
Yahoo!しごとカタログ 新しい境地を創るエンジニア募集!
lycorptech_jp
PRO
0
110
Lazy application authentication with Tailscale
bluehatbrit
0
210
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
For a Future-Friendly Web
brad_frost
179
9.8k
Speed Design
sergeychernyshev
32
1k
Designing for Performance
lara
610
69k
Art, The Web, and Tiny UX
lynnandtonic
299
21k
Raft: Consensus for Rubyists
vanstee
140
7k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
Optimising Largest Contentful Paint
csswizardry
37
3.3k
Site-Speed That Sticks
csswizardry
10
690
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.5k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
820
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