How to build desktop apps that help your web app succeed

3,065 views

Published on

The Carsonified gang suggested a slightly different spin on a "Lessons from Last.fm" talk, focused around the desktop. Here are the slides that came out of it, along with an unveiling of the Last.fm Boffin tech demo.

Presented at FOWA Dublin, 6 March 2009

Published in: Sports, Self Improvement
0 Comments
7 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,065
On SlideShare
0
From Embeds
0
Number of Embeds
425
Actions
Shares
0
Downloads
65
Comments
0
Likes
7
Embeds 0
No embeds

No notes for slide

How to build desktop apps that help your web app succeed

  1. 1. How to build desktop apps that help your web app succeed Matthew Ogle (matt@last.fm) FOWA Dublin, 6 March 2009
  2. 2. Wait, desktop?
  3. 3. Wait, desktop? Web 2.0 has (arguably) eroded the importance of desktop apps
  4. 4. Wait, desktop? Web 2.0 has (arguably) eroded the importance of desktop apps How many of you use Gmail as a primary email client?
  5. 5. Desktop, really?
  6. 6. Desktop, really? It’s a good, familiar pitch. Web apps…
  7. 7. Desktop, really? It’s a good, familiar pitch. Web apps… are cross-platform
  8. 8. Desktop, really? It’s a good, familiar pitch. Web apps… are cross-platform no install process
  9. 9. Desktop, really? It’s a good, familiar pitch. Web apps… are cross-platform no install process available anywhere
  10. 10. Desktop, really? It’s a good, familiar pitch. Web apps… are cross-platform no install process available anywhere taste like cloud
  11. 11. Yes, desktop.
  12. 12. Yes, desktop. It’s 2009, no desktop is an island
  13. 13. Yes, desktop. It’s 2009, no desktop is an island At Last.fm, our desktop strategy was key to our crazy growth
  14. 14. Yes, desktop. It’s 2009, no desktop is an island At Last.fm, our desktop strategy was key to our crazy growth Along the way, discovered some useful models for desktop-web interaction
  15. 15. Yes, desktop. It’s 2009, no desktop is an island At Last.fm, our desktop strategy was key to our crazy growth Along the way, discovered some useful models for desktop-web interaction Hints that desktop might be even more important in future
  16. 16. In the beginning…
  17. 17. In the beginning… Last.fm began in 2002 as two separate projects
  18. 18. In the beginning… Last.fm began in 2002 as two separate projects : personal online radio that learns what you like and gets better over time
  19. 19. In the beginning… Last.fm began in 2002 as two separate projects : personal online radio that learns what you like and gets better over time Fig. 1-a
  20. 20. In the beginning… Last.fm began in 2002 as two separate projects : personal online radio that learns what you like and gets better over time Fig. 1-a
  21. 21. In the beginning… Last.fm began in 2002 as two separate projects : personal online radio that learns what you like and gets better over time ඃ Fig. 1-a
  22. 22. In the beginning… Last.fm began in 2002 as two separate projects : personal online radio that learns what you like and gets better over time ඃ Fig. 1-a
  23. 23. In the beginning… Last.fm began in 2002 as two separate projects : personal online radio that learns what you like and gets better over time ඃ Fig. 1-a
  24. 24. In the beginning…
  25. 25. In the beginning… : desktop media player plugins that track (“scrobble”) what you listen to, build up detailed personal music profile
  26. 26. In the beginning… : desktop media player plugins that track (“scrobble”) what you listen to, build up detailed personal music profile Fig. 1-b
  27. 27. In the beginning… : desktop media player plugins that track (“scrobble”) what you listen to, build up detailed personal music profile Fig. 1-b
  28. 28. In the beginning… : desktop media player plugins that track (“scrobble”) what you listen to, build up detailed personal music profile Fig. 1-b
  29. 29. In the beginning… : desktop media player plugins that track (“scrobble”) what you listen to, build up detailed personal music profile om nom nom Fig. 1-b
  30. 30. Last.fm in 2003
  31. 31. Audioscrobbler in 2003
  32. 32. Last.fm
  33. 33. Last.fm Combining the two = ideal feedback loop for crowdsourced music recommendation
  34. 34. Last.fm Combining the two = ideal feedback loop for crowdsourced music recommendation Last.fm and Audioscrobbler gradually merged over 2004–2006
  35. 35. Last.fm Combining the two = ideal feedback loop for crowdsourced music recommendation Last.fm and Audioscrobbler gradually merged over 2004–2006 Online radio and music recommendation have become primary user-facing services of Last.fm
  36. 36. Last.fm Combining the two = ideal feedback loop for crowdsourced music recommendation Last.fm and Audioscrobbler gradually merged over 2004–2006 Online radio and music recommendation have become primary user-facing services of Last.fm But the fuel comes from the desktop – via scrobbling
  37. 37. Last.fm
  38. 38. Last.fm What’s in a scrobble?
  39. 39. Last.fm What’s in a scrobble? Made from very basic metadata: user name track name artist name timestamp
  40. 40. Last.fm
  41. 41. Last.fm The API for sending this data to our servers has been public since our inception
  42. 42. Last.fm The API for sending this data to our servers has been public since our inception Last.fm only added an official scrobbling app in mid-2006
  43. 43. Last.fm The API for sending this data to our servers has been public since our inception Last.fm only added an official scrobbling app in mid-2006 More than 100 media players, devices, and platforms can scrobble, and we currently handle up to 800 / second at peak
  44. 44. World o’ scrobbles
  45. 45. World o’ scrobbles
  46. 46. World o’ scrobbles
  47. 47. World o’ scrobbles
  48. 48. World o’ scrobbles
  49. 49. World o’ scrobbles
  50. 50. World o’ scrobbles
  51. 51. World o’ scrobbles Emacs
  52. 52. World o’ scrobbles
  53. 53. World o’ scrobbles “My name’s Matt and I’ve just listened to ‘Edmonton’ by the Rural Alberta Advantage”…times 30 billion
  54. 54. World o’ scrobbles “My name’s Matt and I’ve just listened to ‘Edmonton’ by the Rural Alberta Advantage”…times 30 billion (That’s a lot of music taste data)
  55. 55. World o’ scrobbles “My name’s Matt and I’ve just listened to ‘Edmonton’ by the Rural Alberta Advantage”…times 30 billion (That’s a lot of music taste data) But why all this scrobbling, especially with desktop barriers-to-entry? And how did it drive growth?
  56. 56. Scrobbling and growth
  57. 57. Scrobbling and growth Scrobbling helps the scrobbler first: their profile pages show off their awesome music taste in real-time
  58. 58. Scrobbling and growth Scrobbling helps the scrobbler first: their profile pages show off their awesome music taste in real-time Scrobbling helps the network next: every time we don’t recognize an artist or track, we add it to our database
  59. 59. Desktop growth fuel (among other things, this creates a page for it)
  60. 60. Desktop growth fuel (among other things, this creates a page for it)
  61. 61. Desktop growth fuel
  62. 62. Desktop growth fuel Ambient page creation via desktop app
  63. 63. Desktop growth fuel Ambient page creation via desktop app Tons of incoming links to personal music profiles + long tail of pages built by scrobbles = great free Google juice
  64. 64. Desktop growth fuel Ambient page creation via desktop app Tons of incoming links to personal music profiles + long tail of pages built by scrobbles = great free Google juice 12 million artist pages 43 million track pages 25+ million unique active users per month
  65. 65. Desktop growth fuel
  66. 66. Desktop growth fuel Kept desktop app unobtrusive and simple during successive website updates
  67. 67. Desktop growth fuel Kept desktop app unobtrusive and simple during successive website updates Only a few major additions since 2006
  68. 68. Desktop growth fuel Kept desktop app unobtrusive and simple during successive website updates Only a few major additions since 2006 iTunes bootstrapping
  69. 69. Desktop growth fuel Kept desktop app unobtrusive and simple during successive website updates Only a few major additions since 2006 iTunes bootstrapping Audio fingerprinting
  70. 70. Enough about music
  71. 71. Enough about music We’re pretty lucky to be running a music service
  72. 72. Enough about music We’re pretty lucky to be running a music service Are the concepts behind scrobbling useful for anything else?
  73. 73. Scrobbles = attention data
  74. 74. Scrobbles = attention data Attention data is a digital record that describes the time spent interacting with someone or something. - Jim Meyer, http://www.usingattention.com/2006/08/19/ what-is-attention-data/
  75. 75. Scrobbles = attention data Attention data is a digital record that describes the time spent interacting with someone or something. - Jim Meyer, http://www.usingattention.com/2006/08/19/ what-is-attention-data/ Scrobbling doesn’t ask a user to change or develop new behaviours; it asks permission to record existing ones
  76. 76. Attention data
  77. 77. Attention data Tons of these interactions are happening every minute on the desktop
  78. 78. Attention data Tons of these interactions are happening every minute on the desktop downloading / browsing photos from a camera
  79. 79. Attention data Tons of these interactions are happening every minute on the desktop downloading / browsing photos from a camera chatting to friends on IM
  80. 80. Attention data Tons of these interactions are happening every minute on the desktop downloading / browsing photos from a camera chatting to friends on IM annotating a research paper
  81. 81. Attention data Tons of these interactions are happening every minute on the desktop downloading / browsing photos from a camera chatting to friends on IM annotating a research paper watching videos
  82. 82. Attention data Tons of these interactions are happening every minute on the desktop downloading / browsing photos from a camera chatting to friends on IM annotating a research paper watching videos (your desktop interaction here)
  83. 83. Working with attention
  84. 84. Working with attention Your service should seek to amplify + add value to attention data
  85. 85. Working with attention Your service should seek to amplify + add value to attention data In doing so, you ideally give it...
  86. 86. Working with attention Your service should seek to amplify + add value to attention data In doing so, you ideally give it... more personal value (this comes first, don’t neglect it)
  87. 87. Working with attention Your service should seek to amplify + add value to attention data In doing so, you ideally give it... more personal value (this comes first, don’t neglect it) network value (this is where your service can really shine)
  88. 88. More desktop principles
  89. 89. More desktop principles Expose a good API from the start (good != elaborate)
  90. 90. More desktop principles Expose a good API from the start (good != elaborate) Don’t force users to change habits; use desktop to give them an on-ramp
  91. 91. More desktop principles Expose a good API from the start (good != elaborate) Don’t force users to change habits; use desktop to give them an on-ramp Works for more than just music or attention data (Tripit/Dopplr itinerary parsing, photo uploaders)
  92. 92. More desktop principles Expose a good API from the start (good != elaborate) Don’t force users to change habits; use desktop to give them an on-ramp Works for more than just music or attention data (Tripit/Dopplr itinerary parsing, photo uploaders) Desktop + privacy balance = hard but essential (being open source and offering data export helps)
  93. 93. So what about...
  94. 94. The Future?
  95. 95. The Future? Bernal Sphere, 1970s (Apologies to Matt Jones, Dopplr)
  96. 96. The Future? Bernal Sphere, 1970s (Apologies to Matt Jones, Dopplr) The thinking here seems to be: “People like planned garden communities, and space is the future, so let’s just put one in space! Yeah! That’s much better!”
  97. 97. Utopian desktop futures
  98. 98. Utopian desktop futures AIR
  99. 99. Utopian desktop futures AIR Prism
  100. 100. Utopian desktop futures AIR Prism Google Gears
  101. 101. Utopian desktop futures AIR Prism Google Gears Songbird
  102. 102. Utopian desktop futures AIR Prism Google Gears Songbird These let us web developers build desktop apps, potentially for the first time, ZOMG
  103. 103. Utopian desktop futures
  104. 104. Utopian desktop futures All these projects are interesting and exciting and you should look them up
  105. 105. Utopian desktop futures All these projects are interesting and exciting and you should look them up …cause I’m not going to talk about them.
  106. 106. Utopian desktop futures All these projects are interesting and exciting and you should look them up …cause I’m not going to talk about them. (I’m not yet convinced they significantly change the web OR the desktop. They just move it around a bit.)
  107. 107. An alternate vision from the Last.fm labs
  108. 108. Turn it inside out
  109. 109. Turn it inside out Instead of sending local content TO the web (the on-ramp) or putting the web inside a desktop experience (Songbird, AIR)...
  110. 110. Turn it inside out Instead of sending local content TO the web (the on-ramp) or putting the web inside a desktop experience (Songbird, AIR)... ...why can’t the web make local content better? And leave it there?
  111. 111. Turn it inside out Instead of sending local content TO the web (the on-ramp) or putting the web inside a desktop experience (Songbird, AIR)... ...why can’t the web make local content better? And leave it there? …using proven desktop conventions and programming languages?
  112. 112. Introducing Boffin
  113. 113. Introducing Boffin Last.fm’s crowdsourced music intelligence meets your local music collection
  114. 114. Introducing Boffin Last.fm’s crowdsourced music intelligence meets your local music collection [Demo]
  115. 115. Introducing Boffin Last.fm’s crowdsourced music intelligence meets your local music collection [Demo] Download Mac, Windows, or source: http://is.gd/lDLG
  116. 116. Parting tips
  117. 117. Parting tips Make it selfish
  118. 118. Parting tips Make it selfish Make it open
  119. 119. Parting tips Make it selfish Make it open Amplify user attention
  120. 120. Parting tips Make it selfish Make it open Amplify user attention Create on-ramps to your web experience
  121. 121. Parting tips Make it selfish Make it open Amplify user attention Create on-ramps to your web experience Be wary of uptopian futures that involve platform lock-in
  122. 122. Parting tips Make it selfish Make it open Amplify user attention Create on-ramps to your web experience Be wary of uptopian futures that involve platform lock-in Befriend local desktop developers, trade notes, learn from each other
  123. 123. Parting tips Make it selfish Make it open Amplify user attention Create on-ramps to your web experience Be wary of uptopian futures that involve platform lock-in Befriend local desktop developers, trade notes, learn from each other Use your web smarts to make the desktop exciting again
  124. 124. Any questions? See you online: www.last.fm/user/flaneur www.twitter.com/flaneur irc.audioscrobbler.com matt@last.fm

×