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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
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
870
Tumblr iOS architecture
irace
5
650
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
ワールドカフェI /チューターを改良する / World Café I and Improving the Tutors
ks91
PRO
0
220
QGISプラグイン CMChangeDetector
naokimuroki
1
260
こんなアーキテクチャ図はいやだ / Anti-pattern in AWS Architecture Diagrams
naospon
1
350
Azure Lifecycle with Copilot CLI
torumakabe
3
880
Introduction to Bill One Development Engineer
sansan33
PRO
0
410
AIを共同作業者にして書籍を執筆する方法 / How to Write a Book with AI as a Co-Creator
ama_ch
2
100
終盤で崩壊させないAI駆動開発
j5ik2o
2
2.1k
数案件を同時に進行するためのコンテキスト整理術
sutetotanuki
2
240
Azure PortalなどにみるWebアクセシビリティ
tomokusaba
0
280
AI時代に新卒採用、はじめました/junior-engineer-never-die
dmnlk
0
270
JEDAI in Osaka 2026イントロ
taka_aki
0
210
Zero-Downtime Migration: Moving a Massive, Historic iOS App from CocoaPods to SPM and Tuist without Stopping Feature Delivery
kagemiku
0
240
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
199
73k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.3k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
97
Rails Girls Zürich Keynote
gr2m
96
14k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.3k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
1k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
260
Odyssey Design
rkendrick25
PRO
2
570
The agentic SEO stack - context over prompts
schlessera
0
740
sira's awesome portfolio website redesign presentation
elsirapls
0
210
Heart Work Chapter 1 - Part 1
lfama
PRO
5
35k
Everyday Curiosity
cassininazir
0
190
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! ❤