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.4k
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
580
Building Tumblr for iOS
irace
0
620
Modularity in mobile applications
irace
0
130
When the iOS SDK says “Jump,” ask “How High?”
irace
7
1.4k
Don't be "an Objective-C" or "a Swift Developer"
irace
5
790
Tumblr iOS architecture
irace
5
520
Node.js for mobile developers
irace
1
140
Introduction to Objective-C and Cocoa Touch
irace
7
620
Building apps that play nicely with other apps
irace
1
340
Other Decks in Technology
See All in Technology
【Startup CTO of the Year 2024 / Audience Award】アセンド取締役CTO 丹羽健
niwatakeru
0
1.3k
Amplify Gen2 Deep Dive / バックエンドの型をいかにしてフロントエンドへ伝えるか #TSKaigi #TSKaigiKansai #AWSAmplifyJP
tacck
PRO
0
390
Engineer Career Talk
lycorp_recruit_jp
0
190
Lambdaと地方とコミュニティ
miu_crescent
2
370
BLADE: An Attempt to Automate Penetration Testing Using Autonomous AI Agents
bbrbbq
0
320
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
0
110
プロダクト活用度で見えた真実 ホリゾンタルSaaSでの顧客解像度の高め方
tadaken3
0
190
rootlessコンテナのすゝめ - 研究室サーバーでもできる安全なコンテナ管理
kitsuya0828
3
390
アジャイルチームがらしさを発揮するための目標づくり / Making the goal and enabling the team
kakehashi
3
150
SRE×AIOpsを始めよう!GuardDutyによるお手軽脅威検出
amixedcolor
0
190
個人でもIAM Identity Centerを使おう!(アクセス管理編)
ryder472
4
230
Exadata Database Service on Dedicated Infrastructure(ExaDB-D) UI スクリーン・キャプチャ集
oracle4engineer
PRO
2
3.2k
Featured
See All Featured
Visualization
eitanlees
145
15k
Statistics for Hackers
jakevdp
796
220k
Designing for humans not robots
tammielis
250
25k
Music & Morning Musume
bryan
46
6.2k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
Git: the NoSQL Database
bkeepers
PRO
427
64k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.8k
Product Roadmaps are Hard
iamctodd
PRO
49
11k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.5k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.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! ❤