A place to cache linked articles (think custom and personal wayback machine)
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

4 роки тому
4 роки тому
4 роки тому
4 роки тому
4 роки тому
4 роки тому
4 роки тому
4 роки тому
4 роки тому
4 роки тому
4 роки тому
4 роки тому
4 роки тому
4 роки тому
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  1. <!doctype html><!-- This is a valid HTML5 document. -->
  2. <!-- Screen readers, SEO, extensions and so on. -->
  3. <html lang="fr">
  4. <!-- Has to be within the first 1024 bytes, hence before the <title>
  5. See: https://www.w3.org/TR/2012/CR-html5-20121217/document-metadata.html#charset -->
  6. <meta charset="utf-8">
  7. <!-- Why no `X-UA-Compatible` meta: https://stackoverflow.com/a/6771584 -->
  8. <!-- The viewport meta is quite crowded and we are responsible for that.
  9. See: https://codepen.io/tigt/post/meta-viewport-for-2015 -->
  10. <meta name="viewport" content="width=device-width,initial-scale=1">
  11. <!-- Required to make a valid HTML5 document. -->
  12. <title>Who Listens to the Listeners? (archive) — David Larlet</title>
  13. <meta name="description" content="Publication mise en cache pour en conserver une trace.">
  14. <!-- That good ol' feed, subscribe :). -->
  15. <link rel="alternate" type="application/atom+xml" title="Feed" href="/david/log/">
  16. <!-- Generated from https://realfavicongenerator.net/ such a mess. -->
  17. <link rel="apple-touch-icon" sizes="180x180" href="/static/david/icons2/apple-touch-icon.png">
  18. <link rel="icon" type="image/png" sizes="32x32" href="/static/david/icons2/favicon-32x32.png">
  19. <link rel="icon" type="image/png" sizes="16x16" href="/static/david/icons2/favicon-16x16.png">
  20. <link rel="manifest" href="/static/david/icons2/site.webmanifest">
  21. <link rel="mask-icon" href="/static/david/icons2/safari-pinned-tab.svg" color="#07486c">
  22. <link rel="shortcut icon" href="/static/david/icons2/favicon.ico">
  23. <meta name="msapplication-TileColor" content="#f0f0ea">
  24. <meta name="msapplication-config" content="/static/david/icons2/browserconfig.xml">
  25. <meta name="theme-color" content="#f0f0ea">
  26. <!-- Documented, feel free to shoot an email. -->
  27. <link rel="stylesheet" href="/static/david/css/style_2020-06-19.css">
  28. <!-- See https://www.zachleat.com/web/comprehensive-webfonts/ for the trade-off. -->
  29. <link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
  30. <link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
  31. <link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
  32. <link rel="preload" href="/static/david/css/fonts/triplicate_t3_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
  33. <link rel="preload" href="/static/david/css/fonts/triplicate_t3_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
  34. <link rel="preload" href="/static/david/css/fonts/triplicate_t3_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
  35. <script type="text/javascript">
  36. function toggleTheme(themeName) {
  37. document.documentElement.classList.toggle(
  38. 'forced-dark',
  39. themeName === 'dark'
  40. )
  41. document.documentElement.classList.toggle(
  42. 'forced-light',
  43. themeName === 'light'
  44. )
  45. }
  46. const selectedTheme = localStorage.getItem('theme')
  47. if (selectedTheme !== 'undefined') {
  48. toggleTheme(selectedTheme)
  49. }
  50. </script>
  51. <meta name="robots" content="noindex, nofollow">
  52. <meta content="origin-when-cross-origin" name="referrer">
  53. <!-- Canonical URL for SEO purposes -->
  54. <link rel="canonical" href="https://librarianshipwreck.wordpress.com/2019/12/06/who-listens-to-the-listeners/">
  55. <body class="remarkdown h1-underline h2-underline h3-underline hr-center ul-star pre-tick">
  56. <article>
  57. <header>
  58. <h1>Who Listens to the Listeners?</h1>
  59. </header>
  60. <nav>
  61. <p class="center">
  62. <a href="/david/" title="Aller à l’accueil">🏠</a> •
  63. <a href="https://librarianshipwreck.wordpress.com/2019/12/06/who-listens-to-the-listeners/" title="Lien vers le contenu original">Source originale</a>
  64. </p>
  65. </nav>
  66. <hr>
  67. <main>
  68. <p>It can be kind of fun to look through the record collections of your friends. Whether this collection consists of actual records, cassette tapes, compact discs, or just a lengthy “library” list you scroll through – it presents an opportunity to discover new musicians, listen to cool songs you haven’t listened to in a while, and there is always a certain sense that you get to know a person a bit better by getting to know their musical taste. Granted, it has become progressively trickier to sift through your friend’s records as these collections have ceased being an accumulation of physical objects and have increasingly become an unseen database of their streaming preferences.</p>
  69. <p>Luckily as the year comes to a close, the music streaming platform Spotify provides its users with a tantalizing (and ready to share) glimpse of their listening habits. It’s fun! It’s shareable! And it’s a troubling reminder that being “fun” and “shareable” is one of the primary ways by which rampant surveillance becomes normalized.</p>
  70. <p>Recently, Spotify users found themselves prompted to “see how you listened in 2019,” and if they chose to tap on the prompt they were delivered a colorful tour through their past year in music. Users were informed that “in 2019, your sound changed with the seasons,” were told of the geographical distribution of musicians they listened to, were praised for being “genre fluid” (and told their top music genres), were told how many new artists they discovered this year, were reminded of the musicians and songs they listened to the most in the year, were confronted with the number of total minutes they had spent listening to music on Spotify, and given that the decade is wrapping up Spotify even goes so far as to crown “your artist of the decade.” It’s a brief, colorful tour through the year that was, brought to life with a peppering of clips from the songs a user had listened to most in the previous year. And throughout, the user is continually encouraged to “share this story,” and it is even suggested a listener should tweet a message out to the “one lucky artist” who was their number one for the year.</p>
  71. <p>Spotify Wrapped presents an amusing mix of information that easily blends the nostalgic, with the mildly embarrassing, and stirs it all together with an assortment of impressive numbers. It reminds the user what songs they had on loop last Winter (perhaps reminding them, for good or ill, what it was that was prompting them to listen to those songs on loop). Similarly, it can lead to an amused self-deprecating feeling that the top artists and songs weren’t the ones a user had expected. And it is easy to be shocked and impressed by just how many new artists a user discovered (ostensibly thanks to the platform), and the number of total minutes spent listening can be strikingly large. What’s more the constant prompting to “share this story,” pushes the act of privately listening to music into something easy to broadcast, and what’s more these are colorful entertaining graphics made expressly for the purposes of sharing.</p>
  72. <p>But there is also something deeply creepy about Spotify Wrapped. For it is a very clear reminder to Spotify users that when they are listening to music the platform is listening to them do it. Spotify knows how many times you’ve listened to a particular song, to a particular artist, to a particular genre, and how much total time you’ve spent listening to music on the platform. And though you may have forgotten what song you listened to the most in 2017, Spotify definitely remembers. There are not many occasions when a tech company merrily confronts its users with a sampling of the data its gathering on them, but Spotify Wrapped does just that.</p>
  73. <p>The obvious rejoinder to this is that “of course Spotify does this!” And, in fairness, it is not as though Spotify Wrapped reveals something particularly scandalous. After all, this monitoring is easily understood within the context of the platform wherein the number of listens needs to be tracked so that Spotify can continue paying hundredths of cents to musicians, and because Spotify needs to know what a user is listening to in order to better tailor recommendations to them (and to other users). This does not even fully amount to a case in which users could be up in arms about agreeing to something they didn’t understand that was buried in the bowels of a terms of service agreement. Furthermore, it is not as though this is the first time that Spotify has put together such year-end reports, so there isn’t even the shock at something new. And yet, with its year end wrap up, Spotify provides a fairly clear reminder to its users that it really knows an unnerving amount about them.</p>
  74. <p>What Spotify presents its users with is a very appealing bargain: a user can listen to tons of music (choosing to pay a monthly fee if they’d prefer to do so without advertisements), and in exchange the platform will get to gather all of the data about these listening habits. And this is a deal that a user enters into even if they choose to pay for the service. The user gets the music, the platform gets the data, and the musician might get a couple of pennies if enough people are listening. Part of what makes this deal seem so good is that, for the user, it seems like forking over their data will only result in better recommendations – and though they may understand that Spotify reserves the right to sell (or do whatever it wants) with the data, that seems much more abstract than getting to listen to music. The negative potential, and future risks, are hidden behind enough levels of benefits that the users ignore the downsides (<a href="https://librarianshipwreck.wordpress.com/2018/08/02/from-megatechnic-bribe-to-megatechnic-blackmail-mumfords-megamachine-after-the-digital-turn/">this is a perfect example of what the social critic Lewis Mumford called “the megatechnic bribe</a>).  And thus, in the guise of a seemingly innocuous tradeoff (in which the user thinks they’re really getting the benefit), the user accepts being subjected to high-tech corporate surveillance.</p>
  75. <p>Importantly, this is one of the primary ways in which such surveillance gets normalized. Users just take for granted that the price of using a platform (even if they’re actually paying for it) is to let that platform gather their data. To make matters worse, this is eventually turned into something celebratory as users are encouraged to share Spotify’s yearly surveillance report with their friends. As a result, this corporate surveillance becomes not only something one is subjected to, but something that one advertises as being fun. By broadcasting their Spotify Wrapped list, users not only further normalize surveillance, but they make it seem fun and cool – pushing those who have not received similar reports to have a feeling like they’re missing out. Of course, Spotify is hardly the only music streaming platform that is gathering data on the listening habits of its users (they all are), but the blithe way in which it reframes surveillance as a celebration provides an opportunity to pause and consider how much privacy is being surrendered, and the way in which doing that is presented as an amusing game.</p>
  76. <p>Lest there be any doubt, Spotify Wrapped is hardly the top surveillance concern at the moment. Battles over facial recognition are setting themselves up to be major civil rights issues in the years ahead; the avalanche of “smart home” devices raises the specter of how fully private spaces will be taken over by constant corporate surveillance; the Amazon Ring is driving important debates over questions of policing, institutional racism, and panoptic surveillance; and the data practices of companies like Google and Facebook continue to spark fresh anxieties. In comparison to such things, some bright graphics about favorite songs really do seem innocuous.</p>
  77. <p>Yet Spotify Wrapped should concern us, precisely because it seems so banal. High-tech surveillance succeeds by slowly chipping away at the obstacles to its acceptance. It does not start with the total takeover, rather it begins on a smaller scale, presenting itself as harmless and enjoyable. As people steadily grow accustomed to this sort of surveillance, as they come to see themselves as its beneficiaries instead of as its victims, they become open to a little bit more surveillance, and a little bit more surveillance, and a little bit more. This is the steady wearing down of defenses, the slow transformation of corporate creepiness into cultural complacency, that allows rampant high-tech surveillance to progress. Surveillance is not always the high-tech dystopia kicking down the door, sometimes it’s the pair of wonderful headphones that keep people distracted so they don’t realize that the high-tech dystopia has climbed in through the window in the living room.</p>
  78. <p>It can be fun to look through your friends’ record collections. It can be enjoyable to learn about what your friends have been listening to lately. But the companies that are subjecting you to constant high-tech surveillance aren’t your friends, even if they make brightly colored reports for you.</p>
  79. </main>
  80. </article>
  81. <hr>
  82. <footer>
  83. <p>
  84. <a href="/david/" title="Aller à l’accueil">🏠</a> •
  85. <a href="/david/log/" title="Accès au flux RSS">🤖</a> •
  86. <a href="http://larlet.com" title="Go to my English profile" data-instant>🇨🇦</a> •
  87. <a href="mailto:david%40larlet.fr" title="Envoyer un courriel">📮</a> •
  88. <abbr title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340">🧚</abbr>
  89. </p>
  90. <template id="theme-selector">
  91. <form>
  92. <fieldset>
  93. <legend>Thème</legend>
  94. <label>
  95. <input type="radio" value="auto" name="chosen-color-scheme" checked> Auto
  96. </label>
  97. <label>
  98. <input type="radio" value="dark" name="chosen-color-scheme"> Foncé
  99. </label>
  100. <label>
  101. <input type="radio" value="light" name="chosen-color-scheme"> Clair
  102. </label>
  103. </fieldset>
  104. </form>
  105. </template>
  106. </footer>
  107. <script type="text/javascript">
  108. function loadThemeForm(templateName) {
  109. const themeSelectorTemplate = document.querySelector(templateName)
  110. const form = themeSelectorTemplate.content.firstElementChild
  111. themeSelectorTemplate.replaceWith(form)
  112. form.addEventListener('change', (e) => {
  113. const chosenColorScheme = e.target.value
  114. localStorage.setItem('theme', chosenColorScheme)
  115. toggleTheme(chosenColorScheme)
  116. })
  117. const selectedTheme = localStorage.getItem('theme')
  118. if (selectedTheme && selectedTheme !== 'undefined') {
  119. form.querySelector(`[value="${selectedTheme}"]`).checked = true
  120. }
  121. }
  122. const prefersColorSchemeDark = '(prefers-color-scheme: dark)'
  123. window.addEventListener('load', () => {
  124. let hasDarkRules = false
  125. for (const styleSheet of Array.from(document.styleSheets)) {
  126. let mediaRules = []
  127. for (const cssRule of styleSheet.cssRules) {
  128. if (cssRule.type !== CSSRule.MEDIA_RULE) {
  129. continue
  130. }
  131. // WARNING: Safari does not have/supports `conditionText`.
  132. if (cssRule.conditionText) {
  133. if (cssRule.conditionText !== prefersColorSchemeDark) {
  134. continue
  135. }
  136. } else {
  137. if (cssRule.cssText.startsWith(prefersColorSchemeDark)) {
  138. continue
  139. }
  140. }
  141. mediaRules = mediaRules.concat(Array.from(cssRule.cssRules))
  142. }
  143. // WARNING: do not try to insert a Rule to a styleSheet you are
  144. // currently iterating on, otherwise the browser will be stuck
  145. // in a infinite loop…
  146. for (const mediaRule of mediaRules) {
  147. styleSheet.insertRule(mediaRule.cssText)
  148. hasDarkRules = true
  149. }
  150. }
  151. if (hasDarkRules) {
  152. loadThemeForm('#theme-selector')
  153. }
  154. })
  155. </script>
  156. </body>
  157. </html>