SlideShare uma empresa Scribd logo
1 de 91
Baixar para ler offline
Consistent,
Thin and
Dumb
Hector Zarate
(@iOSCowboy)
Spotify Numbers
58 markets Over 30 million Songs75 million Active Users"
(20 million Subscribers)
iOS Client Numbers
40 monthly contributors 0.5 million lines of code millions of users
Visually Inconsistent"
Thick"
Client-Based
Consistent"
Light "
Backend Driven
Consistent"
Thin"
Dumb
?
2013
2015
2025
1. Scale
2. Innovation
3. Modular Organization
3. Modular Organization
Radio Running Album Show
Player Browse Artist Playlist
Social Conce
CarChart
scover Genre
Radio Running Album Show
Player Browse Artist Playlist
Social Conce
CarChart
scover GenreAds Equalizer Inbox Podcast
Radio Running Album Show
Player Browse Artist Playlist
Social Conce
CarChart
scover GenreAds Equalizer Inbox Podcast
Radio Running Album Show
Player Browse Artist Playlist
Social Conce
CarChart
scover GenreAds Equalizer Inbox Podcast
Radio Running Album Show
Player Browse Artist Playlist
Social Conce
CarChart
scover GenreAds Equalizer Inbox Podcast
Radio Running Album Show
Player Browse Artist Playlist
Social Conce
CarChart
scover GenreAds Equalizer Inbox Podcast
Radio Running Album Show
Player Browse Artist Playlist
Social Conce
CarChart
scover GenreAds Equalizer Inbox Podcast
Radio Running Album Show
Player Browse Artist Playlist
Social Conce
CarChart
scover GenreAds Equalizer Inbox Podcast
Radio Running Album
Ads Equalizer Inbox
Radio Running Album Show
Player Browse Artist Playlist
Social Conce
CarChart
scover GenreAds Equalizer Inbox Podcast
Radio Running Album Show
Player Browse Artist Playlist
Social Conce
CarChart
scover GenreAds Equalizer Inbox Podcast
GLUE(Global Language, Unified Experience)
FontsColorsMetrics
UIKit
GLUE.framework
Radio Running Albums Shows
UIKit
GLUE.framework
Radio Running Albums Shows
Consistent
Consistent"
Thin "
Dumb
ITEM"
!
- title!
- subtitle!
- image
SPACE"
!
- title
1 nblocks
BLOCK"
!
- title!
- renderType
1 nitems
space
block
block
item item
GLUE.framework
Radio Running Albums Shows
Browse
?
GLUE.framework
Radio
Running Albums Shows Browse
?
GLUE.framework
Radio
Running Albums Shows Browse
Ceramic
<< Block >><< Space >> << Item >>
<< Block >><< Space >> << Item >>
<< Item, ItemWithIcon
>>
<< Item, ItemWithMetadata >>
GLUE.framework
Radio
Running Albums Shows Browse
CeramicThin
Consistent"
Thin "
Dumb
View Model
View Controller
View
Model
View Model
View Controller
View
Model
View Model
View Controller
View
Model
Backend Client
GLUE.framework
Radio
Running Albums Shows Browse
Ceramic
GLUE.framework
Radio
Running Albums Shows Browse
Ceramic
Hubs
View Model
View Controller
View
Model
Backend Client
Dumb
Consistent"
Thin"
Dumb
Демо!
yey!
yey!
yey!
yey!
yey!
Risks
Risks
Risks
GLUE.framework
Radio
Running Albums Shows Browse
Ceramic
Hubs
Frameworks as Machines
Frameworks as Machines
Final Words
1. Single Purpose"
2. Vision"
3. Share That Toy"
4. Marketing"
5. Shared Success
Спасибо!
Вопросы?
Hector Zarate "
@iOSCowboy"
!
!
spotify.com/jobs

Mais conteúdo relacionado

Destaque

Destaque (11)

MBLT16: Alexander Lukin, AppMetrica
MBLT16: Alexander Lukin, AppMetricaMBLT16: Alexander Lukin, AppMetrica
MBLT16: Alexander Lukin, AppMetrica
 
MBLT16: Dmitriy Geranin, Afisha Restorany
MBLT16: Dmitriy Geranin, Afisha RestoranyMBLT16: Dmitriy Geranin, Afisha Restorany
MBLT16: Dmitriy Geranin, Afisha Restorany
 
MBLTDev15: Alexander Orlov, Postforpost
MBLTDev15: Alexander Orlov, PostforpostMBLTDev15: Alexander Orlov, Postforpost
MBLTDev15: Alexander Orlov, Postforpost
 
MBLTDev15: Artemiy Sobolev, Parallels
MBLTDev15: Artemiy Sobolev, ParallelsMBLTDev15: Artemiy Sobolev, Parallels
MBLTDev15: Artemiy Sobolev, Parallels
 
Rx java
Rx javaRx java
Rx java
 
MBLT16: Andrey Maslak, Aviasales
MBLT16: Andrey Maslak, AviasalesMBLT16: Andrey Maslak, Aviasales
MBLT16: Andrey Maslak, Aviasales
 
Rx Java architecture
Rx Java architectureRx Java architecture
Rx Java architecture
 
MBLT16: Elena Rydkina, Pure
MBLT16: Elena Rydkina, PureMBLT16: Elena Rydkina, Pure
MBLT16: Elena Rydkina, Pure
 
