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
560
Building Tumblr for iOS
irace
0
580
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
580
Building apps that play nicely with other apps
irace
1
320
Other Decks in Technology
See All in Technology
BFが動くCPUを作りたい! @第3回CPUを語る会
chizuchizu
1
100
ロリポップ! for Gamersの立ち上げ/lolipop for gamers launch
takumakume
0
630
Nuxt DevTools 101
nozomuikuta
3
350
左手は添えるだけ!?AWS Well-Architected Frameworkが教えてくれる大事なデータの守り方
ohtk79
0
360
誰も教えてくれない メダリオンアーキテクチャの デザインメソッド
manabian
0
360
スタートアップがAWSパートナーになって得られたこと
shonansurvivors
3
520
Open Source Developer Experience, Platform Engineering and AI-infused Apps - DevTalks Romania
kdubois
0
120
OpenFOAM(自宅ではじめる流体解析)
kamakiri1225
0
160
CSPが提供しない、フレッツ網をつかった閉域接続サービス&データ持ち込みにつかえるサービス 3選
armaniacs
1
930
Capacitor製のWebViewアプリからReact Native製のハイブリッドアプリへ
yukukotani
4
670
[JSAI24] Large-Scale Indoor Search Engine with Multimodal Foundation Models and Relaxing Contrastive Loss
keio_smilab
PRO
1
110
オープンソースのロボットソフトウェア「ROS」で地図作成を試してみた
miura55
0
170
Featured
See All Featured
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
20
1.8k
Building Adaptive Systems
keathley
32
1.9k
How To Stay Up To Date on Web Technology
chriscoyier
782
250k
Documentation Writing (for coders)
carmenintech
60
4k
BBQ
matthewcrist
80
8.8k
10 Git Anti Patterns You Should be Aware of
lemiorhan
650
58k
Building a Scalable Design System with Sketch
lauravandoore
457
32k
Clear Off the Table
cherdarchuk
86
310k
Art, The Web, and Tiny UX
lynnandtonic
290
19k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
12
1.1k
For a Future-Friendly Web
brad_frost
172
9k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
41
4.5k
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! ❤