SlideShare a Scribd company logo
1 of 137
Lessons from Building
The World’s Largest
Social Music Platform
Matthew Ogle & Anil Bawa Cavia
FoWA 2007
How does it work?
How does it work?
Listen
- to your own music
- to Last.fm radio
How does it work?
Listen
- to your own music
- to Last.fm radio
Share
-your taste
instead of files
- automatic, via
“scrobbling”
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
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
15 million tracks scrobbled / day
15 million tracks scrobbled / day
(175 scrobbles per second)
15 million tracks scrobbled / day
(175 scrobbles per second)
Over 6 billion tracks scrobbled since 2003
15 million tracks scrobbled / day
(175 scrobbles per second)
Over 6 billion tracks scrobbled since 2003
10 million artists
15 million tracks scrobbled / day
(175 scrobbles per second)
Over 6 billion tracks scrobbled since 2003
10 million artists
70 million tracks
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
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
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
Last.fm World Domination Headquarters
Whitechapel, London, 2004
Early Growth Lessons
Early Growth Lessons
Don’t overextend – scale with your growth, not before
Early Growth Lessons
Don’t overextend – scale with your growth, not before
Make sure revenue sources scale with increased usage
Early Growth Lessons
Don’t overextend – scale with your growth, not before
Make sure revenue sources scale with increased usage
Google ads
Early Growth Lessons
Don’t overextend – scale with your growth, not before
Make sure revenue sources scale with increased usage
Google ads
User subscriptions
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
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
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
Audioscrobbler.com homepage, late 2004
Openness and Growth
Openness and Growth
In 2004, we had a cool service, but needed data
Openness and Growth
In 2004, we had a cool service, but needed data
Audioscrobbler Protocol 1.0
Openness and Growth
In 2004, we had a cool service, but needed data
Audioscrobbler Protocol 1.0
Webservices for accessing users’ music profile data
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
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
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
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
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)
Openness and Users
Openness and Users
Involve non-technical users as well
Openness and Users
Involve non-technical users as well
Promote a community around your application
Openness and Users
Involve non-technical users as well
Promote a community around your application
Talk to your users (bad news > no news)
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…
Moving into the new office
Old Street, London, May 2006
Growing up
process
Growing up
process
product
Growing up
process
product
Growing up
process
product
Growing up
• 20 to 40+ employees in 6 months
process
product
Growing up
• 20 to 40+ employees in 6 months
• “people trump process”
process
product
Growing up
• 20 to 40+ employees in 6 months
• “people trump process”
• simple tools are effective tools
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
Growing up
process excerpt from #last.fm irc channel
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)
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
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'
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.
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..
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
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?
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
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
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
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)
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?
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.
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.
Growing up
process excerpt from #last.fm irc channel
osmotic communication
process
product
Growing up
process
product
Growing up
• 15 million unique users a month
process
product
Growing up
• 15 million unique users a month
• plan for going global
process
product
Growing up
• 15 million unique users a month
• plan for going global
• affiliations should enhance the user
experience
process
product
Growing up
• 15 million unique users a month
• plan for going global
• affiliations should enhance the user
experience
• harness critical mass
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
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
product
Growing up
harness critical mass
product
Growing up
harness critical mass
product
Growing up
harness critical mass
user-generated content
product
Growing up
harness critical mass
user-generated content
network effects of socialization
product
Growing up
harness critical mass
user-generated content
network effects of socialization
affiliate services
product
Growing up
harness critical mass
user-generated content
user moderation
network effects of socialization
affiliate services
product
Growing up
harness critical mass
user-generated content
drives feature design
product
Growing up
product
Growing up
embed your service in others
product
Growing up
embed your service in others
quilts
product
Growing up
embed your service in others
quilts charts
product
Growing up
embed your service in others
quilts charts radio
product
Growing up
embed your service in others
allow users to export
product
Growing up
product
Growing up
transition from service to platform
product
Growing up
transition from service to platform
product
Growing up
transition from service to platform
product
Growing up
transition from service to platform
product
Growing up
transition from service to platform
openness is key to web
platforms
Attention and “Myware”
Attention and “Myware”
Attention and “Myware”
When you pay attention to something (or don’t), data is created
Attention and “Myware”
When you pay attention to something (or don’t), data is created
Myware: spying on yourself
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”
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
Attention data
Monetizing attention
Attention data
Monetizing attention
1 - Microchunk it - Reduce the content to its simplest form.
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.
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.
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.
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
Attention data
Monetizing attention
Attention data
Monetizing attention
Powerplay is sponsored airtime
Attention data
Monetizing attention
Powerplay is sponsored airtime
Individualized targeting based on attention history
Attention data
Monetizing attention
Powerplay is sponsored airtime
Individualized targeting based on attention history
New attention metrics for reporting
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
Case study: tag cloud moderation
Attention data
Case study: tag cloud moderation
Attention data
Paris Hilton tag cloud, October 2006
Case study: tag cloud moderation
Attention data
Paris Hilton tag cloud, October 2006 Paris Hilton tag cloud, February 2007
Attention data
Case study: tag cloud moderation
Attention data
Censorship is not acceptable in a folksonomy
Case study: tag cloud moderation
Attention data
Censorship is not acceptable in a folksonomy
Attention data does not lie
Case study: tag cloud moderation
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
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
Future of Last.fm
more
Future of Last.fm
more
less
Future of Last.fm
more
less
Future of Last.fm
more
less
Future of Last.fm
• more growth
more
less
Future of Last.fm
• more growth
• more streamable music
more
less
Future of Last.fm
• more growth
• more streamable music
• more ambient findability
more
less
Future of Last.fm
• more growth
• more streamable music
• more ambient findability
• more personalization /
things you can do with your data
more
less
Future of Last.fm
more
less
Future of Last.fm
• fewer interfaces
more
less
Future of Last.fm
• fewer interfaces
• fewer barriers to entry
more
less
Future of Last.fm
• fewer interfaces
• fewer barriers to entry
• fewer gradients?
Thank-you.
Questions?
matt@last.fm anil@last.fm

