Slideshow transcript
Slide 1: Lessons from Building The World’s Largest Social Music Platform Matthew Ogle & Anil Bawa Cavia FoWA 2007
Slide 5: How does it work?
Slide 6: How does it work? Listen - to your own music - to Last.fm radio
Slide 7: How does it work? Listen - to your own music - to Last.fm radio Share -your taste instead of files - automatic, via “scrobbling”
Slide 8: How does it work? Listen - to your own music - to Last.fm radio Share Discover -your taste - via your friends instead of files - via people with - automatic, via similar taste “scrobbling”
Slide 9: How does it work? Listen - to your own music - to Last.fm radio Share Discover -your taste - via your friends instead of files - via people with - automatic, via similar taste “scrobbling”
Slide 11: 15 million tracks scrobbled / day
Slide 12: 15 million tracks scrobbled / day (175 scrobbles per second)
Slide 13: 15 million tracks scrobbled / day (175 scrobbles per second) Over 6 billion tracks scrobbled since 2003
Slide 14: 15 million tracks scrobbled / day (175 scrobbles per second) Over 6 billion tracks scrobbled since 2003 10 million artists
Slide 15: 15 million tracks scrobbled / day (175 scrobbles per second) Over 6 billion tracks scrobbled since 2003 10 million artists 70 million tracks
Slide 16: 15 million tracks scrobbled / day (175 scrobbles per second) Over 6 billion tracks scrobbled since 2003 10 million artists 70 million tracks 700k tracks streamable on Last.fm radio
Slide 17: 15 million tracks scrobbled / day (175 scrobbles per second) Over 6 billion tracks scrobbled since 2003 10 million artists 70 million tracks 700k tracks streamable on Last.fm radio 17 million items tagged
Slide 18: 15 million tracks scrobbled / day (175 scrobbles per second) Over 6 billion tracks scrobbled since 2003 10 million artists 70 million tracks 700k tracks streamable on Last.fm radio 17 million items tagged 145k artist wikis
Slide 19: Last.fm World Domination Headquarters Whitechapel, London, 2004
Slide 20: Early Growth Lessons
Slide 21: Early Growth Lessons Don’t overextend – scale with your growth, not before
Slide 22: Early Growth Lessons Don’t overextend – scale with your growth, not before Make sure revenue sources scale with increased usage
Slide 23: Early Growth Lessons Don’t overextend – scale with your growth, not before Make sure revenue sources scale with increased usage Google ads
Slide 24: Early Growth Lessons Don’t overextend – scale with your growth, not before Make sure revenue sources scale with increased usage Google ads User subscriptions
Slide 25: Early Growth Lessons Don’t overextend – scale with your growth, not before Make sure revenue sources scale with increased usage Google ads User subscriptions Involve users in your web application’s story
Slide 26: Early Growth Lessons Don’t overextend – scale with your growth, not before Make sure revenue sources scale with increased usage Google ads User subscriptions Involve users in your web application’s story Make growth a selfish aim for existing users
Slide 27: Early Growth Lessons Don’t overextend – scale with your growth, not before Make sure revenue sources scale with increased usage Google ads User subscriptions Involve users in your web application’s story Make growth a selfish aim for existing users Be as open as you can afford
Slide 28: Audioscrobbler.com homepage, late 2004
Slide 29: Openness and Growth
Slide 30: Openness and Growth In 2004, we had a cool service, but needed data
Slide 31: Openness and Growth In 2004, we had a cool service, but needed data Audioscrobbler Protocol 1.0
Slide 32: Openness and Growth In 2004, we had a cool service, but needed data Audioscrobbler Protocol 1.0 Webservices for accessing users’ music profile data
Slide 33: Openness and Growth In 2004, we had a cool service, but needed data Audioscrobbler Protocol 1.0 Webservices for accessing users’ music profile data Together, provided “round trip” incentive for plugin developers
Slide 34: Openness and Growth In 2004, we had a cool service, but needed data Audioscrobbler Protocol 1.0 Webservices for accessing users’ music profile data Together, provided “round trip” incentive for plugin developers Winamp, iTunes, WMP, Amarok
Slide 35: Openness and Growth In 2004, we had a cool service, but needed data Audioscrobbler Protocol 1.0 Webservices for accessing users’ music profile data Together, provided “round trip” incentive for plugin developers Winamp, iTunes, WMP, Amarok Foobar, QCD, mpd, XMMS, mpg321
Slide 36: Openness and Growth In 2004, we had a cool service, but needed data Audioscrobbler Protocol 1.0 Webservices for accessing users’ music profile data Together, provided “round trip” incentive for plugin developers Winamp, iTunes, WMP, Amarok Foobar, QCD, mpd, XMMS, mpg321 Noatun, Quod Libet, Jinzora, Ampache
Slide 37: Openness and Growth In 2004, we had a cool service, but needed data Audioscrobbler Protocol 1.0 Webservices for accessing users’ music profile data Together, provided “round trip” incentive for plugin developers Winamp, iTunes, WMP, Amarok Foobar, QCD, mpd, XMMS, mpg321 Noatun, Quod Libet, Jinzora, Ampache (and dozens more)
Slide 38: Openness and Users
Slide 39: Openness and Users Involve non-technical users as well
Slide 40: Openness and Users Involve non-technical users as well Promote a community around your application
Slide 41: Openness and Users Involve non-technical users as well Promote a community around your application Talk to your users (bad news > no news)
Slide 42: Openness and Users Involve non-technical users as well Promote a community around your application Talk to your users (bad news > no news) More likely to tolerate growing pains…
Slide 47: Moving into the new office Old Street, London, May 2006
Slide 48: Growing up
Slide 49: Growing up process
Slide 50: Growing up process product
Slide 51: Growing up process product
Slide 52: Growing up • process 20 to 40+ employees in 6 months product
Slide 53: Growing up • process 20 to 40+ employees in 6 months • “people trump process” product
Slide 54: Growing up • process 20 to 40+ employees in 6 months • “people trump process” product • simple tools are effective tools
Slide 55: Growing up • process 20 to 40+ employees in 6 months • “people trump process” product • simple tools are effective tools • radiate information across different channels in the company
Slide 56: Growing up process excerpt from #last.fm irc channel
Slide 57: Growing up process excerpt from #last.fm irc channel irccat: SVN commit by norman (23872) 'randomSplitter: splits data into train and test sets randomly' (changeset: https://admindev.last.fm/ trac/changeset/23872)
Slide 58: Growing up process excerpt from #last.fm irc channel irccat: SVN commit by norman (23872) 'randomSplitter: splits data into train and test sets randomly' (changeset: https://admindev.last.fm/ trac/changeset/23872) 3:40 PM
Slide 59: Growing up process excerpt from #last.fm irc channel irccat: SVN commit by norman (23872) 'randomSplitter: splits data into train and test sets randomly' (changeset: https://admindev.last.fm/ trac/changeset/23872) 3:40 PM irccat: *** jonty is refreshing webnodes now: 'Fix for group owners'
Slide 60: Growing up process excerpt from #last.fm irc channel irccat: SVN commit by norman (23872) 'randomSplitter: splits data into train and test sets randomly' (changeset: https://admindev.last.fm/ trac/changeset/23872) 3:40 PM irccat: *** jonty is refreshing webnodes now: 'Fix for group owners' mischa: jonty: memcache key should be set to: java-playlist-10093 where 10093 ==userid.
Slide 61: Growing up process excerpt from #last.fm irc channel irccat: SVN commit by norman (23872) 'randomSplitter: splits data into train and test sets randomly' (changeset: https://admindev.last.fm/ trac/changeset/23872) 3:40 PM irccat: *** jonty is refreshing webnodes now: 'Fix for group owners' mischa: jonty: memcache key should be set to: java-playlist-10093 where 10093 ==userid. irccat: Trac: ticket #1779 (http://support.last.fm/trac/ticket/1779) changed by julian, Comment: Fixed for the next release..
Slide 62: Growing up process excerpt from #last.fm irc channel irccat: SVN commit by norman (23872) 'randomSplitter: splits data into train and test sets randomly' (changeset: https://admindev.last.fm/ trac/changeset/23872) 3:40 PM irccat: *** jonty is refreshing webnodes now: 'Fix for group owners' mischa: jonty: memcache key should be set to: java-playlist-10093 where 10093 ==userid. irccat: Trac: ticket #1779 (http://support.last.fm/trac/ticket/1779) changed by julian, Comment: Fixed for the next release.. irccat: number of anon flash streams is 1440, number of registered flash streams is 764
Slide 63: Growing up process excerpt from #last.fm irc channel irccat: SVN commit by norman (23872) 'randomSplitter: splits data into train and test sets randomly' (changeset: https://admindev.last.fm/ trac/changeset/23872) 3:40 PM irccat: *** jonty is refreshing webnodes now: 'Fix for group owners' mischa: jonty: memcache key should be set to: java-playlist-10093 where 10093 ==userid. irccat: Trac: ticket #1779 (http://support.last.fm/trac/ticket/1779) changed by julian, Comment: Fixed for the next release.. irccat: number of anon flash streams is 1440, number of registered flash streams is 764 felix: hey abc when did you put the adsense leaderboard on bottom cat pages live?
Slide 64: Growing up process excerpt from #last.fm irc channel irccat: SVN commit by norman (23872) 'randomSplitter: splits data into train and test sets randomly' (changeset: https://admindev.last.fm/ trac/changeset/23872) 3:40 PM irccat: *** jonty is refreshing webnodes now: 'Fix for group owners' mischa: jonty: memcache key should be set to: java-playlist-10093 where 10093 ==userid. irccat: Trac: ticket #1779 (http://support.last.fm/trac/ticket/1779) changed by julian, Comment: Fixed for the next release.. irccat: number of anon flash streams is 1440, number of registered flash streams is 764 felix: hey abc when did you put the adsense leaderboard on bottom cat pages live? abc: friday
Slide 65: Growing up process excerpt from #last.fm irc channel irccat: SVN commit by norman (23872) 'randomSplitter: splits data into train and test sets randomly' (changeset: https://admindev.last.fm/ trac/changeset/23872) 3:40 PM irccat: *** jonty is refreshing webnodes now: 'Fix for group owners' mischa: jonty: memcache key should be set to: java-playlist-10093 where 10093 ==userid. irccat: Trac: ticket #1779 (http://support.last.fm/trac/ticket/1779) changed by julian, Comment: Fixed for the next release.. irccat: number of anon flash streams is 1440, number of registered flash streams is 764 felix: hey abc when did you put the adsense leaderboard on bottom cat pages live? abc: friday


Add a comment on Slide 1
If you have a SlideShare account, login to comment; else you can comment as a guest- Favorites & Groups
Showing 1-50 of 52 (more)