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.6k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
730
Building Tumblr for iOS
irace
0
750
Modularity in mobile applications
irace
0
170
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
890
Tumblr iOS architecture
irace
5
680
Node.js for mobile developers
irace
1
190
Introduction to Objective-C and Cocoa Touch
irace
7
830
Building apps that play nicely with other apps
irace
1
460
Other Decks in Technology
See All in Technology
RapidCopy2 Matrix I/Oエンジンによるファイルコピーソフトウェアの設計と実装
kengosawa2
1
470
アクセスキー流出時の対応で再認識した攻撃側と防御側の非対称性について
kazzpapa3
0
430
Bill One 開発エンジニア 紹介資料
sansan33
PRO
7
20k
ブラウザで変わるID連携(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
340
全社に広がるMCPサーバーを、 どう安全に管理するか MCPass開発の舞台裏
mtpooh
3
180
Point Cloud as a Foreign Language for Multi-modal Large Language Model
takmin
0
260
ハッカソンで入賞した話 @ Findy LT
asari194617
0
1.5k
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
20k
Dylib Hijacking on macOS: Dead or Alive?
patrickwardle
0
130
internal/testlog で遊ぼう
rokuosan
0
280
Claude Teamプランの コスト最適化を考える
rfdnxbro
0
800
atproto spaces概要
yamarten
0
110
Featured
See All Featured
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
Designing for Timeless Needs
cassininazir
1
460
The browser strikes back
jonoalderson
0
1.6k
Scaling GitHub
holman
464
140k
Bash Introduction
62gerente
615
220k
Why Our Code Smells
bkeepers
PRO
340
58k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
450
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
900
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.4k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
310
A Modern Web Designer's Workflow
chriscoyier
698
190k
So, you think you're a good person
axbom
PRO
2
2.1k
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! ❤