More Related Content

Similar to Building the World's Largest Social Music Platform: Lessons from Last.fm

The Evolution of Spotify Home Architecture - Qcon 2019
The Evolution of Spotify Home Architecture - Qcon 2019The Evolution of Spotify Home Architecture - Qcon 2019
The Evolution of Spotify Home Architecture - Qcon 2019Karthik Murugesan
 
Get Your Extension Discovered
Get Your Extension DiscoveredGet Your Extension Discovered
Get Your Extension DiscoveredTwitch Developers
 
Rapid API Development with LoopBack/StrongLoop
Rapid API Development with LoopBack/StrongLoopRapid API Development with LoopBack/StrongLoop
Rapid API Development with LoopBack/StrongLoopRaymond Camden
 
[오픈소스컨설팅]Session 2 2. Future of Team Collaboration
[오픈소스컨설팅]Session 2 2. Future of Team Collaboration[오픈소스컨설팅]Session 2 2. Future of Team Collaboration
[오픈소스컨설팅]Session 2 2. Future of Team CollaborationOpen Source Consulting
 
Testing Adhearsion Applications
Testing Adhearsion ApplicationsTesting Adhearsion Applications
Testing Adhearsion ApplicationsLuca Pradovera
 
Velocity EU 2014 - How BBC Sport Scales Engineering
Velocity EU 2014 - How BBC Sport Scales EngineeringVelocity EU 2014 - How BBC Sport Scales Engineering
Velocity EU 2014 - How BBC Sport Scales EngineeringKeith Mitchell
 
Big Data At Spotify
Big Data At SpotifyBig Data At Spotify
Big Data At SpotifyAdam Kawa
 
AWS Customer Presentation - Skifta
AWS Customer Presentation - SkiftaAWS Customer Presentation - Skifta
AWS Customer Presentation - SkiftaAmazon Web Services
 
Spotify cassandra london
Spotify cassandra londonSpotify cassandra london
Spotify cassandra londonNoa Resare
 
SoundCloud API Do:s and Don't:s
SoundCloud API Do:s and Don't:sSoundCloud API Do:s and Don't:s
SoundCloud API Do:s and Don't:sEric Wahlforss
 
How Shutl Delivers Even Faster Using Neo4J
How Shutl Delivers Even Faster Using Neo4JHow Shutl Delivers Even Faster Using Neo4J
How Shutl Delivers Even Faster Using Neo4JC4Media
 
