A place to cache linked articles (think custom and personal wayback machine)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

index.html 29KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644
  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,minimum-scale=1,initial-scale=1,shrink-to-fit=no">
  11. <!-- Required to make a valid HTML5 document. -->
  12. <title>Search data, then, now and eventually (archive) — David Larlet</title>
  13. <!-- Generated from https://realfavicongenerator.net/ such a mess. -->
  14. <link rel="apple-touch-icon" sizes="180x180" href="/static/david/icons/apple-touch-icon.png">
  15. <link rel="icon" type="image/png" sizes="32x32" href="/static/david/icons/favicon-32x32.png">
  16. <link rel="icon" type="image/png" sizes="16x16" href="/static/david/icons/favicon-16x16.png">
  17. <link rel="manifest" href="/manifest.json">
  18. <link rel="mask-icon" href="/static/david/icons/safari-pinned-tab.svg" color="#5bbad5">
  19. <link rel="shortcut icon" href="/static/david/icons/favicon.ico">
  20. <meta name="apple-mobile-web-app-title" content="David Larlet">
  21. <meta name="application-name" content="David Larlet">
  22. <meta name="msapplication-TileColor" content="#da532c">
  23. <meta name="msapplication-config" content="/static/david/icons/browserconfig.xml">
  24. <meta name="theme-color" content="#f0f0ea">
  25. <!-- That good ol' feed, subscribe :p. -->
  26. <link rel=alternate type="application/atom+xml" title=Feed href="/david/log/">
  27. <meta name="robots" content="noindex, nofollow">
  28. <meta content="origin-when-cross-origin" name="referrer">
  29. <!-- Canonical URL for SEO purposes -->
  30. <link rel="canonical" href="http://davidbruant.github.io/longtermlaziness/search-data-then-now-and-eventually.html">
  31. <style>
  32. /* http://meyerweb.com/eric/tools/css/reset/ */
  33. html, body, div, span,
  34. h1, h2, h3, h4, h5, h6, p, blockquote, pre,
  35. a, abbr, address, big, cite, code,
  36. del, dfn, em, img, ins,
  37. small, strike, strong, tt, var,
  38. dl, dt, dd, ol, ul, li,
  39. fieldset, form, label, legend,
  40. table, caption, tbody, tfoot, thead, tr, th, td,
  41. article, aside, canvas, details, embed,
  42. figure, figcaption, footer, header, hgroup,
  43. menu, nav, output, ruby, section, summary,
  44. time, mark, audio, video {
  45. margin: 0;
  46. padding: 0;
  47. border: 0;
  48. font-size: 100%;
  49. font: inherit;
  50. vertical-align: baseline;
  51. }
  52. /* HTML5 display-role reset for older browsers */
  53. article, aside, details, figcaption, figure,
  54. footer, header, hgroup, menu, nav, section { display: block; }
  55. body { line-height: 1; }
  56. blockquote, q { quotes: none; }
  57. blockquote:before, blockquote:after,
  58. q:before, q:after {
  59. content: '';
  60. content: none;
  61. }
  62. table {
  63. border-collapse: collapse;
  64. border-spacing: 0;
  65. }
  66. /* http://practicaltypography.com/equity.html */
  67. /* https://calendar.perfplanet.com/2016/no-font-face-bulletproof-syntax/ */
  68. /* https://www.filamentgroup.com/lab/js-web-fonts.html */
  69. @font-face {
  70. font-family: 'EquityTextB';
  71. src: url('/static/david/css/fonts/Equity-Text-B-Regular-webfont.woff2') format('woff2'),
  72. url('/static/david/css/fonts/Equity-Text-B-Regular-webfont.woff') format('woff');
  73. font-weight: 300;
  74. font-style: normal;
  75. font-display: swap;
  76. }
  77. @font-face {
  78. font-family: 'EquityTextB';
  79. src: url('/static/david/css/fonts/Equity-Text-B-Italic-webfont.woff2') format('woff2'),
  80. url('/static/david/css/fonts/Equity-Text-B-Italic-webfont.woff') format('woff');
  81. font-weight: 300;
  82. font-style: italic;
  83. font-display: swap;
  84. }
  85. @font-face {
  86. font-family: 'EquityTextB';
  87. src: url('/static/david/css/fonts/Equity-Text-B-Bold-webfont.woff2') format('woff2'),
  88. url('/static/david/css/fonts/Equity-Text-B-Bold-webfont.woff') format('woff');
  89. font-weight: 700;
  90. font-style: normal;
  91. font-display: swap;
  92. }
  93. @font-face {
  94. font-family: 'ConcourseT3';
  95. src: url('/static/david/css/fonts/concourse_t3_regular-webfont-20190806.woff2') format('woff2'),
  96. url('/static/david/css/fonts/concourse_t3_regular-webfont-20190806.woff') format('woff');
  97. font-weight: 300;
  98. font-style: normal;
  99. font-display: swap;
  100. }
  101. /* http://practice.typekit.com/lesson/caring-about-opentype-features/ */
  102. body {
  103. /* http://www.cssfontstack.com/ Palatino 99% Win 86% Mac */
  104. font-family: "EquityTextB", Palatino, serif;
  105. background-color: #f0f0ea;
  106. color: #07486c;
  107. font-kerning: normal;
  108. -moz-osx-font-smoothing: grayscale;
  109. -webkit-font-smoothing: subpixel-antialiased;
  110. text-rendering: optimizeLegibility;
  111. font-variant-ligatures: common-ligatures contextual;
  112. font-feature-settings: "kern", "liga", "clig", "calt";
  113. }
  114. pre, code, kbd, samp, var, tt {
  115. font-family: 'TriplicateT4c', monospace;
  116. }
  117. em {
  118. font-style: italic;
  119. color: #323a45;
  120. }
  121. strong {
  122. font-weight: bold;
  123. color: black;
  124. }
  125. nav {
  126. background-color: #323a45;
  127. color: #f0f0ea;
  128. display: flex;
  129. justify-content: space-around;
  130. padding: 1rem .5rem;
  131. }
  132. nav:last-child {
  133. border-bottom: 1vh solid #2d7474;
  134. }
  135. nav a {
  136. color: #f0f0ea;
  137. }
  138. nav abbr {
  139. border-bottom: 1px dotted white;
  140. }
  141. h1 {
  142. border-top: 1vh solid #2d7474;
  143. border-bottom: .2vh dotted #2d7474;
  144. background-color: #e3e1e1;
  145. color: #323a45;
  146. text-align: center;
  147. padding: 5rem 0 4rem 0;
  148. width: 100%;
  149. font-family: 'ConcourseT3';
  150. display: flex;
  151. flex-direction: column;
  152. }
  153. h1.single {
  154. padding-bottom: 10rem;
  155. }
  156. h1 span {
  157. position: absolute;
  158. top: 1vh;
  159. left: 20%;
  160. line-height: 0;
  161. }
  162. h1 span a {
  163. line-height: 1.7;
  164. padding: 1rem 1.2rem .6rem 1.2rem;
  165. border-radius: 0 0 6% 6%;
  166. background: #2d7474;
  167. font-size: 1.3rem;
  168. color: white;
  169. text-decoration: none;
  170. }
  171. h2 {
  172. margin: 4rem 0 1rem;
  173. border-top: .2vh solid #2d7474;
  174. padding-top: 1vh;
  175. }
  176. h3 {
  177. text-align: center;
  178. margin: 3rem 0 .75em;
  179. }
  180. hr {
  181. height: .4rem;
  182. width: .4rem;
  183. border-radius: .4rem;
  184. background: #07486c;
  185. margin: 2.5rem auto;
  186. }
  187. time {
  188. display: bloc;
  189. margin-left: 0 !important;
  190. }
  191. ul, ol {
  192. margin: 2rem;
  193. }
  194. ul {
  195. list-style-type: square;
  196. }
  197. a {
  198. text-decoration-skip-ink: auto;
  199. text-decoration-thickness: 0.05em;
  200. text-underline-offset: 0.09em;
  201. }
  202. article {
  203. max-width: 50rem;
  204. display: flex;
  205. flex-direction: column;
  206. margin: 2rem auto;
  207. }
  208. article.single {
  209. border-top: .2vh dotted #2d7474;
  210. margin: -6rem auto 1rem auto;
  211. background: #f0f0ea;
  212. padding: 2rem;
  213. }
  214. article p:last-child {
  215. margin-bottom: 1rem;
  216. }
  217. p {
  218. padding: 0 .5rem;
  219. margin-left: 3rem;
  220. }
  221. p + p,
  222. figure + p {
  223. margin-top: 2rem;
  224. }
  225. blockquote {
  226. background-color: #e3e1e1;
  227. border-left: .5vw solid #2d7474;
  228. display: flex;
  229. flex-direction: column;
  230. align-items: center;
  231. padding: 1rem;
  232. margin: 1.5rem;
  233. }
  234. blockquote cite {
  235. font-style: italic;
  236. }
  237. blockquote p {
  238. margin-left: 0;
  239. }
  240. figure {
  241. border-top: .2vh solid #2d7474;
  242. background-color: #e3e1e1;
  243. text-align: center;
  244. padding: 1.5rem 0;
  245. margin: 1rem 0 0;
  246. font-size: 1.5rem;
  247. width: 100%;
  248. }
  249. figure img {
  250. max-width: 250px;
  251. max-height: 250px;
  252. border: .5vw solid #323a45;
  253. padding: 1px;
  254. }
  255. figcaption {
  256. padding: 1rem;
  257. line-height: 1.4;
  258. }
  259. aside {
  260. display: flex;
  261. flex-direction: column;
  262. background-color: #e3e1e1;
  263. padding: 1rem 0;
  264. border-bottom: .2vh solid #07486c;
  265. }
  266. aside p {
  267. max-width: 50rem;
  268. margin: 0 auto;
  269. }
  270. /* https://fvsch.com/code/css-locks/ */
  271. p, li, pre, code, kbd, samp, var, tt, time, details, figcaption {
  272. font-size: 1rem;
  273. line-height: calc( 1.5em + 0.2 * 1rem );
  274. }
  275. h1 {
  276. font-size: 1.9rem;
  277. line-height: calc( 1.2em + 0.2 * 1rem );
  278. }
  279. h2 {
  280. font-size: 1.6rem;
  281. line-height: calc( 1.3em + 0.2 * 1rem );
  282. }
  283. h3 {
  284. font-size: 1.35rem;
  285. line-height: calc( 1.4em + 0.2 * 1rem );
  286. }
  287. @media (min-width: 20em) {
  288. /* The (100vw - 20rem) / (50 - 20) part
  289. resolves to 0-1rem, depending on the
  290. viewport width (between 20em and 50em). */
  291. p, li, pre, code, kbd, samp, var, tt, time, details, figcaption {
  292. font-size: calc( 1rem + .6 * (100vw - 20rem) / (50 - 20) );
  293. line-height: calc( 1.5em + 0.2 * (100vw - 50rem) / (20 - 50) );
  294. margin-left: 0;
  295. }
  296. h1 {
  297. font-size: calc( 1.9rem + 1.5 * (100vw - 20rem) / (50 - 20) );
  298. line-height: calc( 1.2em + 0.2 * (100vw - 50rem) / (20 - 50) );
  299. }
  300. h2 {
  301. font-size: calc( 1.5rem + 1.5 * (100vw - 20rem) / (50 - 20) );
  302. line-height: calc( 1.3em + 0.2 * (100vw - 50rem) / (20 - 50) );
  303. }
  304. h3 {
  305. font-size: calc( 1.35rem + 1.5 * (100vw - 20rem) / (50 - 20) );
  306. line-height: calc( 1.4em + 0.2 * (100vw - 50rem) / (20 - 50) );
  307. }
  308. }
  309. @media (min-width: 50em) {
  310. /* The right part of the addition *must* be a
  311. rem value. In this example we *could* change
  312. the whole declaration to font-size:2.5rem,
  313. but if our baseline value was not expressed
  314. in rem we would have to use calc. */
  315. p, li, pre, code, kbd, samp, var, tt, time, details, figcaption {
  316. font-size: calc( 1rem + .6 * 1rem );
  317. line-height: 1.5em;
  318. }
  319. p, li, pre, details {
  320. margin-left: 3rem;
  321. }
  322. h1 {
  323. font-size: calc( 1.9rem + 1.5 * 1rem );
  324. line-height: 1.2em;
  325. }
  326. h2 {
  327. font-size: calc( 1.5rem + 1.5 * 1rem );
  328. line-height: 1.3em;
  329. }
  330. h3 {
  331. font-size: calc( 1.35rem + 1.5 * 1rem );
  332. line-height: 1.4em;
  333. }
  334. figure img {
  335. max-width: 500px;
  336. max-height: 500px;
  337. }
  338. }
  339. figure.unsquared {
  340. margin-bottom: 1.5rem;
  341. }
  342. figure.unsquared img {
  343. height: inherit;
  344. }
  345. @media print {
  346. body { font-size: 100%; }
  347. a:after { content: " (" attr(href) ")"; }
  348. a, a:link, a:visited, a:after {
  349. text-decoration: underline;
  350. text-shadow: none !important;
  351. background-image: none !important;
  352. background: white;
  353. color: black;
  354. }
  355. abbr[title] { border-bottom: 0; }
  356. abbr[title]:after { content: " (" attr(title) ")"; }
  357. img { page-break-inside: avoid; }
  358. @page { margin: 2cm .5cm; }
  359. h1, h2, h3 { page-break-after: avoid; }
  360. p3 { orphans: 3; widows: 3; }
  361. img {
  362. max-width: 250px !important;
  363. max-height: 250px !important;
  364. }
  365. nav, aside { display: none; }
  366. }
  367. ul.with_columns {
  368. column-count: 1;
  369. }
  370. @media (min-width: 20em) {
  371. ul.with_columns {
  372. column-count: 2;
  373. }
  374. }
  375. @media (min-width: 50em) {
  376. ul.with_columns {
  377. column-count: 3;
  378. }
  379. }
  380. ul.with_two_columns {
  381. column-count: 1;
  382. }
  383. @media (min-width: 20em) {
  384. ul.with_two_columns {
  385. column-count: 1;
  386. }
  387. }
  388. @media (min-width: 50em) {
  389. ul.with_two_columns {
  390. column-count: 2;
  391. }
  392. }
  393. .gallery {
  394. display: flex;
  395. flex-wrap: wrap;
  396. justify-content: space-around;
  397. }
  398. .gallery figure img {
  399. margin-left: 1rem;
  400. margin-right: 1rem;
  401. }
  402. .gallery figure figcaption {
  403. font-family: 'ConcourseT3'
  404. }
  405. footer {
  406. font-family: 'ConcourseT3';
  407. display: flex;
  408. flex-direction: column;
  409. border-top: 3px solid white;
  410. padding: 4rem 0;
  411. background-color: #07486c;
  412. color: white;
  413. }
  414. footer > * {
  415. max-width: 50rem;
  416. margin: 0 auto;
  417. }
  418. footer a {
  419. color: #f1c40f;
  420. }
  421. footer .avatar {
  422. width: 200px;
  423. height: 200px;
  424. border-radius: 50%;
  425. float: left;
  426. -webkit-shape-outside: circle();
  427. shape-outside: circle();
  428. margin-right: 2rem;
  429. padding: 2px 5px 5px 2px;
  430. background: white;
  431. border-left: 1px solid #f1c40f;
  432. border-top: 1px solid #f1c40f;
  433. border-right: 5px solid #f1c40f;
  434. border-bottom: 5px solid #f1c40f;
  435. }
  436. </style>
  437. <h1>
  438. <span><a id="jumper" href="#jumpto" title="Un peu perdu ?">?</a></span>
  439. Search data, then, now and eventually (archive)
  440. <time>Pour la pérennité des contenus liés. Non-indexé, retrait sur simple email.</time>
  441. </h1>
  442. <section>
  443. <article>
  444. <h3><a href="http://davidbruant.github.io/longtermlaziness/search-data-then-now-and-eventually.html">Source originale du contenu</a></h3>
  445. <p>A <a href="http://andreasgal.com/2015/03/30/data-is-at-the-heart-of-search-but-who-has-access-to-it/">strangely written post</a> by Andreas Gal, Mozilla CTO. In this post, there seems to be some disdain for privacy, which is surprising from someone that high-ranked at Mozilla.</p>
  446. <p>In this post, I'll write a summary, formulate a response and try to move the debate forward.</p>
  447. <p>Apologies in advance, there will be swearing in this post.</p>
  448. <h2 id="summary">Summary</h2>
  449. <p>In a <a href="http://andreasgal.com/2015/02/23/search-works-differently-than-you-may-think/">first post</a>, Andreas Gal explained that search engines aren't just crawling the web and use algorithms to rank them on sets of words. Search engines also observe which links users click on to figure out which of the proposed results is the most accurate. This data from users weighs a lot when providing answers for the same query to another user later. And it's only natural; at scale and on average, an answer which is good for someone is good for someone else. An answer which is rarely clicked on is rarely the answer people wanted, so no need to put it too high in search results.</p>
  450. <p>The <a href="http://andreasgal.com/2015/03/30/data-is-at-the-heart-of-search-but-who-has-access-to-it/">post I'm responding to</a> explains that this "crowdsourced" search data is crucial to building a search engine. It's also crucial to a search engine which would want to compete with Google. BUT! There is a virtuous circle for a search engine which is that if you start gathering this data, you provide better search results, so more users come, you have even better results, etc. And other search engines are somehow doomed to have worse results initially, attract less users, have less of this previous search data and is doomed to loose against Google (Andreas Gal says "vicious circle", but I'm a "glass half-full" type of person :-) ).</p>
  451. <p>Then, the post goes on listing ways search engines could gather data. Most of which have disappeared <a href="http://googleblog.blogspot.fr/2011/10/making-search-more-secure.html">when Google encrypted searches by default</a>
  452. The author of the post seems to regret that time. I do not.</p>
  453. <h3 id="encrypted-search">Encrypted search</h3>
  454. <p>It goes without saying, but apparently, even the Mozilla CTO needs a reminder: encrypted search is good for the user.
  455. From people searches, one can infer what they are going to buy, what worries or concerns them, who they like, who and what they want to know more about. From people searches, one can infer pretty much everything. That's how folks criminals get caught. Plaintext search was absurdly privacy intrusive for people.</p>
  456. <p>Regarding Google decision about encrypting search, the <strong>only</strong> thing that is reasonable to regret is that it didn't happen sooner.</p>
  457. <p>Let's discuss various points in the post:</p>
  458. <h4 id="small-search-engines-could-partner-with-isps">Small search engines could partner with ISPs</h4>
  459. <blockquote>
  460. <p>Search engines with small user bases can acquire search traffic by working with large Internet Service providers (also called ISPs, think Comcast, Verizon, etc.) to capture searches that go from users’ browsers to competing search engines. This is one option that was available in the past to Google’s competitors such as Yahoo and Bing as they attempted to become competitive with Google’s results.</p>
  461. </blockquote>
  462. <p>I'm sorry, what? WTF!
  463. One thing that outraged everyone in Edward Snowden revelation was the mass surveillance. And one of the things the NSA is doing is that: "capture searches that go from users’ browsers to () search engines.". This is literally tracking people.
  464. In France right now everyone is on deck fighting against the government that is trying to impose "black boxes" (that's the term they use, literally) to ISPs so the government can spy on everyone and we're told by Mozilla that "hey, your ISP should leak your search data so competitors to Google can emerge!"</p>
  465. <p>"This is one option that was available in the past"
  466. Sure it was. It was also amazingly damaging for the users. This "option" was happening without any user consent. That was a terrible option and I am thankful to Google to have removed it.</p>
  467. <h4 id="small-search-engines-could-partner-with-top-content-websites">Small search engines could partner with top content websites</h4>
  468. <blockquote>
  469. <p>An alternative to working with ISPs is to work with popular content sites to track where visitors are coming from. In Web lingo this is called a “referer header.” When a user clicks on a link, the browser tells the target site where the user was before (what site “referred” the user). If the user was referred by a search result page, that address contains the query string, making it possible to associate the original search with the result link. Because the vast majority of Web traffic goes to a few thousand top sites, it is possible to reconstruct a pretty good model of what people frequently search for and what results they follow.</p>
  470. </blockquote>
  471. <p>"track"; at least we're being honest here.</p>
  472. <p>The referer header is terrible for privacy. You can go <a href="https://www.ics.uci.edu/~fielding/pubs/dissertation/evaluation.htm#sec_6_3_4_2">as far back as Roy Fielding's thesis</a> (presented in 2000) to be warned about its dangers for privacy.
  473. It is terrible enough <a href="https://mozillians.org/en-US/u/briansmith/">Brian Smith</a> (who works on Firefox) is working on <a href="https://briansmith.org/referrer-01.html">a plan to ruin it</a> as much as possible <strong>at the browser level</strong>. Yes, in Firefox!</p>
  474. <p>If I want to see some content website, I don't necessarily want them to know how I came to them. Very much like if I go to a grossery store, maybe I don't want to tell them where I live and the route I took to get there. This information has no reason to be granted without my opt-in. The fact that it's been so is a mistake that is being slowly repaired.</p>
  475. <p>Note that apparently, this information is still available to websites, but <strong>in aggregates</strong> assuming <a href="https://support.google.com/webmasters/answer/35252?hl=en">they accept Google trackers on their site</a>. But in a way, it's only fair. Google has a privileged relationship to the user, why should all websites have access to this relationship? Did the user opt-in to give that information to all websites?</p>
  476. <h4 id="conclusion-on-encrypted-search">Conclusion on encrypted search</h4>
  477. <p>It's good for the user. Search engine competitors cannot see my searches data? Good! I do not want them to! I do not want anyone to see my searches beyond the search engine I choose! Wannabe search engines included!</p>
  478. <p>They want my search data? They should have to ask people and not try to track them, spy on them via partnership with ISPs or top web sites!</p>
  479. <p>For fuck sake, why do I even have to write this? Let's quote the Mozilla Manifesto:</p>
  480. <blockquote>
  481. <p>Individuals’ security and privacy on the Internet are fundamental and must not be treated as optional.</p>
  482. </blockquote>
  483. <p>...not even for competitors to Google to emerge.</p>
  484. <p><strong>Privacy is not optional.</strong></p>
  485. <h3 id="the-last-source-of-large-volume-of-queries">The last source of large volume of queries</h3>
  486. <blockquote>
  487. <p>These days, the search box in the browser is essentially the last remaining place where Google’s competitors can access a large volume of search queries. In 2011, Google famously accused Microsoft’s Bing search engine of doing exactly that: logging Google search traffic in Microsoft’s own Internet Explorer browser in order to improve the quality of Bing results. Having almost tripled the market share of Chrome since then, this is something Google has to worry much less about in the future. Its competitors will not be able to use Chrome’s search box to obtain data the way Microsoft did with Internet Explorer in the past.</p>
  488. </blockquote>
  489. <p>Google enforces their monopoly on search via their browser which is increasing market share. So sad... Mozilla should really work on a web browser competing with Chrome! ... oh wait! </p>
  490. <p>I really hate myself for being that sarcastic, but I don't get the point of bitching about Google monopoly and the various way they enforce it. Observing and lamenting won't be enough.</p>
  491. <p>It's also largely late and inappropriate to complain about Google monopoly on search thanks to search data given Mozilla has been massively sending such data by contract for at least 6 years and still is in most countries.</p>
  492. <h2 id="moving-the-ball-forward-how-to-get-search-data">Moving the ball forward: how to get search data</h2>
  493. <p>Search data is privileged data between the search engine and the user searching. Any way to acquire such data that would be privacy intrusive should be out of question (if nothing else per the Mozilla Manifesto if anyone cares at all about what it means).</p>
  494. <h3 id="web-browser-search-box-">Web browser search box?</h3>
  495. <p>I guess that could be an option. Obviously, it takes a browser with sufficient market share to have enough search box data. For obvious reasons, it's highly unlikely Microsoft, Google or <a href="https://browser.yandex.com/">Yandex</a> will play at this game. We're left with Firefox, Apple and Opera. On mobile, people search too. The mobile search data is controlled by the OS itself as well as the browser. Apple has a major role there too. Let's hope FirefoxOS will get there soon enough. But Apple has made super clear they <a href="http://www.apple.com/privacy/">don't want their business to be about sharing/selling data</a>, so it'd be hard to get them on board.</p>
  496. <p>Assuming user opt-in, Firefox could gather search data and then share this data with search engines. The data could be shared in a privacy preserving manner via <a href="http://en.wikipedia.org/wiki/Differential_privacy">differencial privacy</a>. As it turns out, the evil monopolistic Google <a href="http://googleonlinesecurity.blogspot.fr/2014/10/learning-statistics-with-privacy-aided.html">open sourced software to do exactly this</a>.</p>
  497. <h2 id="beyond-search-as-we-know-it">Beyond search as we know it</h2>
  498. <p>The problem of search data isn't so much that Google owns it all and other search engines don't, it's that users have so little awareness of their existence and even less control over them (cannot choose to share them even within your community, etc.)</p>
  499. <h3 id="distributed-search-engines">Distributed search engines</h3>
  500. <p>That's <a href="http://en.wikipedia.org/wiki/Distributed_search_engine">a thing</a>. I've never seen under my radar a solution that looked attractive enough (and even less used "crowdsourced" search data?), but am looking forward to being convinced.</p>
  501. <p>In a distributed search engine, each person has an index and search is performed on other people computers. So the "no monopoly" part is clear. The accuracy and performance story remains to be proven.</p>
  502. <h3 id="combining-the-browser-search-box-and-distributed-search-engine">Combining the browser search box and distributed search engine</h3>
  503. <p>Beyond just sharing the raw data, a web browser could "network" its users. "Unionize" them, maybe, to take a word I <a href="https://brendaneich.com/2014/04/the-next-mission/">read somewhere else</a> about a year ago. The idea of "unionizing" would take the web browser (or OS) to a different level. It wouldn't just be a <em>user</em> agent, but more a <em>community</em> agent.</p>
  504. <p>Today, a web browser is a fairly individualistic software. Your browser history, bookmarks, searches are your own and that's it. These elements are hard if not impossible to share given how browsers are architected. These items are saved for the purpose of syncing across device, but with the assumption the devices all belong to the same individual.</p>
  505. <p>One interesting experiment would be for a browser to add a layer on top of search engines. Don't just drive searches to one (or several?) search engine, but ask a database of knowledge shared within a community. Contribute back the search data to the community database.</p>
  506. <p>Unfortunately, given Mozilla's current business model regarding Firefox, it's unlikely this is going to be tried by them.
  507. Sounds doable via an addon, though.</p>
  508. <h2 id="conclusion">Conclusion</h2>
  509. <p>Bitching about Google monopoly thanks to search data is worthless and a bit ironic given Mozilla has lived on money gathered via forwarding such data to Google.</p>
  510. <p>Privacy is more important than the emergence of competing search engines.</p>
  511. <p>If one cares to think beyond the current search engine paradigm, there might be solutions. But given how Mozilla survives today, it's unlikely they'll shoot themselves in the foot. Addon, though?</p>
  512. </article>
  513. </section>
  514. <nav id="jumpto">
  515. <p>
  516. <a href="/david/blog/">Accueil du blog</a> |
  517. <a href="http://davidbruant.github.io/longtermlaziness/search-data-then-now-and-eventually.html">Source originale</a> |
  518. <a href="/david/stream/2019/">Accueil du flux</a>
  519. </p>
  520. </nav>
  521. <footer>
  522. <div>
  523. <img src="/static/david/david-larlet-avatar.jpg" loading="lazy" class="avatar" width="200" height="200">
  524. <p>
  525. Bonjour/Hi!
  526. Je suis <a href="/david/" title="Profil public">David&nbsp;Larlet</a>, je vis actuellement à Montréal et j’alimente cet espace depuis 15 ans. <br>
  527. Si tu as apprécié cette lecture, n’hésite pas à poursuivre ton exploration. Par exemple via les <a href="/david/blog/" title="Expériences bienveillantes">réflexions bimestrielles</a>, la <a href="/david/stream/2019/" title="Pensées (dés)articulées">veille hebdomadaire</a> ou en t’abonnant au <a href="/david/log/" title="S’abonner aux publications via RSS">flux RSS</a> (<a href="/david/blog/2019/flux-rss/" title="Tiens c’est quoi un flux RSS ?">so 2005</a>).
  528. </p>
  529. <p>
  530. Je m’intéresse à la place que je peux avoir dans ce monde. En tant qu’humain, en tant que membre d’une famille et en tant qu’associé d’une coopérative. De temps en temps, je fais aussi des <a href="https://github.com/davidbgk" title="Principalement sur Github mais aussi ailleurs">trucs techniques</a>. Et encore plus rarement, <a href="/david/talks/" title="En ce moment je laisse plutôt la place aux autres">j’en parle</a>.
  531. </p>
  532. <p>
  533. Voici quelques articles choisis :
  534. <a href="/david/blog/2019/faire-equipe/" title="Accéder à l’article complet">Faire équipe</a>,
  535. <a href="/david/blog/2018/bivouac-automnal/" title="Accéder à l’article complet">Bivouac automnal</a>,
  536. <a href="/david/blog/2018/commodite-effondrement/" title="Accéder à l’article complet">Commodité et effondrement</a>,
  537. <a href="/david/blog/2017/donnees-communs/" title="Accéder à l’article complet">Des données aux communs</a>,
  538. <a href="/david/blog/2016/accompagner-enfant/" title="Accéder à l’article complet">Accompagner un enfant</a>,
  539. <a href="/david/blog/2016/senior-developer/" title="Accéder à l’article complet">Senior developer</a>,
  540. <a href="/david/blog/2016/illusion-sociale/" title="Accéder à l’article complet">L’illusion sociale</a>,
  541. <a href="/david/blog/2016/instantane-scopyleft/" title="Accéder à l’article complet">Instantané Scopyleft</a>,
  542. <a href="/david/blog/2016/enseigner-web/" title="Accéder à l’article complet">Enseigner le Web</a>,
  543. <a href="/david/blog/2016/simplicite-defaut/" title="Accéder à l’article complet">Simplicité par défaut</a>,
  544. <a href="/david/blog/2016/minimalisme-esthetique/" title="Accéder à l’article complet">Minimalisme et esthétique</a>,
  545. <a href="/david/blog/2014/un-web-omni-present/" title="Accéder à l’article complet">Un web omni-présent</a>,
  546. <a href="/david/blog/2014/manifeste-developpeur/" title="Accéder à l’article complet">Manifeste de développeur</a>,
  547. <a href="/david/blog/2013/confort-convivialite/" title="Accéder à l’article complet">Confort et convivialité</a>,
  548. <a href="/david/blog/2013/testament-numerique/" title="Accéder à l’article complet">Testament numérique</a>,
  549. et <a href="/david/blog/" title="Accéder aux archives">bien d’autres…</a>
  550. </p>
  551. <p>
  552. On peut <a href="mailto:david%40larlet.fr" title="Envoyer un courriel">échanger par courriel</a>. Si éventuellement tu souhaites que l’on travaille ensemble, tu devrais commencer par consulter le <a href="http://larlet.com">profil dédié à mon activité professionnelle</a> et/ou contacter directement <a href="http://scopyleft.fr/">scopyleft</a>, la <abbr title="Société coopérative et participative">SCOP</abbr> dont je fais partie depuis six ans. Je recommande au préalable de lire <a href="/david/blog/2018/cout-site/" title="Attention ce qui va suivre peut vous choquer">combien coûte un site</a> et pourquoi je suis plutôt favorable à une <a href="/david/pro/devis/" title="Discutons-en !">non-demande de devis</a>.
  553. </p>
  554. <p>
  555. Je ne traque pas ta navigation mais mon
  556. <abbr title="Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33.184162340">hébergeur</abbr>
  557. conserve des logs d’accès.
  558. </p>
  559. </div>
  560. </footer>
  561. <script type="text/javascript">
  562. ;(_ => {
  563. const jumper = document.getElementById('jumper')
  564. jumper.addEventListener('click', e => {
  565. e.preventDefault()
  566. const anchor = e.target.getAttribute('href')
  567. const targetEl = document.getElementById(anchor.substring(1))
  568. targetEl.scrollIntoView({behavior: 'smooth'})
  569. })
  570. })()
  571. </script>