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
610
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
780
Tumblr iOS architecture
irace
5
520
Node.js for mobile developers
irace
1
130
Introduction to Objective-C and Cocoa Touch
irace
7
610
Building apps that play nicely with other apps
irace
1
330
Other Decks in Technology
See All in Technology
o1のAPIで実験してみたが 制限きつすぎて辛かった話
pharma_x_tech
0
110
AIを活用した柔軟かつ効率的な社内リソース検索への取り組み
cygames
0
100
AI活用したくてもできなかった不動産SaaSの今とこれから
nealle
0
330
不動産tech Product Night#2_AIことはじめ_GA橋本
takehikohashimoto
0
180
不動産 x AIことはじめ~データの真価を拓くために
estie
0
110
どこよりも遅めなWinActor Ver.7.5.0 新機能紹介
tamai_63
0
200
事前準備が肝!AI活用のための業務改革
layerx
PRO
1
370
OSTという文化を組織に根付かせてみた
sansantech
PRO
2
290
エンジニア視点で見る、 組織で運用されるデザインシステムにするには
shunya078
1
300
OCI で始める!! Red Hat OpenShift / Get Started OpenShift on OCI
oracle4engineer
PRO
1
170
Swift Testingのconfirmationを コードリーディング/Dive into Swift Testing confirmation
laprasdrum
2
250
アプリをリリースできる状態に保ったまま 段階的にリファクタリングするための 戦略と戦術 / Strategies and tactics for incremental refactoring
yanzm
6
1.3k
Featured
See All Featured
The Invisible Side of Design
smashingmag
295
50k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
25
3.9k
10 Git Anti Patterns You Should be Aware of
lemiorhan
653
58k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
28
1.6k
Unsuck your backbone
ammeep
667
57k
How to Ace a Technical Interview
jacobian
274
23k
Fantastic passwords and where to find them - at NoRuKo
philnash
48
2.8k
Practical Orchestrator
shlominoach
185
10k
Bootstrapping a Software Product
garrettdimon
PRO
304
110k
Side Projects
sachag
451
42k
What the flash - Photography Introduction
edds
67
11k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
166
48k
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! ❤