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
2
1.5k
iOS at Tumblr
Slides from an overview of Tumblr’s iOS processes given at Artsy on 8/20/2015.
Bryan Irace
August 20, 2015
Tweet
Share
More Decks by Bryan Irace
See All by Bryan Irace
Practical iOS application modularity
irace
1
660
Building Tumblr for iOS
irace
0
700
Modularity in mobile applications
irace
0
140
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
840
Tumblr iOS architecture
irace
5
600
Node.js for mobile developers
irace
1
160
Introduction to Objective-C and Cocoa Touch
irace
7
740
Building apps that play nicely with other apps
irace
1
400
Other Decks in Technology
See All in Technology
AI ReadyなData PlatformとしてのAutonomous Databaseアップデート
oracle4engineer
PRO
0
190
成長自己責任時代のあるきかた/How to navigate the era of personal responsibility for growth
kwappa
3
270
バイブコーディングと継続的デプロイメント
nwiizo
2
430
Optuna DashboardにおけるPLaMo2連携機能の紹介 / PFN LLM セミナー
pfn
PRO
1
880
10年の共創が示す、これからの開発者と企業の関係 ~ Crossroad
soracom
PRO
1
190
OCI Network Firewall 概要
oracle4engineer
PRO
1
7.8k
stupid jj tricks
indirect
0
8k
組織観点からIAM Identity CenterとIAMの設計を考える
nrinetcom
PRO
1
180
Modern_Data_Stack最新動向クイズ_買収_AI_激動の2025年_.pdf
sagara
0
210
AI Agentと MCP Serverで実現する iOSアプリの 自動テスト作成の効率化
spiderplus_cb
0
500
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
11
77k
Large Vision Language Modelを用いた 文書画像データ化作業自動化の検証、運用 / shibuya_AI
sansan_randd
0
110
Featured
See All Featured
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
30
2.9k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
The Cost Of JavaScript in 2023
addyosmani
53
9k
GitHub's CSS Performance
jonrohan
1032
460k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
32
2.2k
Mobile First: as difficult as doing things right
swwweet
224
10k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
How to Think Like a Performance Engineer
csswizardry
27
2k
GraphQLとの向き合い方2022年版
quramy
49
14k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
610
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! ❤