• Save
Last.fm - Lessons from building the World's largest social music platform
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Last.fm - Lessons from building the World's largest social music platform

on

  • 21,204 views

Anil Bawa & Matthew Ogle at FOWA, London

Anil Bawa & Matthew Ogle at FOWA, London

Statistics

Views

Total Views
21,204
Views on SlideShare
21,132
Embed Views
72

Actions

Likes
62
Downloads
1
Comments
2

7 Embeds 72

http://www.frankwatching.com 29
http://www.amazingminds.nl 22
http://ppppp.blog31.fc2.com 15
http://www.musicloversgroup.com 3
http://www.desinerd.com 1
http://musicloversgroup.com 1
http://www.slideee.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • <br /><object type="application/x-shockwave-flash" data="http://www.youtube.com/v/Vx6oaAqhp9U&rel=1?path=http://www.youtube.com/v/Vx6oaAqhp9U&rel=1" width="350" height="288"><param name="movie" value="http://www.youtube.com/v/Vx6oaAqhp9U&rel=1?path=http://www.youtube.com/v/Vx6oaAqhp9U&rel=1" /></object>
    Are you sure you want to
    Your message goes here
    Processing…


  • <br /><object type="application/x-shockwave-flash" data="http://www.youtube.com/v/mN9pChGd-4w&rel=1?path=http://www.youtube.com/v/mN9pChGd-4w&rel=1" width="350" height="288"><param name="movie" value="http://www.youtube.com/v/mN9pChGd-4w&rel=1?path=http://www.youtube.com/v/mN9pChGd-4w&rel=1" /></object>
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Last.fm - Lessons from building the World's largest social music platform Presentation Transcript

  • 1. Lessons from Building The World’s Largest Social Music Platform Matthew Ogle & Anil Bawa Cavia FoWA 2007
  • 2. How does it work?
  • 3. How does it work? Listen - to your own music - to Last.fm radio
  • 4. How does it work? Listen - to your own music - to Last.fm radio Share -your taste instead of files - automatic, via “scrobbling”
  • 5. How does it work? Listen - to your own music - to Last.fm radio Share -your taste instead of files - automatic, via “scrobbling” Discover - via your friends - via people with similar taste
  • 6. How does it work? Listen - to your own music - to Last.fm radio Share -your taste instead of files - automatic, via “scrobbling” Discover - via your friends - via people with similar taste
  • 7. 15 million tracks scrobbled / day
  • 8. 15 million tracks scrobbled / day (175 scrobbles per second)
  • 9. 15 million tracks scrobbled / day (175 scrobbles per second) Over 6 billion tracks scrobbled since 2003
  • 10. 15 million tracks scrobbled / day (175 scrobbles per second) Over 6 billion tracks scrobbled since 2003 10 million artists
  • 11. 15 million tracks scrobbled / day (175 scrobbles per second) Over 6 billion tracks scrobbled since 2003 10 million artists 70 million tracks
  • 12. 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
  • 13. 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
  • 14. 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
  • 15. Last.fm World Domination Headquarters Whitechapel, London, 2004
  • 16. Early Growth Lessons
  • 17. Early Growth Lessons Don’t overextend – scale with your growth, not before
  • 18. Early Growth Lessons Don’t overextend – scale with your growth, not before Make sure revenue sources scale with increased usage
  • 19. Early Growth Lessons Don’t overextend – scale with your growth, not before Make sure revenue sources scale with increased usage Google ads
  • 20. Early Growth Lessons Don’t overextend – scale with your growth, not before Make sure revenue sources scale with increased usage Google ads User subscriptions
  • 21. 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
  • 22. 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
  • 23. 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
  • 24. Audioscrobbler.com homepage, late 2004
  • 25. Openness and Growth
  • 26. Openness and Growth In 2004, we had a cool service, but needed data
  • 27. Openness and Growth In 2004, we had a cool service, but needed data Audioscrobbler Protocol 1.0
  • 28. Openness and Growth In 2004, we had a cool service, but needed data Audioscrobbler Protocol 1.0 Webservices for accessing users’ music profile data
  • 29. 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
  • 30. 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
  • 31. 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
  • 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 Together, provided “round trip” incentive for plugin developers Winamp, iTunes, WMP, Amarok Foobar, QCD, mpd, XMMS, mpg321 Noatun, Quod Libet, Jinzora, Ampache
  • 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 Winamp, iTunes, WMP, Amarok Foobar, QCD, mpd, XMMS, mpg321 Noatun, Quod Libet, Jinzora, Ampache (and dozens more)
  • 34. Openness and Users
  • 35. Openness and Users Involve non-technical users as well
  • 36. Openness and Users Involve non-technical users as well Promote a community around your application
  • 37. Openness and Users Involve non-technical users as well Promote a community around your application Talk to your users (bad news > no news)
  • 38. 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…
  • 39. Moving into the new office Old Street, London, May 2006
  • 40. Growing up
  • 41. process Growing up
  • 42. process product Growing up
  • 43. process product Growing up
  • 44. process product Growing up • 20 to 40+ employees in 6 months
  • 45. process product Growing up • 20 to 40+ employees in 6 months • “people trump process”
  • 46. process product Growing up • 20 to 40+ employees in 6 months • “people trump process” • simple tools are effective tools
  • 47. process product Growing up • 20 to 40+ employees in 6 months • “people trump process” • simple tools are effective tools • radiate information across different channels in the company
  • 48. Growing up process excerpt from #last.fm irc channel
  • 49. 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)
  • 50. 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
  • 51. 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'
  • 52. 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.
  • 53. 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..
  • 54. 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
  • 55. 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?
  • 56. 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
  • 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) 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 3:45 PM
  • 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 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 3:45 PM mokele: ? lookup track 11082618
  • 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' 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 3:45 PM mokele: ? lookup track 11082618 irccat: track.id(11082618) Zetan Spore ??? Subspace Distortion http://www.last.fm/music/Zetan+Spore/_/Subspace+Distortion (lastfm=t)
  • 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. 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 3:45 PM mokele: ? lookup track 11082618 irccat: track.id(11082618) Zetan Spore ??? Subspace Distortion http://www.last.fm/music/Zetan+Spore/_/Subspace+Distortion (lastfm=t) pete_bug: jonty, can you please suspend PP campaign 3670?
  • 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.. 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 3:45 PM mokele: ? lookup track 11082618 irccat: track.id(11082618) Zetan Spore ??? Subspace Distortion http://www.last.fm/music/Zetan+Spore/_/Subspace+Distortion (lastfm=t) pete_bug: jonty, can you please suspend PP campaign 3670? jonty: pete_bug, sure one sec.
  • 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 felix: hey abc when did you put the adsense leaderboard on bottom cat pages live? abc: friday 3:45 PM mokele: ? lookup track 11082618 irccat: track.id(11082618) Zetan Spore ??? Subspace Distortion http://www.last.fm/music/Zetan+Spore/_/Subspace+Distortion (lastfm=t) pete_bug: jonty, can you please suspend PP campaign 3670? jonty: pete_bug, sure one sec. irccat: Trac: ticket #1526 (http://support.last.fm/trac/ticket/1526) "group recommendations are slow" created by muz.
  • 63. Growing up process excerpt from #last.fm irc channel osmotic communication
  • 64. process product Growing up
  • 65. process product Growing up • 15 million unique users a month
  • 66. process product Growing up • 15 million unique users a month • plan for going global
  • 67. process product Growing up • 15 million unique users a month • plan for going global • affiliations should enhance the user experience
  • 68. process product Growing up • 15 million unique users a month • plan for going global • affiliations should enhance the user experience • harness critical mass
  • 69. process product Growing up • 15 million unique users a month • plan for going global • affiliations should enhance the user experience • harness critical mass • embed your service in others
  • 70. process product Growing up • 15 million unique users a month • plan for going global • affiliations should enhance the user experience • harness critical mass • embed your service in others • make the transition from service to platform
  • 71. product Growing up harness critical mass
  • 72. product Growing up harness critical mass
  • 73. product Growing up harness critical mass user-generated content
  • 74. product Growing up harness critical mass user-generated content network effects of socialization
  • 75. product Growing up harness critical mass user-generated content network effects of socialization affiliate services
  • 76. product Growing up harness critical mass user-generated content user moderation network effects of socialization affiliate services
  • 77. product Growing up harness critical mass user-generated content drives feature design
  • 78. product Growing up
  • 79. product Growing up embed your service in others
  • 80. product Growing up embed your service in others quilts
  • 81. product Growing up embed your service in others quilts charts
  • 82. product Growing up embed your service in others quilts charts radio
  • 83. product Growing up embed your service in others allow users to export
  • 84. product Growing up
  • 85. product Growing up transition from service to platform
  • 86. product Growing up transition from service to platform
  • 87. product Growing up transition from service to platform
  • 88. product Growing up transition from service to platform
  • 89. product Growing up transition from service to platform openness is key to web platforms
  • 90. Attention and “Myware”
  • 91. Attention and “Myware”
  • 92. Attention and “Myware” When you pay attention to something (or don’t), data is created
  • 93. Attention and “Myware” When you pay attention to something (or don’t), data is created Myware: spying on yourself
  • 94. Attention and “Myware” When you pay attention to something (or don’t), data is created Myware: spying on yourself Attention economy alters traditional meaning of “active user”
  • 95. Attention and “Myware” When you pay attention to something (or don’t), data is created Myware: spying on yourself Attention economy alters traditional meaning of “active user” Social web + attention aggregators = where the action is
  • 96. Attention data Monetizing attention
  • 97. Attention data Monetizing attention 1 - Microchunk it - Reduce the content to its simplest form.
  • 98. Attention data Monetizing attention 1 - Microchunk it - Reduce the content to its simplest form. 2 - Free it - Put it out there without walls around it or strings on it.
  • 99. Attention data Monetizing attention 1 - Microchunk it - Reduce the content to its simplest form. 2 - Free it - Put it out there without walls around it or strings on it. 3 - Syndicate it - Let anyone take it and run with it.
  • 100. Attention data Monetizing attention 1 - Microchunk it - Reduce the content to its simplest form. 2 - Free it - Put it out there without walls around it or strings on it. 3 - Syndicate it - Let anyone take it and run with it. 4 - Monetize it - Put the monetization and tracking systems into the microchunk.
  • 101. Attention data Monetizing attention 1 - Microchunk it - Reduce the content to its simplest form. 2 - Free it - Put it out there without walls around it or strings on it. 3 - Syndicate it - Let anyone take it and run with it. 4 - Monetize it - Put the monetization and tracking systems into the microchunk. Fred Wilson, The Future of Media, November 2005
  • 102. Attention data Monetizing attention
  • 103. Attention data Monetizing attention Powerplay is sponsored airtime
  • 104. Attention data Monetizing attention Powerplay is sponsored airtime Individualized targeting based on attention history
  • 105. Attention data Monetizing attention Powerplay is sponsored airtime Individualized targeting based on attention history New attention metrics for reporting
  • 106. Attention data Monetizing attention Powerplay is sponsored airtime Individualized targeting based on attention history New attention metrics for reporting No more CPMs - the ‘scrobble’ is our attention unit
  • 107. Case study: tag cloud moderation Attention data
  • 108. Case study: tag cloud moderation Attention data Paris Hilton tag cloud, October 2006
  • 109. Case study: tag cloud moderation Attention data Paris Hilton tag cloud, October 2006 Paris Hilton tag cloud, February 2007
  • 110. Attention data Case study: tag cloud moderation
  • 111. Attention data Censorship is not acceptable in a folksonomy Case study: tag cloud moderation
  • 112. Attention data Censorship is not acceptable in a folksonomy Attention data does not lie Case study: tag cloud moderation
  • 113. Attention data Censorship is not acceptable in a folksonomy Attention data does not lie Weigh user tags by volume of attention user gives to content Case study: tag cloud moderation
  • 114. Attention data Censorship is not acceptable in a folksonomy Attention data does not lie Weigh user tags by volume of attention user gives to content Attention earns trust Case study: tag cloud moderation
  • 115. Future of Last.fm
  • 116. more Future of Last.fm
  • 117. more less Future of Last.fm
  • 118. more less Future of Last.fm
  • 119. more less Future of Last.fm • more growth
  • 120. more less Future of Last.fm • more growth • more streamable music
  • 121. more less Future of Last.fm • more growth • more streamable music • more ambient findability
  • 122. more less Future of Last.fm • more growth • more streamable music • more ambient findability • more personalization / things you can do with your data
  • 123. more less Future of Last.fm
  • 124. more less Future of Last.fm • fewer interfaces
  • 125. more less Future of Last.fm • fewer interfaces • fewer barriers to entry
  • 126. more less Future of Last.fm • fewer interfaces • fewer barriers to entry • fewer gradients?
  • 127. Thank-you. Questions? matt@last.fm anil@last.fm