API-Driven Development with OpenAPI Specification Testing
API-Driven Development with OpenAPI Specification TestingAPI-Driven Development with OpenAPI Specification Testing
API-Driven Development with OpenAPI Specification TestingNordic APIs
 
Podcast & Screencasting On Rails
Podcast & Screencasting On RailsPodcast & Screencasting On Rails
Podcast & Screencasting On Railsguest75489e
 
Desert Code Camp 2016.1 - Stateful Distributed Systems
Desert Code Camp 2016.1 - Stateful Distributed SystemsDesert Code Camp 2016.1 - Stateful Distributed Systems
Desert Code Camp 2016.1 - Stateful Distributed SystemsJoe Rawlings
 
TDC2017 | POA Trilha BigData - Escalabilidade, Performance e Arquitetura do A...
TDC2017 | POA Trilha BigData - Escalabilidade, Performance e Arquitetura do A...TDC2017 | POA Trilha BigData - Escalabilidade, Performance e Arquitetura do A...
TDC2017 | POA Trilha BigData - Escalabilidade, Performance e Arquitetura do A...tdc-globalcode
 
Deploying Next Gen Systems with Zero Downtime
Deploying Next Gen Systems with Zero DowntimeDeploying Next Gen Systems with Zero Downtime
Deploying Next Gen Systems with Zero DowntimeTwilio Inc
 

Similar to Building the World's Largest Social Music Platform: Lessons from Last.fm (20)

The Evolution of Spotify Home Architecture - Qcon 2019
The Evolution of Spotify Home Architecture - Qcon 2019The Evolution of Spotify Home Architecture - Qcon 2019
The Evolution of Spotify Home Architecture - Qcon 2019
 
Get Your Extension Discovered
Get Your Extension DiscoveredGet Your Extension Discovered
Get Your Extension Discovered
 
Rapid API Development with LoopBack/StrongLoop
Rapid API Development with LoopBack/StrongLoopRapid API Development with LoopBack/StrongLoop
Rapid API Development with LoopBack/StrongLoop
 
[오픈소스컨설팅]Session 2 2. Future of Team Collaboration
[오픈소스컨설팅]Session 2 2. Future of Team Collaboration[오픈소스컨설팅]Session 2 2. Future of Team Collaboration
[오픈소스컨설팅]Session 2 2. Future of Team Collaboration
 
Testing Adhearsion Applications
Testing Adhearsion ApplicationsTesting Adhearsion Applications
Testing Adhearsion Applications
 
Velocity EU 2014 - How BBC Sport Scales Engineering
Velocity EU 2014 - How BBC Sport Scales EngineeringVelocity EU 2014 - How BBC Sport Scales Engineering
Velocity EU 2014 - How BBC Sport Scales Engineering
 
Big Data At Spotify
Big Data At SpotifyBig Data At Spotify
Big Data At Spotify
 
AWS Customer Presentation - Skifta
AWS Customer Presentation - SkiftaAWS Customer Presentation - Skifta
AWS Customer Presentation - Skifta
 
Spotify cassandra london
Spotify cassandra londonSpotify cassandra london
Spotify cassandra london
 
Pinto+Stratopan+Love
Pinto+Stratopan+LovePinto+Stratopan+Love
Pinto+Stratopan+Love
 
Innovateeurope
InnovateeuropeInnovateeurope
Innovateeurope
 
SoundCloud API Do:s and Don't:s
SoundCloud API Do:s and Don't:sSoundCloud API Do:s and Don't:s
SoundCloud API Do:s and Don't:s
 
How Shutl Delivers Even Faster Using Neo4J
How Shutl Delivers Even Faster Using Neo4JHow Shutl Delivers Even Faster Using Neo4J
How Shutl Delivers Even Faster Using Neo4J
 
API-Driven Development with OpenAPI Specification Testing
API-Driven Development with OpenAPI Specification TestingAPI-Driven Development with OpenAPI Specification Testing
API-Driven Development with OpenAPI Specification Testing
 
Cassandra nyc
Cassandra nycCassandra nyc
Cassandra nyc
 
