Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
iOS at Tumblr
Bryan Irace
August 20, 2015
Technology
2
1.3k
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
500
Building Tumblr for iOS
irace
0
530
Modularity in mobile applications
irace
0
110
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
700
Tumblr iOS architecture
irace
5
480
Node.js for mobile developers
irace
1
110
Introduction to Objective-C and Cocoa Touch
irace
7
510
Building apps that play nicely with other apps
irace
1
260
Other Decks in Technology
See All in Technology
モダンデータスタックとかの話(データエンジニアのお仕事とは)
foursue
0
380
インフラエンジニアBooks 30分でわかる「Dockerコンテナ開発・環境構築の基本」
cyberblack28
11
6.9k
AWS CLI入門_20220513
suzakiyoshito
0
3.8k
SRENEXT2022 組織にSREを実装していくまでの道のり
marnie0301
1
310
スクラムマスターの「観察」スキルを掘り下げる / Scrum Fest Niigata 2022
ama_ch
0
380
[SRE NEXT 2022]ヤプリのSREにおけるセキュリティ強化の取り組みを公開する
mmochi23
1
370
Oracle Content Management サービス概要 (2022年5月版)
oracle4engineer
PRO
0
100
Nutanix_Meetup_20220511
keigotomomatsu
0
150
失敗を経験したあなたへ〜建設的なインシデントの振り返りを行うために実践するべきこと〜
nobuakikikuchi
0
140
Dagu | オンプレ向けワークフローエンジン(WebUI 同梱)
yohamta
0
130
Data-Driven Healthcare - Techplay
kotaroito
0
110
アルプの 認証/認可分離戦略と手法
ma2k8
PRO
1
290
Featured
See All Featured
How STYLIGHT went responsive
nonsquared
85
3.9k
A designer walks into a library…
pauljervisheath
196
16k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
349
27k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
100
5.9k
Unsuck your backbone
ammeep
659
55k
Making the Leap to Tech Lead
cromwellryan
113
6.9k
Done Done
chrislema
174
14k
A Modern Web Designer's Workflow
chriscoyier
689
180k
No one is an island. Learnings from fostering a developers community.
thoeni
9
1.1k
Design by the Numbers
sachag
271
17k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
119
28k
Designing for humans not robots
tammielis
241
23k
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! ❤