mbltdev15: hector zarate, spotify

91
Consistent, Thin and Dumb Hector Zarate (@iOSCowboy)

Upload: e-legion

Post on 22-Jan-2018

1.136 views

Category:

Mobile


0 download

TRANSCRIPT

Page 1: MBLTDev15: Hector Zarate, Spotify

Consistent, Thin and DumbHector Zarate (@iOSCowboy)

Page 2: MBLTDev15: Hector Zarate, Spotify

Spotify Numbers

58 markets Over 30 million Songs75 million Active Users"(20 million Subscribers)

Page 3: MBLTDev15: Hector Zarate, Spotify

iOS Client Numbers

40 monthly contributors 0.5 million lines of code millions of users

Page 4: MBLTDev15: Hector Zarate, Spotify

Visually Inconsistent"

Thick"

Client-Based

Page 5: MBLTDev15: Hector Zarate, Spotify

Consistent"

Light "

Backend Driven

Page 6: MBLTDev15: Hector Zarate, Spotify

Consistent"

Thin"

Dumb

Page 7: MBLTDev15: Hector Zarate, Spotify

?

2013

2015

2025

Page 8: MBLTDev15: Hector Zarate, Spotify

1. Scale

Page 9: MBLTDev15: Hector Zarate, Spotify

2. Innovation

Page 10: MBLTDev15: Hector Zarate, Spotify

3. Modular Organization

Page 11: MBLTDev15: Hector Zarate, Spotify

3. Modular Organization

Radio Running Album Show

Player Browse Artist Playlist

Social Concert

CarChart

Discover Genres

Page 12: MBLTDev15: Hector Zarate, Spotify

Radio Running Album Show

Player Browse Artist Playlist

Social Concert

CarChart

Discover GenresAds Equalizer Inbox Podcast

Page 13: MBLTDev15: Hector Zarate, Spotify

Radio Running Album Show

Player Browse Artist Playlist

Social Concert

CarChart

Discover GenresAds Equalizer Inbox Podcast

Page 14: MBLTDev15: Hector Zarate, Spotify

Radio Running Album Show

Player Browse Artist Playlist

Social Concert

CarChart

Discover GenresAds Equalizer Inbox Podcast

Page 15: MBLTDev15: Hector Zarate, Spotify

Radio Running Album Show

Player Browse Artist Playlist

Social Concert

CarChart

Discover GenresAds Equalizer Inbox Podcast

Page 16: MBLTDev15: Hector Zarate, Spotify

Radio Running Album Show

Player Browse Artist Playlist

Social Concert

CarChart

Discover GenresAds Equalizer Inbox Podcast

Page 17: MBLTDev15: Hector Zarate, Spotify

Radio Running Album Show

Player Browse Artist Playlist

Social Concert

CarChart

Discover GenresAds Equalizer Inbox Podcast

Page 18: MBLTDev15: Hector Zarate, Spotify

Radio Running Album Show

Player Browse Artist Playlist

Social Concert

CarChart

Discover GenresAds Equalizer Inbox Podcast

Page 19: MBLTDev15: Hector Zarate, Spotify

Radio Running Album

Ads Equalizer Inbox

Page 20: MBLTDev15: Hector Zarate, Spotify
Page 21: MBLTDev15: Hector Zarate, Spotify

Radio Running Album Show

Player Browse Artist Playlist

Social Concert

CarChart

Discover GenresAds Equalizer Inbox Podcast

Page 22: MBLTDev15: Hector Zarate, Spotify

Radio Running Album Show

Player Browse Artist Playlist

Social Concert

CarChart

Discover GenresAds Equalizer Inbox Podcast

Page 23: MBLTDev15: Hector Zarate, Spotify

GLUE(Global Language, Unified Experience)

Page 24: MBLTDev15: Hector Zarate, Spotify

FontsColorsMetrics

Page 25: MBLTDev15: Hector Zarate, Spotify
Page 26: MBLTDev15: Hector Zarate, Spotify
Page 27: MBLTDev15: Hector Zarate, Spotify
Page 28: MBLTDev15: Hector Zarate, Spotify

UIKit

GLUE.framework

Radio Running Albums Shows

Page 29: MBLTDev15: Hector Zarate, Spotify

UIKit

GLUE.framework

Radio Running Albums Shows

Page 30: MBLTDev15: Hector Zarate, Spotify
Page 31: MBLTDev15: Hector Zarate, Spotify

Consistent

Page 32: MBLTDev15: Hector Zarate, Spotify

Consistent"

Thin "

Dumb

Page 33: MBLTDev15: Hector Zarate, Spotify
Page 34: MBLTDev15: Hector Zarate, Spotify
Page 35: MBLTDev15: Hector Zarate, Spotify
Page 36: MBLTDev15: Hector Zarate, Spotify
Page 37: MBLTDev15: Hector Zarate, Spotify

ITEM"!

- title!- subtitle!- image

