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
570
Building Tumblr for iOS
irace
0
590
Modularity in mobile applications
irace
0
120
When the iOS SDK says “Jump,” ask “How High?”
irace
7
1.3k
Don't be "an Objective-C" or "a Swift Developer"
irace
5
780
Tumblr iOS architecture
irace
5
510
Node.js for mobile developers
irace
1
130
Introduction to Objective-C and Cocoa Touch
irace
7
590
Building apps that play nicely with other apps
irace
1
330
Other Decks in Technology
See All in Technology
学びの敷居を下げるためにどんな工夫をしたの?
mineo_matsuya
2
230
現場の失敗から学ぶ!プロダクトバックログアイテムの改善/Learn_from_On-Site_Failures!_Improving_Product_Backlog_Items
m_iyama
3
690
私の推しサービス:Elastic Kubernetes Service(EKS)
daitak
1
200
Productivity-Conference-GitHub-20240629
yuhattor
1
1k
Four Keysだけじゃ足りなくない? 〜俺たちだけのFour Keysを探して〜
rinchsan
2
1.3k
RAG構築におけるKendraとPineconeの使い分け
sonoda_mj
2
210
まずはパネル「Table」を使い倒してみよう@GrafanaMeetupJapan#2
rinchoku
1
180
リモートワーク時代の守護神 PHP開発者のためのセキュリティ強化術
pyama86
2
730
フィーチャー開発から ホールプロダクト開発へ ~ 顧客価値へ向き合い続ける挑戦 ~ @itohiro73 #開発生産性con_findy
itohiro73
7
2.9k
ベイジアンABテストってありなの? / Is Bayesian AB Testing Truly Effective?
ak_iyama
1
490
爆速開発文化を支えるProduct Engineerの 開発生産性向上の取り組み
shnjtk
6
1.8k
Oracle Modern Data Platform Reference Architecture (Autonomous Data Warehouse編)
oracle4engineer
PRO
0
500
Featured
See All Featured
Rails Girls Zürich Keynote
gr2m
91
13k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
22
1.8k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
228
16k
KATA
mclloyd
18
12k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
661
120k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
128
32k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
19
7.1k
The Illustrated Children's Guide to Kubernetes
chrisshort
35
47k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
359
22k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
353
28k
Art, The Web, and Tiny UX
lynnandtonic
290
19k
Design by the Numbers
sachag
276
18k
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! ❤