A place to cache linked articles (think custom and personal wayback machine)
Du kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

index.html 28KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585
  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>Mobile First (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://stratechery.com/2015/mobile-first/">
  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. Mobile First (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://stratechery.com/2015/mobile-first/">Source originale du contenu</a></h3>
  445. <p>Last Friday was the eight-year anniversary of the announcement of the iPhone, the event that began <a href="http://stratechery.com/2014/state-consumer-technology-end-2014/">the mobile epoch</a>. It was, though, an Apple rumor that to my mind illustrated just how much the world has changed.</p>
  446. <p>Mark Gurman is reporting <a href="http://9to5mac.com/2015/01/06/macbook-air-12-inch-redesign/">at 9to5Mac</a> that the next MacBook Air will have a radical redesign. The biggest surprise was about the ports, or lack thereof:</p>
  447. <blockquote>
  448. <p>The upcoming 12-inch Air has the fewest amount of ports ever on an Apple computer…On the right side is a standard headphone jack and dual-microphones for input and noise-canceling. On the left side is solely the new USB Type-C port. Yes, Apple is currently planning to ditch standard USB ports, the SD Card slot, and even its Thunderbolt and MagSafe charging standards on this new notebook…As we’ve reported on multiple occasions, the new USB Type-C connector is smaller, faster, and more capable than the standard USB 2.0 and 3.0 ports on existing computers. The connector is able to replace the Thunderbolt Display port on the current Apple laptops as USB Type-C actually has the technology to drive displays. Additionally, the latest specifications from the USB foundation indicate that USB Type-C can actually be used to power computers, which makes the standard MagSafe plugs unnecessary on this new device.</p>
  449. </blockquote>
  450. <p>The obvious caveat here is that this is a rumor; Gurman may have a great track record, but he could be wrong and the next MacBook Air could have more than one port. But I rather suspect he&#8217;s right, because the MacBook Air he describes is the first Apple PC<sup id="fnref:0:1370"><a href="#fn:0:1370" id="fnref:0:1370" class="footnote-link footnote-identifier-link" rel="footnote" title="Chromebooks were first">1</a></sup> that is Mobile First.</p>
  451. <h4>The Origin of Mobile First</h4>
  452. <p>As best I can tell, &#8220;Mobile First&#8221; was first used by <a href="http://en.wikipedia.org/wiki/Marc_Davis_(academic)">Marc Davis</a>, then Yahoo&#8217;s Chief Scientist and VP of Early Stage Products of Yahoo! Mobile.<sup id="fnref:1:1370"><a href="#fn:1:1370" id="fnref:1:1370" class="footnote-link footnote-identifier-link" rel="footnote" title="Seriously, that&rsquo;s the title, according to this TechCrunch article reporting Davis&rsquo; exit a mere three months after coining the term &ldquo;Mobile First&rdquo;. I suspect there is a lot about Yahoo&rsquo;s fate that can be gleaned from this footnote">2</a></sup> <a href="http://readwrite.com/2009/04/06/putting_mobile-first_to_work">From ReadWriteWeb</a>, reporting on the Web 2.0 Expo in April 2009:</p>
  453. <blockquote>
  454. <p>Yahoo&#8217;s Marc Davis spoke about the mobile internet and the future of the mobile industry. As the mobile web evolves, he said, it&#8217;s no longer good enough to simply port the PC experience to the phone&#8217;s small screen &#8211; it&#8217;s time to start building &#8220;mobile-first&#8221; products instead. What are &#8220;mobile-first&#8221; products? They&#8217;re services designed to take advantage of the strengths and abilities of the mobile devices themselves, leading to entirely unique creations that can only be found on the mobile web.</p>
  455. </blockquote>
  456. <p>Though it&#8217;s taken a few years, Mobile First is now gospel for most consumer tech companies in particular. Perhaps the most famous example is Facebook; in a shift akin to Microsoft&#8217;s 1995 embrace of the Internet, Facebook went from having <a href="http://mashable.com/2013/09/20/facebook-mobile-strategy/">a mere 20 people</a> on its mobile team in 2012 to <a href="http://www.quora.com/Approximately-how-many-software-engineers-work-at-all-the-teams-responsible-for-all-of-the-Facebook-mobile-apps">several hundred</a> mobile-focused developers embedded in every team in the company. The results &#8211; both in product and to the top and bottom lines &#8211; have been stunning.</p>
  457. <p>A better example is Instagram: the photo-sharing social network launched as an iPhone app only, and for a long time its only web presence was direct photo links. Today there is a website, but it&#8217;s little more than a scaled up version of the app, and there is no tablet app at all. This should not be a surprise: while tablets mostly run mobile operating systems, they are not mobile devices; they do not go with you everywhere.</p>
  458. <p>This distinction is critical: what is essential to understand about Mobile First is that everything flows from, well, mobility. The relative importance of implementation details and even the underlying OS fade relative to the significance of nearly every person on earth having an Internet communicator with them at every single moment. Every single product and service must start with this fundamental assumption.</p>
  459. <h4>The Implications of Mobile First</h4>
  460. <p>In this reading of Mobile First &#8211; that it&#8217;s about presupposing that every potential consumer of your product or service has a smartphone &#8211; the implications apply far more broadly than social networks or app makers.</p>
  461. <p>Consider CES: over the last several years the show has seemed to fade as smartphones have subsumed all types of gadgets from cameras to music players to video recorders. This year, though, was all about the &#8220;Internet of Things,&#8221; and as annoying as that catchphrase may be, it&#8217;s something that only makes sense in a Mobile First world: now, instead of those old gadgets that make PC functions mobile, &#8220;Internet of Things&#8221; products assume the presence of a mobile smartphone. Thus the most interesting innovation is in things that don&#8217;t move: locks, light bulbs, garage door openers, and more, because they are designed with the assumption that the smartphone &#8211; and associated individual &#8211; comes to them.</p>
  462. <p>Even more interesting was <a href="http://www.theverge.com/2015/1/5/7491071/dish-sling-tv-ott-internet-tv-announced-ces-2015">Sling TV</a>, the first service that, with its focus on sports, has the potential to actually make cord-cutting palatable for far more people than any service before it.<sup id="fnref:2:1370"><a href="#fn:2:1370" id="fnref:2:1370" class="footnote-link footnote-identifier-link" rel="footnote" title="I wrote about this extensively in the Daily Update here and here) (members-only links) ">3</a></sup> Just as interesting, though, is that while the service is provided by Dish Network &#8211; a company that has invested millions in launching satellites &#8211; the service is provided through an <em>app.</em> In other words, while the old Dish Service &#8211; and every other pay-TV service &#8211; was delivered to an <em>address</em>, Sling TV is delivered to a <em>person.</em> It is Mobile First.</p>
  463. <p>As I noted in <a href="http://stratechery.com/2014/state-consumer-technology-end-2014/">The State of Consumer Technology at the End of 2014</a>, individual as service endpoint is an essential characteristic of one of the most important categories of emerging services, the so-called &#8220;sharing economy&#8221;. Uber is the easy example &#8211; the service quite literally goes to an individual&#8217;s exact location and picks them up &#8211; but it also applies to services like Instacart: without a smartphone coordinating shopping trips would be a logistical nightmare. The service is absolutely Mobile First.</p>
  464. <p>Mobile First is also upsetting lots of assumptions around the transition to digital: consider the surprising news that the prospects for bookstores are looking up. From the <a href="http://www.ft.com/intl/cms/s/0/8dcddc64-97f4-11e4-b4be-00144feabdc0.html?siteedition=intl#axzz3OZWZbfQU">Financial Times</a>:</p>
  465. <blockquote>
  466. <p>The plot has now twisted sharply, with publishers and book chains in the US, UK and Australia celebrating sales figures showing the resilience of physical editions and of bricks-and-mortar stores.</p>
  467. <p>Waterstones said its sales had risen 5 per cent in December compared to the previous year…The optimism was echoed in the US. Barnes &amp; Noble appears to have ended a run of declining sales, and expects sales to be flat in 2014 and 2015. Its shares rose 5 per cent on the news.</p>
  468. <p>Fundamental shifts in consumer behaviour may also be helping the high street bookstore. “People are moving back to more frequent local shops. That’s when you can start popping in and buying books,” said Paul Lee, an analyst at Deloitte.</p>
  469. </blockquote>
  470. <p>That fundamental shift in behavior is mobile: the most interesting place to be is no longer in front of a computer, it&#8217;s to go out into the world with a computer in your hand. And in that view, it&#8217;s no surprise that &#8220;3rd-places&#8221; like bookstores are experiencing a renaissance &#8211; or that physical goods, a welcome break from that ever-present screen, are more desirable than ever.</p>
  471. <p>The impact will likely be felt far more broadly than bookstores: a decade ago, every small business thought they needed a website. Now many more businesses are simply focusing on their Facebook page, which is easier to find and use on mobile. Here China is light-years ahead: nearly every business has a WeChat account (you follow by scanning a QR code &#8211; they are ubiquitous) that includes not only the basics like addresses and hours but even ordering with delivery to wherever you&#8217;re sitting when you press the &#8216;Order&#8217; button.</p>
  472. <div id="attachment_1373" style="width: 610px" class="wp-caption aligncenter"><a href="http://2yj23r14cytosbxol4cavq337g.wpengine.netdna-cdn.com/wp-content/uploads/2015/01/wechat2.png"><img src="http://2yj23r14cytosbxol4cavq337g.wpengine.netdna-cdn.com/wp-content/uploads/2015/01/wechat2-600x355.png" alt="Ordering dumplings in WeChat" width="600" height="355" class="size-large wp-image-1373" /></a><p class="wp-caption-text">Ordering dumplings in WeChat</p></div>
  473. <p>Even dumplings are Mobile First.</p>
  474. <h4>Why the Rumored MacBook Air is Mobile First</h4>
  475. <p>And so, the story of the (rumored) MacBook Air starts not with the Mac, but rather with the iPhone. By virtue of its omnipresence it is the most important device in most consumers&#8217; lives. It is the first choice for getting information, for communicating, for taking pictures. It is a device that a huge majority of people could live on exclusively, and it very much stands alone: all of its essential functions have cloud counterparts, but none assume a PC.<sup id="fnref:3:1370"><a href="#fn:3:1370" id="fnref:3:1370" class="footnote-link footnote-identifier-link" rel="footnote" title="Microsoft&rsquo;s &ldquo;Mobile First Cloud First&rdquo; strategy makes much more sense now, no?">4</a></sup></p>
  476. <p>True, it would be nice to have a keyboard to type longer emails, reports or papers, or a larger screen to watch movies, but those capabilities &#8211; again, for most people, not all &#8211; are nice to have, not essential.<sup id="fnref:4:1370"><a href="#fn:4:1370" id="fnref:4:1370" class="footnote-link footnote-identifier-link" rel="footnote" title="To put it another way, a MacBook Air is in the same class as an iPad">5</a></sup> Moreover, all of those capabilities depend on the same cloud services as the phone: email, social networking, photos, all of it comes over the (wireless) network, not a cable.</p>
  477. <p>In this world, a Mobile First world, what exactly is the point of a port?<sup id="fnref:5:1370"><a href="#fn:5:1370" id="fnref:5:1370" class="footnote-link footnote-identifier-link" rel="footnote" title="If you need ports, buy a MacBook Pro. But if you care about rumors of unreleased products, you&rsquo;re probably not a normal consumer!">6</a></sup></p>
  478. </article>
  479. </section>
  480. <nav id="jumpto">
  481. <p>
  482. <a href="/david/blog/">Accueil du blog</a> |
  483. <a href="http://stratechery.com/2015/mobile-first/">Source originale</a> |
  484. <a href="/david/stream/2019/">Accueil du flux</a>
  485. </p>
  486. </nav>
  487. <footer>
  488. <div>
  489. <img src="/static/david/david-larlet-avatar.jpg" loading="lazy" class="avatar" width="200" height="200">
  490. <p>
  491. Bonjour/Hi!
  492. 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>
  493. 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>).
  494. </p>
  495. <p>
  496. 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>.
  497. </p>
  498. <p>
  499. Voici quelques articles choisis :
  500. <a href="/david/blog/2019/faire-equipe/" title="Accéder à l’article complet">Faire équipe</a>,
  501. <a href="/david/blog/2018/bivouac-automnal/" title="Accéder à l’article complet">Bivouac automnal</a>,
  502. <a href="/david/blog/2018/commodite-effondrement/" title="Accéder à l’article complet">Commodité et effondrement</a>,
  503. <a href="/david/blog/2017/donnees-communs/" title="Accéder à l’article complet">Des données aux communs</a>,
  504. <a href="/david/blog/2016/accompagner-enfant/" title="Accéder à l’article complet">Accompagner un enfant</a>,
  505. <a href="/david/blog/2016/senior-developer/" title="Accéder à l’article complet">Senior developer</a>,
  506. <a href="/david/blog/2016/illusion-sociale/" title="Accéder à l’article complet">L’illusion sociale</a>,
  507. <a href="/david/blog/2016/instantane-scopyleft/" title="Accéder à l’article complet">Instantané Scopyleft</a>,
  508. <a href="/david/blog/2016/enseigner-web/" title="Accéder à l’article complet">Enseigner le Web</a>,
  509. <a href="/david/blog/2016/simplicite-defaut/" title="Accéder à l’article complet">Simplicité par défaut</a>,
  510. <a href="/david/blog/2016/minimalisme-esthetique/" title="Accéder à l’article complet">Minimalisme et esthétique</a>,
  511. <a href="/david/blog/2014/un-web-omni-present/" title="Accéder à l’article complet">Un web omni-présent</a>,
  512. <a href="/david/blog/2014/manifeste-developpeur/" title="Accéder à l’article complet">Manifeste de développeur</a>,
  513. <a href="/david/blog/2013/confort-convivialite/" title="Accéder à l’article complet">Confort et convivialité</a>,
  514. <a href="/david/blog/2013/testament-numerique/" title="Accéder à l’article complet">Testament numérique</a>,
  515. et <a href="/david/blog/" title="Accéder aux archives">bien d’autres…</a>
  516. </p>
  517. <p>
  518. 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>.
  519. </p>
  520. <p>
  521. Je ne traque pas ta navigation mais mon
  522. <abbr title="Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33.184162340">hébergeur</abbr>
  523. conserve des logs d’accès.
  524. </p>
  525. </div>
  526. </footer>
  527. <script type="text/javascript">
  528. ;(_ => {
  529. const jumper = document.getElementById('jumper')
  530. jumper.addEventListener('click', e => {
  531. e.preventDefault()
  532. const anchor = e.target.getAttribute('href')
  533. const targetEl = document.getElementById(anchor.substring(1))
  534. targetEl.scrollIntoView({behavior: 'smooth'})
  535. })
  536. })()
  537. </script>