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
iOS at Tumblr
Search
Bryan Irace
August 20, 2015
Technology
1.5k
2
Share
iOS at Tumblr
Slides from an overview of Tumblr’s iOS processes given at Artsy on 8/20/2015.
Bryan Irace
August 20, 2015
More Decks by Bryan Irace
See All by Bryan Irace
Practical iOS application modularity
irace
1
700
Building Tumblr for iOS
irace
0
730
Modularity in mobile applications
irace
0
160
When the iOS SDK says “Jump,” ask “How High?”
irace
7
1.5k
Don't be "an Objective-C" or "a Swift Developer"
irace
5
880
Tumblr iOS architecture
irace
5
660
Node.js for mobile developers
irace
1
180
Introduction to Objective-C and Cocoa Touch
irace
7
790
Building apps that play nicely with other apps
irace
1
440
Other Decks in Technology
See All in Technology
みんなの「データ活用」を支えるストレージ担当から持ち込むAWS活用/コミュニティー設計TIPS 10選~「作れる」より、「続けられる」設計へ~
yoshiki0705
0
240
QGISプラグイン CMChangeDetector
naokimuroki
1
390
2026年、知っておくべき最新 サーバレスTips10選/serverless-10-tips
slsops
13
5.1k
AzureのIaC管理からログ調査まで、随所に役立つSkillsとCustom-Instructions / Boosting IaC and Log Analysis with Skills
aeonpeople
0
220
ぼくがかんがえたさいきょうのあうとぷっと
yama3133
0
190
こんなアーキテクチャ図はいやだ / Anti-pattern in AWS Architecture Diagrams
naospon
1
440
ハーネスエンジニアリングの概要と設計思想
sergicalsix
9
4.8k
エージェントスキルを作って自分のインプットに役立てよう
tsubakimoto_s
0
240
Keeping Ruby Running on Cygwin
fd0
0
140
JEDAI in Osaka 2026イントロ
taka_aki
0
320
インターネットの技術 / Internet technology
ks91
PRO
0
200
Introduction to Sansan Meishi Maker Development Engineer
sansan33
PRO
0
390
Featured
See All Featured
Why Our Code Smells
bkeepers
PRO
340
58k
Embracing the Ebb and Flow
colly
88
5k
Making the Leap to Tech Lead
cromwellryan
135
9.8k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
200
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
98
Context Engineering - Making Every Token Count
addyosmani
9
830
Building AI with AI
inesmontani
PRO
1
900
Designing for Timeless Needs
cassininazir
0
190
GraphQLとの向き合い方2022年版
quramy
50
15k
Raft: Consensus for Rubyists
vanstee
141
7.4k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.9k
Transcript
iOS at Tumblr Bryan Irace, 8/20/2015
The teams: 2012 - 2015 • One iOS team and
one Android team • Up to ~8 developers each
The teams: 2015 – ? • iOS and Android “Core”
teams • ~3-4 developers each • iOS and Android engineers embedded on each product team • ~5 full time (per platform) • ~10 part-time/trainees (per platform)
Internal training
Horizontal camraderie • Public Slack channels (#ios, #ios_core) • Weekly
variety hours (“Multipeer Connectivity”) • Pair programming system • In-person code reviews • Speaker series • Remote-friendly • !"
Development • Git flow • Pods checked into source control
Products
Code organization • Development pods in our primary repo •
Pods in separate internal (private) repos • Open source pods • TMTumblrSDK
None
None
Languages • Lots of Objective-C • Most new code in
Swift
Pull requests • PRs need milestones to be reviewed •
Each release has a “driver” • Assigns PRs in a round-robin order (responsible for merging) • Responsible for sending out beta builds,
You are not your code
Releases • Submit to the App Store every two weeks
• Development completion “lockdown” dates • Feature flagging • Phased roll-outs • Flag off code that isn’t finished yet
None
Automation • Slack bot for distributing beta builds • Nightly
alpha builds • Builds and runs tests for each PR • Fastlane for App Store submissions • Ideally would happen automatically
None
Core tenets • Offline support • Being good platform citizens
None
Biggest challenges • Heterogenous content • Media-heavy • Scroll performance
• Memory footprint • Rich text rendering
Thanks! ❤