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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
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
980
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.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
AI時代にエンジニアはどう成長すれば良いのか?
recruitengineers
PRO
1
140
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
4k
モブプログラミング再入門 ー 基本から見直す、AI時代のチーム開発の選択肢 ー / A Re-introduction of Mob Programming
takaking22
1
100
LLM のプロダクト導入における開発の裏側と技術的挑戦
recruitengineers
PRO
1
110
OpenClawで回す組織運営
jacopen
2
550
作るべきものと向き合う - ecspresso 8年間の開発史から学ぶ技術選定 / 技術選定con findy 2026
fujiwara3
7
2.1k
バクラクのSREにおけるAgentic AIへの挑戦/Our Journey with Agentic AI
taddy_919
2
1k
Devinを導入したら予想外の人たちに好評だった
tomuro
0
900
EMからVPoEを経てCTOへ:マネジメントキャリアパスにおける葛藤と成長
kakehashi
PRO
7
900
Kaggleの経験が実務にどう活きているか / kaggle_findy
sansan_randd
5
800
Claude Cowork Plugins を読む - Skills駆動型業務エージェント設計の実像と構造
knishioka
0
270
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
44k
Featured
See All Featured
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
62
51k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.4k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
84
Rails Girls Zürich Keynote
gr2m
96
14k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
4 Signs Your Business is Dying
shpigford
187
22k
Between Models and Reality
mayunak
2
230
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.3k
Visualization
eitanlees
150
17k
Technical Leadership for Architectural Decision Making
baasie
3
270
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