SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Ähnlich wie 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
 

Ähnlich wie 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
 

Kürzlich hochgeladen

ClimART Action | eTwinning Project
ClimART Action    |    eTwinning ProjectClimART Action    |    eTwinning Project
ClimART Action | eTwinning Projectjordimapav
 
Q-Factor General Quiz-7th April 2024, Quiz Club NITW
Q-Factor General Quiz-7th April 2024, Quiz Club NITWQ-Factor General Quiz-7th April 2024, Quiz Club NITW
Q-Factor General Quiz-7th April 2024, Quiz Club NITWQuiz Club NITW
 
Unraveling Hypertext_ Analyzing Postmodern Elements in Literature.pptx
Unraveling Hypertext_ Analyzing  Postmodern Elements in  Literature.pptxUnraveling Hypertext_ Analyzing  Postmodern Elements in  Literature.pptx
Unraveling Hypertext_ Analyzing Postmodern Elements in Literature.pptxDhatriParmar
 
4.11.24 Mass Incarceration and the New Jim Crow.pptx
4.11.24 Mass Incarceration and the New Jim Crow.pptx4.11.24 Mass Incarceration and the New Jim Crow.pptx
4.11.24 Mass Incarceration and the New Jim Crow.pptxmary850239
 
How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17Celine George
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfJemuel Francisco
 
MS4 level being good citizen -imperative- (1) (1).pdf
MS4 level   being good citizen -imperative- (1) (1).pdfMS4 level   being good citizen -imperative- (1) (1).pdf
MS4 level being good citizen -imperative- (1) (1).pdfMr Bounab Samir
 
Textual Evidence in Reading and Writing of SHS
Textual Evidence in Reading and Writing of SHSTextual Evidence in Reading and Writing of SHS
Textual Evidence in Reading and Writing of SHSMae Pangan
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptxmary850239
 
Reading and Writing Skills 11 quarter 4 melc 1
Reading and Writing Skills 11 quarter 4 melc 1Reading and Writing Skills 11 quarter 4 melc 1
Reading and Writing Skills 11 quarter 4 melc 1GloryAnnCastre1
 
Indexing Structures in Database Management system.pdf
Indexing Structures in Database Management system.pdfIndexing Structures in Database Management system.pdf
Indexing Structures in Database Management system.pdfChristalin Nelson
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management SystemChristalin Nelson
 
Tree View Decoration Attribute in the Odoo 17
Tree View Decoration Attribute in the Odoo 17Tree View Decoration Attribute in the Odoo 17
Tree View Decoration Attribute in the Odoo 17Celine George
 
Congestive Cardiac Failure..presentation
Congestive Cardiac Failure..presentationCongestive Cardiac Failure..presentation
Congestive Cardiac Failure..presentationdeepaannamalai16
 
Oppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and FilmOppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and FilmStan Meyer
 
Scientific Writing :Research Discourse
Scientific  Writing :Research  DiscourseScientific  Writing :Research  Discourse
Scientific Writing :Research DiscourseAnita GoswamiGiri
 
CHEST Proprioceptive neuromuscular facilitation.pptx
CHEST Proprioceptive neuromuscular facilitation.pptxCHEST Proprioceptive neuromuscular facilitation.pptx
CHEST Proprioceptive neuromuscular facilitation.pptxAneriPatwari
 
DIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptx
DIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptxDIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptx
DIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptxMichelleTuguinay1
 

Kürzlich hochgeladen (20)

ClimART Action | eTwinning Project
ClimART Action    |    eTwinning ProjectClimART Action    |    eTwinning Project
ClimART Action | eTwinning Project
 
Q-Factor General Quiz-7th April 2024, Quiz Club NITW
Q-Factor General Quiz-7th April 2024, Quiz Club NITWQ-Factor General Quiz-7th April 2024, Quiz Club NITW
Q-Factor General Quiz-7th April 2024, Quiz Club NITW
 
Unraveling Hypertext_ Analyzing Postmodern Elements in Literature.pptx
Unraveling Hypertext_ Analyzing  Postmodern Elements in  Literature.pptxUnraveling Hypertext_ Analyzing  Postmodern Elements in  Literature.pptx
Unraveling Hypertext_ Analyzing Postmodern Elements in Literature.pptx
 
Mattingly "AI & Prompt Design: Large Language Models"
Mattingly "AI & Prompt Design: Large Language Models"Mattingly "AI & Prompt Design: Large Language Models"
Mattingly "AI & Prompt Design: Large Language Models"
 
4.11.24 Mass Incarceration and the New Jim Crow.pptx
4.11.24 Mass Incarceration and the New Jim Crow.pptx4.11.24 Mass Incarceration and the New Jim Crow.pptx
4.11.24 Mass Incarceration and the New Jim Crow.pptx
 
How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
 
MS4 level being good citizen -imperative- (1) (1).pdf
MS4 level   being good citizen -imperative- (1) (1).pdfMS4 level   being good citizen -imperative- (1) (1).pdf
MS4 level being good citizen -imperative- (1) (1).pdf
 
Textual Evidence in Reading and Writing of SHS
Textual Evidence in Reading and Writing of SHSTextual Evidence in Reading and Writing of SHS
Textual Evidence in Reading and Writing of SHS
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx
 
Reading and Writing Skills 11 quarter 4 melc 1
Reading and Writing Skills 11 quarter 4 melc 1Reading and Writing Skills 11 quarter 4 melc 1
Reading and Writing Skills 11 quarter 4 melc 1
 
Indexing Structures in Database Management system.pdf
Indexing Structures in Database Management system.pdfIndexing Structures in Database Management system.pdf
Indexing Structures in Database Management system.pdf
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management System
 
Tree View Decoration Attribute in the Odoo 17
Tree View Decoration Attribute in the Odoo 17Tree View Decoration Attribute in the Odoo 17
Tree View Decoration Attribute in the Odoo 17
 
Congestive Cardiac Failure..presentation
Congestive Cardiac Failure..presentationCongestive Cardiac Failure..presentation
Congestive Cardiac Failure..presentation
 
Paradigm shift in nursing research by RS MEHTA
Paradigm shift in nursing research by RS MEHTAParadigm shift in nursing research by RS MEHTA
Paradigm shift in nursing research by RS MEHTA
 
Oppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and FilmOppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and Film
 
Scientific Writing :Research Discourse
Scientific  Writing :Research  DiscourseScientific  Writing :Research  Discourse
Scientific Writing :Research Discourse
 
CHEST Proprioceptive neuromuscular facilitation.pptx
CHEST Proprioceptive neuromuscular facilitation.pptxCHEST Proprioceptive neuromuscular facilitation.pptx
CHEST Proprioceptive neuromuscular facilitation.pptx
 
DIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptx
DIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptxDIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptx
DIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptx
 

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?