MBLTDev15: Konstantin Goldshtein, Microsoft
MBLTDev15: Konstantin Goldshtein, MicrosoftMBLTDev15: Konstantin Goldshtein, Microsoft
MBLTDev15: Konstantin Goldshtein, Microsoft
 
MBLTDev15: Egor Tolstoy, Rambler&Co
MBLTDev15: Egor Tolstoy, Rambler&CoMBLTDev15: Egor Tolstoy, Rambler&Co
MBLTDev15: Egor Tolstoy, Rambler&Co
 
MBLTDev15: Brigit Lyons, Soundcloud
MBLTDev15: Brigit Lyons, SoundcloudMBLTDev15: Brigit Lyons, Soundcloud
MBLTDev15: Brigit Lyons, Soundcloud
 

Semelhante a MBLTDev15: Hector Zarate, Spotify (6)

Spotify AI DJ Deck - The Agency at University of Florida
Spotify AI DJ Deck - The Agency at University of FloridaSpotify AI DJ Deck - The Agency at University of Florida
Spotify AI DJ Deck - The Agency at University of Florida
 
EL110 Seattle Music Marketing Research Presentation
EL110 Seattle Music Marketing Research PresentationEL110 Seattle Music Marketing Research Presentation
EL110 Seattle Music Marketing Research Presentation
 
Spotify Company Presentation
Spotify Company PresentationSpotify Company Presentation
Spotify Company Presentation
 
book
bookbook
book
 
Tips On Spotify Promotion for 2022
Tips On Spotify Promotion for 2022Tips On Spotify Promotion for 2022
Tips On Spotify Promotion for 2022
 
FiltrLIVE_HRN_FINAL_2
FiltrLIVE_HRN_FINAL_2FiltrLIVE_HRN_FINAL_2
FiltrLIVE_HRN_FINAL_2
 

Mais de e-Legion

Mais de e-Legion (14)

MBLTDev15: Alexander Dimchenko, DIT
MBLTDev15: Alexander Dimchenko, DITMBLTDev15: Alexander Dimchenko, DIT
MBLTDev15: Alexander Dimchenko, DIT
 
MBLTDev: Alexander Dimchenko, Bright Box
MBLTDev: Alexander Dimchenko, Bright Box MBLTDev: Alexander Dimchenko, Bright Box
MBLTDev: Alexander Dimchenko, Bright Box
 
MBLTDev15: Anna Mikhina, Maxim Evdokimov, Tinkoff Bank
MBLTDev15: Anna Mikhina, Maxim Evdokimov, Tinkoff Bank MBLTDev15: Anna Mikhina, Maxim Evdokimov, Tinkoff Bank
MBLTDev15: Anna Mikhina, Maxim Evdokimov, Tinkoff Bank
 
MBLTDev15: Ivan Kozlov, Aviasales
MBLTDev15: Ivan Kozlov, AviasalesMBLTDev15: Ivan Kozlov, Aviasales
MBLTDev15: Ivan Kozlov, Aviasales
 
MBLTDev15: Ilya Krasilshchik, Meduza.io
MBLTDev15: Ilya Krasilshchik, Meduza.ioMBLTDev15: Ilya Krasilshchik, Meduza.io
MBLTDev15: Ilya Krasilshchik, Meduza.io
 
MBLTDev15: Svetlana Sonina, STS Media
MBLTDev15: Svetlana Sonina, STS MediaMBLTDev15: Svetlana Sonina, STS Media
MBLTDev15: Svetlana Sonina, STS Media
 
MBLTDev15: Marius Racwitz, Realm
MBLTDev15: Marius Racwitz, RealmMBLTDev15: Marius Racwitz, Realm
MBLTDev15: Marius Racwitz, Realm
 
MBLTDev15: Denis Legezo, Kaspersky Lab
MBLTDev15: Denis Legezo, Kaspersky LabMBLTDev15: Denis Legezo, Kaspersky Lab
MBLTDev15: Denis Legezo, Kaspersky Lab
 
MBLTDev15: Kyle Fuller, Apairy
MBLTDev15: Kyle Fuller, ApairyMBLTDev15: Kyle Fuller, Apairy
MBLTDev15: Kyle Fuller, Apairy
 
MBLTDev15: Sergey Semenov, Trucker Path
MBLTDev15: Sergey Semenov, Trucker Path MBLTDev15: Sergey Semenov, Trucker Path
MBLTDev15: Sergey Semenov, Trucker Path
 
MBLTDev: Phillip Connaughton, RunKepper
MBLTDev: Phillip Connaughton, RunKepper MBLTDev: Phillip Connaughton, RunKepper
MBLTDev: Phillip Connaughton, RunKepper
 
MBLT15: Alexey Chikov, Kaspersky Lab
MBLT15: Alexey Chikov, Kaspersky LabMBLT15: Alexey Chikov, Kaspersky Lab
MBLT15: Alexey Chikov, Kaspersky Lab
 
MBLT15: Yakov Zubarev, Parallels
MBLT15: Yakov Zubarev, ParallelsMBLT15: Yakov Zubarev, Parallels
MBLT15: Yakov Zubarev, Parallels
 
MBLT15: Dmitriy Navosha, Sports.ru
MBLT15: Dmitriy Navosha, Sports.ru MBLT15: Dmitriy Navosha, Sports.ru
MBLT15: Dmitriy Navosha, Sports.ru
 

MBLTDev15: Hector Zarate, Spotify