Podcast & Screencasting On Rails
Podcast & Screencasting On RailsPodcast & Screencasting On Rails
Podcast & Screencasting On Rails
 
Intro to Podcasting
Intro to PodcastingIntro to Podcasting
Intro to Podcasting
 
Desert Code Camp 2016.1 - Stateful Distributed Systems
Desert Code Camp 2016.1 - Stateful Distributed SystemsDesert Code Camp 2016.1 - Stateful Distributed Systems
Desert Code Camp 2016.1 - Stateful Distributed Systems
 
TDC2017 | POA Trilha BigData - Escalabilidade, Performance e Arquitetura do A...
TDC2017 | POA Trilha BigData - Escalabilidade, Performance e Arquitetura do A...TDC2017 | POA Trilha BigData - Escalabilidade, Performance e Arquitetura do A...
TDC2017 | POA Trilha BigData - Escalabilidade, Performance e Arquitetura do A...
 
Deploying Next Gen Systems with Zero Downtime
Deploying Next Gen Systems with Zero DowntimeDeploying Next Gen Systems with Zero Downtime
Deploying Next Gen Systems with Zero Downtime
 

Recently uploaded

Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactPECB
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionSafetyChain Software
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...Sapna Thakur
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Sapana Sha
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpinRaunakKeshri1
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...Pooja Nehwal
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdfQucHHunhnh
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfchloefrazer622
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesFatimaKhan178732
 
9548086042 for call girls in Indira Nagar with room service
9548086042  for call girls in Indira Nagar  with room service9548086042  for call girls in Indira Nagar  with room service
9548086042 for call girls in Indira Nagar with room servicediscovermytutordmt
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
The byproduct of sericulture in different industries.pptx
The byproduct of sericulture in different industries.pptxThe byproduct of sericulture in different industries.pptx
The byproduct of sericulture in different industries.pptxShobhayan Kirtania
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 

Recently uploaded (20)

Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory Inspection
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpin
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdf
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and Actinides
 
9548086042 for call girls in Indira Nagar with room service
9548086042  for call girls in Indira Nagar  with room service9548086042  for call girls in Indira Nagar  with room service
9548086042 for call girls in Indira Nagar with room service
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
The byproduct of sericulture in different industries.pptx
The byproduct of sericulture in different industries.pptxThe byproduct of sericulture in different industries.pptx
The byproduct of sericulture in different industries.pptx
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
Advance Mobile Application Development class 07
Advance Mobile Application Development class 07Advance Mobile Application Development class 07
Advance Mobile Application Development class 07
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 

