MBLTDev15: Hector Zarate, Spotify

Post on 22-Jan-2018

1,136 views 0 download

transcript

Consistent, Thin and DumbHector 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 Concert

CarChart

Discover Genres

Radio Running Album Show

Player Browse Artist Playlist

Social Concert

CarChart

Discover GenresAds Equalizer Inbox Podcast

Radio Running Album Show

Player Browse Artist Playlist

Social Concert

CarChart

Discover GenresAds Equalizer Inbox Podcast

Radio Running Album Show

Player Browse Artist Playlist

Social Concert

CarChart

Discover GenresAds Equalizer Inbox Podcast

Radio Running Album Show

Player Browse Artist Playlist

Social Concert

CarChart

Discover GenresAds Equalizer Inbox Podcast

Radio Running Album Show

Player Browse Artist Playlist

Social Concert

CarChart

Discover GenresAds Equalizer Inbox Podcast

Radio Running Album Show

Player Browse Artist Playlist

Social Concert

CarChart

Discover GenresAds Equalizer Inbox Podcast

Radio Running Album Show

Player Browse Artist Playlist

Social Concert

CarChart

Discover GenresAds Equalizer Inbox Podcast

Radio Running Album

Ads Equalizer Inbox

Radio Running Album Show

Player Browse Artist Playlist

Social Concert

CarChart

Discover GenresAds Equalizer Inbox Podcast

Radio Running Album Show

Player Browse Artist Playlist

Social Concert

CarChart

Discover GenresAds 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 ShowsBrowse

?

GLUE.framework

RadioRunning Albums Shows Browse

?

GLUE.framework

RadioRunning Albums Shows Browse

Ceramic

<< Block >><< Space >> << Item >>

<< Block >><< Space >> << Item >>

<< Item, ItemWithIcon >>

<< Item, ItemWithMetadata >>

GLUE.framework

RadioRunning 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

RadioRunning 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