SPACE"!

- title

1 nblocks

BLOCK"!

- title!- renderType

1 nitems

Page 38: MBLTDev15: Hector Zarate, Spotify
Page 39: MBLTDev15: Hector Zarate, Spotify

space

Page 40: MBLTDev15: Hector Zarate, Spotify
Page 41: MBLTDev15: Hector Zarate, Spotify

block

block

Page 42: MBLTDev15: Hector Zarate, Spotify
Page 43: MBLTDev15: Hector Zarate, Spotify

item item

Page 44: MBLTDev15: Hector Zarate, Spotify
Page 45: MBLTDev15: Hector Zarate, Spotify
Page 46: MBLTDev15: Hector Zarate, Spotify
Page 47: MBLTDev15: Hector Zarate, Spotify
Page 48: MBLTDev15: Hector Zarate, Spotify
Page 49: MBLTDev15: Hector Zarate, Spotify
Page 50: MBLTDev15: Hector Zarate, Spotify
Page 51: MBLTDev15: Hector Zarate, Spotify
Page 52: MBLTDev15: Hector Zarate, Spotify
Page 53: MBLTDev15: Hector Zarate, Spotify
Page 54: MBLTDev15: Hector Zarate, Spotify
Page 55: MBLTDev15: Hector Zarate, Spotify
Page 56: MBLTDev15: Hector Zarate, Spotify
Page 57: MBLTDev15: Hector Zarate, Spotify
Page 58: MBLTDev15: Hector Zarate, Spotify
Page 59: MBLTDev15: Hector Zarate, Spotify
Page 60: MBLTDev15: Hector Zarate, Spotify
Page 61: MBLTDev15: Hector Zarate, Spotify

GLUE.framework

Radio Running Albums ShowsBrowse

?

Page 62: MBLTDev15: Hector Zarate, Spotify

GLUE.framework

RadioRunning Albums Shows Browse

?

Page 63: MBLTDev15: Hector Zarate, Spotify

GLUE.framework

RadioRunning Albums Shows Browse

Ceramic

Page 64: MBLTDev15: Hector Zarate, Spotify

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

Page 65: MBLTDev15: Hector Zarate, Spotify

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

<< Item, ItemWithIcon >>

<< Item, ItemWithMetadata >>

Page 66: MBLTDev15: Hector Zarate, Spotify
Page 67: MBLTDev15: Hector Zarate, Spotify
Page 68: MBLTDev15: Hector Zarate, Spotify

GLUE.framework

RadioRunning Albums Shows Browse

CeramicThin

Page 69: MBLTDev15: Hector Zarate, Spotify

Consistent"

Thin "

Dumb

Page 70: MBLTDev15: Hector Zarate, Spotify

View Model

View Controller

View

Model

Page 71: MBLTDev15: Hector Zarate, Spotify

View Model

View Controller

View

Model

Page 72: MBLTDev15: Hector Zarate, Spotify

View Model

View Controller

View

Model

Backend Client

Page 73: MBLTDev15: Hector Zarate, Spotify

GLUE.framework

RadioRunning Albums Shows Browse

Ceramic

Page 74: MBLTDev15: Hector Zarate, Spotify

GLUE.framework

Radio

Running Albums Shows Browse

Ceramic

Hubs

Page 75: MBLTDev15: Hector Zarate, Spotify

View Model

View Controller

View

Model

Backend Client

Dumb

Page 76: MBLTDev15: Hector Zarate, Spotify

Consistent"

Thin"

Dumb

Page 77: MBLTDev15: Hector Zarate, Spotify

Демо!

Page 78: MBLTDev15: Hector Zarate, Spotify

yey!

Page 79: MBLTDev15: Hector Zarate, Spotify

yey!

Page 80: MBLTDev15: Hector Zarate, Spotify

yey!

Page 81: MBLTDev15: Hector Zarate, Spotify

yey!

Page 82: MBLTDev15: Hector Zarate, Spotify

yey!

Page 83: MBLTDev15: Hector Zarate, Spotify

Risks

Page 84: MBLTDev15: Hector Zarate, Spotify

Risks

Page 85: MBLTDev15: Hector Zarate, Spotify

Risks

Page 86: MBLTDev15: Hector Zarate, Spotify

GLUE.framework

Radio

Running Albums Shows Browse

Ceramic

Hubs

Page 87: MBLTDev15: Hector Zarate, Spotify

Frameworks as Machines

Page 88: MBLTDev15: Hector Zarate, Spotify

Frameworks as Machines

Page 89: MBLTDev15: Hector Zarate, Spotify

Final Words

1. Single Purpose"

2. Vision"

3. Share That Toy"

4. Marketing"

5. Shared Success

Page 90: MBLTDev15: Hector Zarate, Spotify

Спасибо!

Page 91: MBLTDev15: Hector Zarate, Spotify

Вопросы?Hector Zarate "@iOSCowboy"!!

spotify.com/jobs