Building the World's Largest Social Music Platform: Lessons from Last.fm

  • 1. Lessons from Building The World’s Largest Social Music Platform Matthew Ogle & Anil Bawa Cavia FoWA 2007
  • 2.
  • 3.
  • 4.
  • 5. How does it work?
  • 6. How does it work? Listen - to your own music - to Last.fm radio
  • 7. How does it work? Listen - to your own music - to Last.fm radio Share -your taste instead of files - automatic, via “scrobbling”
  • 8. 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
  • 9. 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
  • 10.
  • 11. 15 million tracks scrobbled / day
  • 12. 15 million tracks scrobbled / day (175 scrobbles per second)
  • 13. 15 million tracks scrobbled / day (175 scrobbles per second) Over 6 billion tracks scrobbled since 2003
  • 14. 15 million tracks scrobbled / day (175 scrobbles per second) Over 6 billion tracks scrobbled since 2003 10 million artists
  • 15. 15 million tracks scrobbled / day (175 scrobbles per second) Over 6 billion tracks scrobbled since 2003 10 million artists 70 million tracks
  • 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
  • 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
  • 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
  • 19. Last.fm World Domination Headquarters Whitechapel, London, 2004
  • 21. Early Growth Lessons Don’t overextend – scale with your growth, not before
  • 22. Early Growth Lessons Don’t overextend – scale with your growth, not before Make sure revenue sources scale with increased usage
  • 23. Early Growth Lessons Don’t overextend – scale with your growth, not before Make sure revenue sources scale with increased usage Google ads
  • 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
  • 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
  • 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
  • 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
  • 30. Openness and Growth In 2004, we had a cool service, but needed data
  • 31. Openness and Growth In 2004, we had a cool service, but needed data Audioscrobbler Protocol 1.0
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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)
  • 39. Openness and Users Involve non-technical users as well
  • 40. Openness and Users Involve non-technical users as well Promote a community around your application
  • 41. Openness and Users Involve non-technical users as well Promote a community around your application Talk to your users (bad news > no news)
  • 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…
  • 43.
  • 44.
  • 45.
  • 46.
  • 47. Moving into the new office Old Street, London, May 2006
  • 52. process product Growing up • 20 to 40+ employees in 6 months
  • 53. process product Growing up • 20 to 40+ employees in 6 months • “people trump process”
  • 54. process product Growing up • 20 to 40+ employees in 6 months • “people trump process” • simple tools are effective tools
  • 55. 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
  • 56. Growing up process excerpt from #last.fm irc channel
  • 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)
  • 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
  • 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'
  • 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.
  • 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..
  • 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
  • 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?
  • 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
  • 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 3:45 PM
  • 66. 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
  • 67. 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)
  • 68. 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?
  • 69. 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.
  • 70. 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.
  • 71. Growing up process excerpt from #last.fm irc channel osmotic communication
  • 73. process product Growing up • 15 million unique users a month
  • 74. process product Growing up • 15 million unique users a month • plan for going global
  • 75. process product Growing up • 15 million unique users a month • plan for going global • affiliations should enhance the user experience
  • 76. process product Growing up • 15 million unique users a month • plan for going global • affiliations should enhance the user experience • harness critical mass
  • 77. 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
  • 78. 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
  • 81. product Growing up harness critical mass user-generated content
  • 82. product Growing up harness critical mass user-generated content network effects of socialization
  • 83. product Growing up harness critical mass user-generated content network effects of socialization affiliate services
  • 84. product Growing up harness critical mass user-generated content user moderation network effects of socialization affiliate services
  • 85. product Growing up harness critical mass user-generated content drives feature design
  • 87. product Growing up embed your service in others
  • 88. product Growing up embed your service in others quilts
  • 89. product Growing up embed your service in others quilts charts
  • 90. product Growing up embed your service in others quilts charts radio
  • 91. product Growing up embed your service in others allow users to export
  • 93. product Growing up transition from service to platform
  • 94. product Growing up transition from service to platform
  • 95. product Growing up transition from service to platform
  • 96. product Growing up transition from service to platform
  • 97. product Growing up transition from service to platform openness is key to web platforms
  • 100. Attention and “Myware” When you pay attention to something (or don’t), data is created
  • 101. Attention and “Myware” When you pay attention to something (or don’t), data is created Myware: spying on yourself
  • 102. 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”
  • 103. 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
  • 104.
  • 105.
  • 107. Attention data Monetizing attention 1 - Microchunk it - Reduce the content to its simplest form.
  • 108. 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.
  • 109. 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.
  • 110. 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.
  • 111. 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
  • 114. Attention data Monetizing attention Powerplay is sponsored airtime Individualized targeting based on attention history
  • 115. Attention data Monetizing attention Powerplay is sponsored airtime Individualized targeting based on attention history New attention metrics for reporting
  • 116. 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
  • 117. Case study: tag cloud moderation Attention data
  • 118. Case study: tag cloud moderation Attention data Paris Hilton tag cloud, October 2006
  • 119. Case study: tag cloud moderation Attention data Paris Hilton tag cloud, October 2006 Paris Hilton tag cloud, February 2007
  • 120. Attention data Case study: tag cloud moderation
  • 121. Attention data Censorship is not acceptable in a folksonomy Case study: tag cloud moderation
  • 122. Attention data Censorship is not acceptable in a folksonomy Attention data does not lie Case study: tag cloud moderation
  • 123. 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
  • 124. 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
  • 130. more less Future of Last.fm • more growth • more streamable music
  • 131. more less Future of Last.fm • more growth • more streamable music • more ambient findability
  • 132. more less Future of Last.fm • more growth • more streamable music • more ambient findability • more personalization / things you can do with your data
  • 134. more less Future of Last.fm • fewer interfaces
  • 135. more less Future of Last.fm • fewer interfaces • fewer barriers to entry
  • 136. more less Future of Last.fm • fewer interfaces • fewer barriers to entry • fewer gradients?