NetNewsWire/Frameworks/Account/AccountTests/Feedly/Initial/weblogs_initial.json

1 line
101 KiB
JSON
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{"id":"user/f2f031bd-f3e3-4893-a447-467a291c6d1e/category/e31b3fcb-27f6-4f3e-b96c-53902586e366","updated":1569830765949,"continuation":"16d74074eb8:2058:90d684ff","items":[{"originId":"https://useyourloaf.com/blog/scroll-view-layouts-with-interface-builder/","fingerprint":"3edfc038","id":"AVw5dsyytPMMU/iCsYRiYJstfLF5CXoDiC5tFHJ2Gfk=_16d8134857d:4da39:18991ffa","author":"keith@useyourloaf.com (Keith Harrison)","summary":{"direction":"ltr","content":"<p>Laying out a scroll view is a confusing task. I found it easier when, in iOS 11, Apple introduced frame and content layout guides. Too bad they neglected to add them to Interface Builder. That changed in Xcode 11. Heres a quick guide on how to use them.</p>\n<h3>Why Are Scroll View Layouts So Hard?</h3>\n<p>For a recap on why scroll views are confusing and how the frame and content layout guides help see this earlier post on <a href=\"https://useyourloaf.com/blog/easier-scrolling-with-layout-guides/\">easier scrolling with layout guides</a>. Heres the layout I built in code using layout guides:</p>\n<p><img width=\"400\" alt=\"Scrolling layout example\" src=\"https://useyourloaf.com/assets/images/2019/2019-09-16-003.png\"></p>\n<p>You need two groups of constraints to layout a scroll view:</p>\n<ul>\n<li>constraints that fix the frame (size and position) of the scroll view relative to its superview.</li>\n<li>constraints that layout the content relative to the content area of the scroll view and constrain its size.</li>\n</ul>\n<p>Building my layout with Interface Builder and Xcode 10 I might end up with constraints like this:</p>\n<p><img width=\"680\" alt=\"Constraining a scroll view (Xcode 10)\" src=\"https://useyourloaf.com/assets/images/2019/2019-09-16-004.png\"></p>\n<ol>\n<li>Four constraints pin the scroll view to the edges of the root view, fixing its frame.</li>\n<li>Four constraints between the stack view and the scroll view pin the content to the scroll view content area.</li>\n<li>The width of the stack view is fixed to the width of the scroll view frame.</li>\n</ol>\n<p>I never found this to be very intuitive:</p>\n<ul>\n<li>Constraints between the scroll view and a super view act on the frame of the scroll view.</li>\n<li>Constraints between the scroll view and a subview act on the content area of the scroll view.</li>\n<li>Height or width constraints between the scroll view and a subview use the frame of the scroll view.</li>\n</ul>\n<p>The introduction of the frame and content layout guides in iOS 11 promised to make things clearer. Unfortunately, Apple neglected to add support for them in Interface Builder.</p>\n<h3>What Changed In Xcode 11</h3>\n<p>From the <a href=\"https://developer.apple.com/documentation/xcode_release_notes/xcode_11_release_notes\">Xcode 11 release notes</a>:</p>\n<blockquote>\n<p>Content and Frame Layout guides are supported for UIScrollView and can be enabled in the Size inspector for more control over your scrollable content. (29711618)</p>\n</blockquote>\n<p>The content and frame layout guides are enabled by default in Xcode 11 when you drag a new scroll view into the canvas:</p>\n<p><img width=\"230\" alt=\"Scroll View Content Layout Guides\" src=\"https://useyourloaf.com/assets/images/2019/2019-09-16-001.png\"></p>\n<p>You can enable them for an older layout using the size inspector:</p>\n<p><img width=\"250\" alt=\"Enable Content Layout Guides\" src=\"https://useyourloaf.com/assets/images/2019/2019-09-16-002.png\"></p>\n<p>The best way to explain how to use them is with an example.</p>\n<h3>Using The New Layout Guides In Interface Builder</h3>\n<p>Lets build the previous layout in Interface Builder using the content layout guides:</p>\n<ol>\n<li><p>To get started I have arranged the content for my layout in a vertical stack view that I have embedded in a scroll view in Interface Builder:</p>\n<p><img width=\"480\" alt=\"Embedded stack view\" src=\"https://useyourloaf.com/assets/images/2019/2019-09-16-006.png\"></p></li>\n<li><p>Lets fix the size and position of the scroll view by pinning it to the edges of the root view. I find that easier to do if you first hide the safe area layout guide for the root view (using the size inspector):</p>\n<p><img width=\"256\" alt=\"Hide safe area layout guide\" src=\"https://useyourloaf.com/assets/images/2019/2019-09-16-010.png\"></p>\n<p>Select the scroll view and then use the “Add New Constraints” tool to add the four constraints between the scroll view and the edges of the root view:</p>\n<p><img width=\"277\" alt=\"Pin scroll view\" src=\"https://useyourloaf.com/assets/images/2019/2019-09-16-011.png\"></p>\n<p>Check the constraints in the navigator to make sure youre not using the safe area or accidentally adding padding to any of the constraints:</p>\n<p><img width=\"260\" alt=\"Scroll view frame constraints\" src=\"https://useyourloaf.com/assets/images/2019/2019-09-16-012.png\"></p></li>\n<li><p>We want to pin the stack view to the edges of the content area. Control-drag from the stack view to the <strong>Content Layout Guide</strong>:</p>\n<p><img width=\"240\" alt=\"Using the content layout guide\" src=\"https://useyourloaf.com/assets/images/2019/2019-09-16-013.png\"></p>\n<p>Then add the four constraints to pin each edge of the stack view to the guide:</p>\n<p><img width=\"274\" alt=\"Constraints with the content layout guide\" src=\"https://useyourloaf.com/assets/images/2019/2019-09-16-014.png\"></p>\n<p>Check the constraints in the navigator:</p>\n<p><img width=\"400\" alt=\"Content constraints\" src=\"https://useyourloaf.com/assets/images/2019/2019-09-16-015.png\"></p></li>\n<li><p>I dont want the layout to scroll horizontally so I also need to fix the width of the content area to match the width of the scroll view frame. Its not possible to create an equal width constraint between the content and frame layout guides in Interface Builder. Instead, control-drag from the stack view to the <strong>frame layout guide</strong>:</p>\n<p><img width=\"220\" alt=\"Using the frame layout guide\" src=\"https://useyourloaf.com/assets/images/2019/2019-09-16-016.png\"></p>\n<p>Then add an equal widths constraint:</p>\n<p><img width=\"263\" alt=\"Equal width constraint\" src=\"https://useyourloaf.com/assets/images/2019/2019-09-16-017.png\"></p>\n<p>The final set of nine constraints using both the content and frame layout guides:</p>\n<p><img width=\"390\" alt=\"Completed constraints\" src=\"https://useyourloaf.com/assets/images/2019/2019-09-16-018.png\"></p></li>\n</ol>\n<h3>Whats Still Missing?</h3>\n<p>I dont want to complain. Its good to see the content layout guides show up in Interface Builder. Its been two years since they were introduced with iOS 11 but better late than never. <strong>To complete the picture Id like to see Apple also expose the layout margin guide for the scroll view.</strong></p>\n<p>Sometimes you want a view that remains fixed in the scroll view frame so that it floats over the scrollable content. For example, the info button in my previous example remains fixed in the top-left corner when the content scrolls:</p>\n<p><img width=\"375\" alt=\"Info button\" src=\"https://useyourloaf.com/assets/images/2019/2019-09-16-005.png\"></p>\n<p>The frame layout guide doesnt help in this case as it extends into the safe area behind the navigation bar. I created constraints in code to fix the button to the layout margins guide of the scroll view:</p>\n<pre><code>infoButton.leadingAnchor.constraint(equalTo:\n scrollView.layoutMarginsGuide.leadingAnchor),\ninfoButton.topAnchor.constraint(equalTo:\n scrollView.layoutMarginsGuide.topAnchor)\n</code></pre>\n<p>If you try to do that in Interface Builder the constraints are assumed to be with the content area so the button scrolls with the content. The closest you can get is to use the safe area layout guide of the scroll view (enable it in the size inspector) with some extra padding:</p>\n<p><img width=\"500\" alt=\"Scroll view safe area layout guide\" src=\"https://useyourloaf.com/assets/images/2019/2019-09-16-019.png\"></p>\n<h3>See The Code</h3>\n<p>You can find the code for this post in my <a href=\"https://github.com/kharrison/CodeExamples/tree/master/ScrollGuide-IB\">Code Examples</a> GitHub repository. You can compare it to the original <a href=\"https://github.com/kharrison/CodeExamples/tree/master/ScrollGuide\">ScrollGuide</a> project which builds the layout in code.</p>\n<h3>Read More</h3>\n<ul>\n<li><a href=\"https://useyourloaf.com/blog/easier-scrolling-with-layout-guides/\">Easier Scrolling With Layout Guides</a></li>\n<li><a href=\"https://useyourloaf.com/autolayout/\">Modern Auto Layout</a></li>\n</ul><hr>\n<p>\n<a href=\"https://useyourloaf.com/blog/scroll-view-layouts-with-interface-builder/\">Scroll View Layouts With Interface Builder</a> was originally posted 16 Sep 2019 on <a href=\"https://useyourloaf.com\">useyourloaf.com</a>.\n</p>\n<p>Want this direct to your inbox? <a href=\"https://useyourloaf.com/newsletter\">Sign up</a> and get my free iOS Size Classes guide.\n</p>\n<hr>"},"alternate":[{"href":"https://useyourloaf.com/blog/scroll-view-layouts-with-interface-builder/","type":"text/html"}],"crawled":1569830765949,"title":"Scroll View Layouts With Interface Builder","published":1568624542000,"origin":{"streamId":"feed/http://useyourloaf.com/blog/rss.xml","htmlUrl":"https://useyourloaf.com/blog/","title":"Use Your Loaf - iOS Development News & Tips"},"visual":{"url":"http://b.vimeocdn.com/ts/442/609/442609877_1280.jpg","width":1280,"height":720,"contentType":"image/jpeg"},"unread":true,"categories":[{"id":"user/f2f031bd-f3e3-4893-a447-467a291c6d1e/category/e31b3fcb-27f6-4f3e-b96c-53902586e366","label":"Weblogs"}]},{"originId":"https://useyourloaf.com/blog/editing-a-swift-package/","fingerprint":"1299da46","id":"AVw5dsyytPMMU/iCsYRiYJstfLF5CXoDiC5tFHJ2Gfk=_16d8134857d:4da38:18991ffa","author":"keith@useyourloaf.com (Keith Harrison)","summary":{"direction":"ltr","content":"<p>When I want to make changes to a Swift package, I find it useful to do it in the context of a project that depends on that package. Unfortunately, you cant directly edit a Swift package you add as a dependency to an Xcode project. Its read-only and managed by Xcode. What you can do is add a local copy of the package that overrides the package dependency.</p>\n<h3>Swift Package Dependencies</h3>\n<p>I previously covered <a href=\"https://useyourloaf.com/blog/creating-swift-packages-in-xcode/\">creating Swift packages in Xcode 11</a> and then adding them as a dependency to a project. Xcode downloads the package files from the remote repository:</p>\n<p><img width=\"320\" alt=\"Xcode file navigator showing Swift package dependency\" src=\"https://useyourloaf.com/assets/images/2019/2019-08-16-001.png\"></p>\n<p>You can browse the source files in the package, but you cannot edit them in Xcode (which is probably for the best).</p>\n<h3>Editing A Standalone Package</h3>\n<p>You always have the option to clone the package repository to a new folder:</p>\n<pre><code>$ git clone &lt;URL of Git repository>\n</code></pre>\n<p><img width=\"490\" alt=\"Finder showing Package.swift file\" src=\"https://useyourloaf.com/assets/images/2019/2019-08-12-005.png\"></p>\n<p>You can then open the <code>Package.swift</code> file in Xcode and work on the package directly:</p>\n<p><img width=\"320\" alt=\"Package in file navigator\" src=\"https://useyourloaf.com/assets/images/2019/2019-08-16-002.png\"></p>\n<p>After youve made your changes, commit the package back to the remote repository.</p>\n<p>This is cumbersome if you want to try your updated package with an existing Xcode project. To get Xcode to download the updates from the remote repository you either need to tag the commit with a new version or change the project dependencies to refer to the specific commit:</p>\n<p><img width=\"400\" alt=\"Package dependency using commit identifier\" src=\"https://useyourloaf.com/assets/images/2019/2019-08-16-003.png\"></p>\n<p>Luckily, theres a better way.</p>\n<h3>Editing A Local Copy</h3>\n<ol>\n<li><p>Clone the package repository to a local directory as before.</p></li>\n<li><p>Drag the whole folder into the Xcode project that has a dependency on the package:</p></li>\n<li><p>Xcode overrides the package dependency with the same name as the local package. Notice in the screenshot how the Swift Package dependency disappears from the file navigator.</p>\n<p><img width=\"548\" alt=\"File navigator with local package override\" src=\"https://useyourloaf.com/assets/images/2019/2019-08-16-004.png\"></p></li>\n<li><p>Make your changes to the local package and test them with the project before pushing the changes to the remote repository.</p></li>\n<li><p>Release the changes by tagging the commit and then pushing the tag:</p>\n<p><img width=\"2460\" alt=\"Push tag\" src=\"https://useyourloaf.com/assets/images/2019/2019-08-12-010.png\"></p></li>\n</ol>\n<p>To switch back to using the remote package:</p>\n<ol>\n<li><p>Delete the local copy of the package from the project.</p></li>\n<li><p>Make Xcode update the package dependencies <code>File > Swift Packages > Update To Latest Package Versions</code>.</p></li>\n<li><p>You should now see the latest version of the remote package in the file navigator:</p>\n<p><img width=\"270\" alt=\"Updated package dependency\" src=\"https://useyourloaf.com/assets/images/2019/2019-08-16-005.png\"></p></li>\n</ol><hr>\n<p>\n<a href=\"https://useyourloaf.com/blog/editing-a-swift-package/\">Editing A Swift Package</a> was originally posted 19 Aug 2019 on <a href=\"https://useyourloaf.com\">useyourloaf.com</a>.\n</p>\n<p>Want this direct to your inbox? <a href=\"https://useyourloaf.com/newsletter\">Sign up</a> and get my free iOS Size Classes guide.\n</p>\n<hr>"},"alternate":[{"href":"https://useyourloaf.com/blog/editing-a-swift-package/","type":"text/html"}],"crawled":1569830765949,"title":"Editing A Swift Package","published":1566205065000,"origin":{"streamId":"feed/http://useyourloaf.com/blog/rss.xml","htmlUrl":"https://useyourloaf.com/blog/","title":"Use Your Loaf - iOS Development News & Tips"},"visual":{"url":"http://b.vimeocdn.com/ts/442/609/442609877_1280.jpg","width":1280,"height":720,"contentType":"image/jpeg"},"unread":true,"categories":[{"id":"user/f2f031bd-f3e3-4893-a447-467a291c6d1e/category/e31b3fcb-27f6-4f3e-b96c-53902586e366","label":"Weblogs"}]},{"keywords":["Tech Life"],"originId":"https://randsinrepose.com/?p=4326","fingerprint":"84f0fac2","id":"xoPmejgsoSEqDaFR4LV9EjzHAN8HPWA8MceMFxcQR3k=_16d812a78cb:4da16:18991ffa","author":"rands","summary":{"direction":"ltr","content":"(Ok, first hit play on the above video. This article has a soundtrack.) In World of Warcraft, Darkshore is the first major city outside of the Night Elf starting area and stands in dark contrast to the mystical and deeply saturated pink realm of Teldrassil. Its where you discover that the game is full of… <a href=\"https://randsinrepose.com/archives/ok-im-in-darkshore-and-it-just-started-raining/\">More</a>"},"alternate":[{"href":"https://randsinrepose.com/archives/ok-im-in-darkshore-and-it-just-started-raining/","type":"text/html"}],"crawled":1569830107339,"title":"Ok, Im in Darkshore, and It Just Started Raining","published":1569074623000,"origin":{"streamId":"feed/http://www.randsinrepose.com/index.xml","htmlUrl":"https://randsinrepose.com","title":"Rands in Repose"},"content":{"direction":"ltr","content":"<p><iframe allowfullscreen src=\"https://www.youtube.com/embed/ID1KR37bqnQ?feature=oembed\" width=\"600\" title=\"Vanilla Darkshore - Music &amp; Rain Ambience (2 hours, 4K, World of Warcraft Classic)\" height=\"338\"></iframe></p>\n<p><em>(Ok, first hit play on the above video. This article has a soundtrack.)</em></p>\n<p>In World of Warcraft, Darkshore is the first major city outside of the Night Elf starting area and stands in dark contrast to the mystical and deeply saturated pink realm of Teldrassil. Its where you discover that the game is full of many people of many races. Ive spent just over twenty hours in the game over a week, Im crossing level 17, and it just started raining.</p>\n<p>As part of their fifteenth anniversary, Blizzard released the original “vanilla” version of World of Warcraft (“WoW”). This release represents the initial version of the wildly popularly MMO that consumed years of my life. There is a service on the internet that will tell me precisely the number of hours, days, weeks, and years Ive already spent on WoW, but there is no way Im going to look because if the total time played isnt years, its undoubtedly months and months.</p>\n<p>For me, the act of purchasing and installing Vanilla was a multi-week agonizing process. Id log into Battle.net, move my mouse cursor over the Subscribe Now button and sit there. <em>Am I ready for this? Do you remember how much time you spent raiding Molten Core? How about ZulGurab? Years. Do you need more missing months?</em></p>\n<p>But I had to know. Having played most of the subsequent releases of WoW and watched how the game evolved, I wanted to see if the original spark, the unique hook, was still there. Sure, I was nostalgic, but was the grind going to be worth it?</p>\n<p>It is.</p>\n<h2>A Punishing Grind</h2>\n<p>Everything and I mean everything is a grind in Vanilla WoW whether its increasing your base level, your professions, and/or your secondary skills. Nothing comes from free. You must devote significant time to any attribute you want to grow, and that means finding resources and converting them into useful goods that you either use or sell.</p>\n<p>I choose leather-working as one of my professions which pairs nicely with my other profession: skinning. Efficient, right? Skin the animals that I kill and turn those skins into useful materials. Sure, except this is Vanilla where drop rates for many items are anemic. Need five bear skins? Ok, go kill 50 or so bears. Where are these bears? Well, theres a bunch in the north part of Darkshore which is a <strong>five-minute walk</strong> or I can head south where there are more bear clusters, but thats more like a <strong>ten-minute walk</strong>. No fast travel, no mounts, I need to point my Night Elf south and walk down a forest path for ten minutes… in the rain.</p>\n<p>Yes, there are other quests to do on my long walk to the bear massacre, but these quests contain the same DNA as the rest of Vanilla. Nothing for free plus an enormous grind. Lengthy collection quests with frustratingly low drop rates. Oh yeah, did I mention that if I leave a level-appropriate area, Im going to die? The moment I run into an over-leveled baddie, Im dead. When this happens (and it will), I appear as a ghost at a usually <strong>not</strong> nearby cemetery where I am required to run back to my corpse where I will likely to die again at the hands (claws, paws, whatever…) of the same vastly overpowered baddie.</p>\n<p>How is any of this fun?</p>\n<h2>Conspicuously Helpful and Painfully Kind</h2>\n<p>WoW is a profoundly complex puzzle, and puzzles are meant to be solved. My first week of grind in Vanilla was vastly more satisfying than my first week over a decade ago because I intimately know how this puzzle is constructed. I rolled a hunter because I am clear how a hunter works. Im ranged damage, I need a pet as quickly as possible because my melee attack sucks, and I need to become adept at managing that pet so that I dont die so I can avoid long ghost walks.</p>\n<p>I am space constrained. Bags are worth their weight in gold, but I have no gold. I have bronze coins which with a ton of work will become silver coins which eventually will become gold coins. Im going to need 100 of these hard to earn gold coins when I hit level 40, so I can purchase a mount and travel efficiently. Im level 18 now. I have 22 silver and 81 bronze. I am forever away from 100 gold coins.</p>\n<p>And then, standing there in the rain in Darkshore, a random Dwarf walks up next to me, opens the trade window, and gives me a bag. For free. No commentary, no requests, just a free bag in the middle of the forest. I bow. He walks off.</p>\n<p><em>Oh right…</em></p>\n<p>Now, Im standing outside of this cave, and its a cave full of quest-necessary mushrooms protected by fish-like creatures named Naga. I remember this cave from years ago because I spent hours of my life ghost walking back to this cave after being swamped by Naga. I did not know what I know now that <em>just about everything is easier with others in WoW.</em> Social connections are encouraged, so the moment I see a friendly player I request to join forces, and they accept. We competently charge into the cave and quickly overpower the Naga.</p>\n<p><em>Oh, right… people are helpful in this game.</em></p>\n<p>When it became clear to me the I was going to play Vanilla, I searched the internet from remnants of my old guild, Liquid Courage because those humans were why I devoted time to this game. A bunch of gaming strangers building a helpful community. The reason the ten-year-old game was so familiar to me was because of those helpful mostly anonymous humans who took the time to explain how it worked, how to optimize my play, and how to work together to solve this punishing grind.</p>\n<p><em>Oh, right… people are helpful in this game. The community is what made this game great. Conspicuously helpful and painfully kind.</em></p>\n<h2>Darkshore is a Place… To Me</h2>\n<p>Liquid Courage is still a guild on Cenarius, one of the many realms on the latest World of Warcraft. I recently logged in quietly to see familiar names there. I found the guild on Facebook, too. Familiar names were now playing with children who were yet born the last time we charged into ZulGurab seeking the heart of Hakkar.</p>\n<p>When I started playing WoW, there was no rain. It was an effect that was added in a later patch. I do remember the moment I first saw and heard the rain. I wasnt in Darkshore; I was in the Arathi Highlands a different continent. I dont remember if I was level 60, yet, but I remember when it started raining. I was questing with a guild-members. Did we need spiders? Maybe?</p>\n<p>It just started raining, and we celebrated the digital rain.</p>"},"visual":{"url":"none"},"unread":true,"categories":[{"id":"user/f2f031bd-f3e3-4893-a447-467a291c6d1e/category/e31b3fcb-27f6-4f3e-b96c-53902586e366","label":"Weblogs"}]},{"keywords":["Advice","Development","Opinion"],"originId":"https://furbo.org/?p=2411","fingerprint":"1953a570","id":"6IpDVPJg6aqZjbDgAeUFNoin2kWUje5qGrfJkJShV7Q=_16d81299bad:4da11:18991ffa","author":"Craig Hockenberry","summary":{"direction":"ltr","content":"Luckily, I dont have to use this kind of title often. But when I do, theres a good reason: this years beta release cycle for all of Apples operating systems has been a mess. The months since WWDC in June have been a terrible experience for both customers and developers alike and the literal center […]"},"alternate":[{"href":"https://furbo.org/2019/09/04/icloud-clusterfuck/","type":"text/html"}],"crawled":1569830050733,"title":"iCloud Clusterfuck","published":1567623053000,"origin":{"streamId":"feed/http://furbo.org/feed/","htmlUrl":"https://furbo.org","title":"furbo.org"},"content":{"direction":"ltr","content":"<p>Luckily, I dont have to use this <a href=\"https://furbo.org/2015/05/05/discoveryd-clusterfuck/\">kind of title</a> often. But when I do, theres a good reason: this years beta release cycle for all of Apples operating systems has been a mess. The months since WWDC in June have been a terrible experience for both customers and developers alike and the literal center of the chaos was Apples iCloud syncing service.</p>\n<p>For <a href=\"https://iconfactory.com\">us</a>, it all started with customers reporting lost <a href=\"https://linea-app.com\">Linea</a> sketches in their iCloud Drive. Initial investigations led to a common factor: all of the people affected had installed the iOS 13 beta release.</p>\n<p>And when I say lost, I mean really lost. Entire folders were either gone or corrupted. Apples mechanism to <a href=\"https://support.apple.com/kb/PH27917?locale=en_US\">recover deleted files</a> was of no help. The customers with weird folder duplicates were the “lucky” ones.</p>\n<p>We couldnt find any problems in our code and there was no information from Apple about problems with iCloud, so we did the only thing possible: <a href=\"https://blog.iconfactory.com/2019/06/linea-on-ipados-hold-off-for-now/\">we blocked people from using Linea on iOS 13</a>. If a customer absolutely needed the app, we got them onto TestFlight after a stern warning about the real possibility of losing data.</p>\n<p>A few weeks later, Apple finally indicated that <a href=\"https://web.archive.org/web/20190704121813/https://developer.apple.com/documentation/ios_ipados_release_notes/ios_ipados_13_beta_3_release_notes#3319531\">there were some issues with iCloud</a> and the beta release. In the same week, they released a public beta and sent out an email to customers <em>encouraging them</em> to try out iOS 13.</p>\n<p>We did our best to understand the situation and provide information to Apple, but it felt like we were tossing bug reports into a black hole. The most discouraging part was when we tried to open an incident with Apple Developer Technical Support (DTS). After writing up a detailed report, we were informed that they dont support beta releases!</p>\n<p>By the time beta 6 rolled around, <a href=\"https://twitter.com/stroughtonsmith/status/1159444497379598339\">things were improving</a>, but there were still isolated reports that the service might not be completely back in working order. Confirming the fixes on our end was impossible: the folks whod encountered the previous data loss had no desire to mess with iCloud again. </p>\n<p>Now it appears that <a href=\"https://twitter.com/macguru17/status/1168777874880499713\">the entire stack</a> is getting rolled back and there wont be new iCloud features in iOS 13 (at least initially.) I honestly think thats <a href=\"https://twitter.com/chockenberry/status/1168916561597521920\">the wisest course of action</a> at this point. My only wish is that Apple would make an official statement.</p>\n<p>Now that were past the worst of it, its time to think about why this whole episode happened and how it can be prevented in the future.</p>\n<h3>Folks dont understand beta</h3>\n<p>Apples biggest fuck up was a bad assumption about who is testing a beta release. In WWDC presentations and developer documentation, theres always warnings about using the release on non-production devices and only with test accounts.</p>\n<p>But there are many folks that are just looking to get the new and shiny features. In past iOS beta releases, Apple hasnt suffered too much from this because the early software was relatively stable. Maybe you got some dropped calls or bad battery life, but it was nothing too serious.</p>\n<p>These early adopters installed iOS 13 and expected a similar experience. They also werent using an iCloud test account, so any instability in the beta release propagated bad data to their other devices.</p>\n<p>Developers have long known to unhook external drives when testing a new OS release. <a href=\"https://www.computerworld.com/article/2528936/snow-leopard-bug-deletes-all-user-data.html\">Shit happens</a>, and thats OK because its a beta and we expect a bumpy road. In fact, I currently have an external Photos Library that I cant use in Mojave because it got upgraded when I booted into Catalina: its my dumb mistake and I have no complaints.</p>\n<p>Anyone whos not a developer, and hasnt been burned by a bad OS, does not know the kind of trouble that lies ahead. Its irresponsible for Apple to release a public beta with known issues in iCloud. Its doubly egregious to then promote that release with an email campaign to customers. For a company that prides itself in presenting a unified front, it sure looks like the left hand doesnt know what the right hand is doing.</p>\n<h3>Disconnect iCloud by default</h3>\n<p>The solution to this situation is relatively simple, but with painful consequences. Apple needs to help <a href=\"https://twitter.com/raajspeak/status/1154052122331082753\">unwitting customers</a> by automatically disconnecting that external hard drive called iCloud.</p>\n<p>If a device is using an Apple ID thats also being used on a non-beta device, then iCloud shouldnt be allowed. If you install an iOS beta on your iPad, it doesnt get to use any cloud services because it puts the data on your iPhone or Mac at risk.</p>\n<p>Of course, once this restriction is put into place, Apple will quickly realize that no one is testing iCloud or anything that touches it. If a beta tester cant have their contacts, synced notes, reminders, and appointments over the course of three months, theyre not going to be testing much. Id also expect to see lots of guides on “How to Get Back on Normal iOS” around the web.</p>\n<p>But theres a better, and even more unlikely solution…</p>\n<h3>iCloud cant be a beta</h3>\n<p>Because its a service, iCloud doesnt get to go into beta. It needs to be reliable <strong>all the time</strong>, regardless of whether iOS or any other platform is in beta test.</p>\n<p>As it is now, Apple is effectively telling you that your storage device will be unreliable for a few months. Its like having a hard drive where the manufacturer tells you it wont work well for ¼ of the year. Would you purchase storage with a caveat that “the drive mechanism may not work properly during the hot summer months”?</p>\n<p>You dont see these kinds of issues with Google Drive or Dropbox because they dont get a pass while an OS is being tested. <a href=\"https://www.wired.com/2016/03/epic-story-dropboxs-exodus-amazon-cloud-empire/\">Dropbox moved your folders</a> from AWS to their own servers without you noticing even the slightest hiccup. Compare this to the last three months of iCloud in beta.</p>\n<p>And yes this is a hard task: akin to swapping out the engines of an airplane in mid-flight. But data services, like hard drives, <em>must</em> work all the time.</p>\n<p>Were well past that point with iCloud and its just going to get worse as Apple moves more of our data there. This time next year, will I suddenly not know which episodes Ive watched on Apple TV? Or will I suddenly lose all my scores and achievements in Apple Arcade? Will I shoot myself in the foot with some cool new feature in iOS 14?</p>\n<p>Unfortunately for Apple, breaking iCloud away from the OS isnt a simple problem to solve. Its not a technical challenge as much as it is an organizational one: <a href=\"https://stratechery.com/2016/apples-organizational-crossroads/\">a move from a functional form to a divisional one</a>.</p>\n<p>So while <a href=\"https://daringfireball.net/linked/2019/08/27/ios-13-beta-1\">we all dream of an OS release roadmap</a> to ease the transition to new features, Apple needs to give some very close to attention to the underlying services that would enable that new way of working.</p>\n<p>The lack of substantive communication about iClouds problems this summer shows how far the company has to go in that regard. You cant use a roadmap without letting people know about your successes and failures. There will be wrong turns, and you cant continue on in silence when people depend on the services reliability.</p>\n<h3>iCloud gives data a bad name</h3>\n<p>As a developer whose job requires frequent beta installations, this years problems with Apples service has brought something clearly into focus: as much as I love the functionality that iCloud provides, I cannot put my valuable data at risk.</p>\n<p>And you can bet your ass that I have a new backup strategy for anything thats in iCloud Drive. (Hint: <code>rsync</code> and <code>~/Library/Mobile Documents</code>.)</p>\n<p>As an Apple shareholder, I also worry about how these failures will damage the iCloud brand. Apples growth hinges on services and when they get a bad name, the stock price can only go one way. There is only one brand that people think of when you mention <a href=\"https://en.wikipedia.org/wiki/Click_of_death\">“click of death”</a>.</p>\n<p>I sincerely hope that Apple can address these issues, because I love the idea of services that focus on simplicity and privacy. I know my last clusterfuck memo got some notice within the company, and I hope this one does as well.</p>"},"visual":{"url":"none"},"unread":true,"categories":[{"id":"user/f2f031bd-f3e3-4893-a447-467a291c6d1e/category/e31b3fcb-27f6-4f3e-b96c-53902586e366","label":"Weblogs"}]},{"keywords":["Development"],"originId":"https://furbo.org/?p=2384","fingerprint":"6abb6e16","id":"6IpDVPJg6aqZjbDgAeUFNoin2kWUje5qGrfJkJShV7Q=_16d81299bad:4da10:18991ffa","author":"Craig Hockenberry","summary":{"direction":"ltr","content":"We recently started updating our macOS apps for Catalina: so far there have been very few issues with APIs and frameworks. The biggest hurdle has been the new notarization process thats required for apps signed with a Developer ID: customers will be unable to download and launch your product easily until this step is completed. […]"},"alternate":[{"href":"https://furbo.org/2019/08/16/catalina-app-notarization-and-sparkle/","type":"text/html"}],"crawled":1569830050733,"title":"Catalina, App Notarization, and Sparkle","published":1565997404000,"origin":{"streamId":"feed/http://furbo.org/feed/","htmlUrl":"https://furbo.org","title":"furbo.org"},"content":{"direction":"ltr","content":"<p>We recently started updating our <a href=\"https://iconfactoryapps.com/\">macOS apps</a> for Catalina: so far there have been very few issues with APIs and frameworks. The biggest hurdle has been the new notarization process thats required for apps signed with a Developer ID: customers will be unable to download and launch your product easily until this step is completed.</p>\n<p>Notarization involves an extra step in your build process: you upload an archived binary to Apples server with Xcodes Organizer window and a short time later, you can export the binary. If youve automated your build process, youll need to make changes to your scripts to accommodate this new manual step. Apples documentation <a href=\"https://developer.apple.com/documentation/security/notarizing_your_app_before_distribution\">explains the process</a> well.</p>\n<p>Before you can notarize the app, youll need to enable the hardened runtime in the targets Capabilities panel. After flipping the switch youll see a array of exceptions and access permissions. Youll want to survey this list carefully: for one product we needed Apple Events, for another Location was required.</p>\n<p>Things start to get tricky when you go to upload the binary: if youre using Sparkle, its probably been codesigned without the hardened runtime, so youll immediately see an error.</p>\n<h3>Sparkle Without a Sandbox</h3>\n<p>How you deal with this error depends on which of the Sparkle versions youre using. If your app isnt sandboxed, your life will be a bit simpler because there are fewer things youll need to sign manually.</p>\n<p>After the targets Copy Files build phase where the Sparkle.framework is moved into the application package, youll need to create a new Run Script step: I called ours “Sign Frameworks”. The script looks like this:</p>\n<pre>\nLOCATION=&quot;${BUILT_PRODUCTS_DIR}&quot;/&quot;${FRAMEWORKS_FOLDER_PATH}&quot;\nIDENTITY=${EXPANDED_CODE_SIGN_IDENTITY_NAME}\n\ncodesign --verbose --force --deep -o runtime --sign &quot;$IDENTITY&quot; &quot;$LOCATION/Sparkle.framework/Versions/A/Resources/AutoUpdate.app&quot;\ncodesign --verbose --force -o runtime --sign &quot;$IDENTITY&quot; &quot;$LOCATION/Sparkle.framework/Versions/A&quot;\n</pre>\n<p>The key part in this step is the <code>-o runtime</code>. The <code>codesign</code> manual page describes this flag as:</p>\n<blockquote><p>\nOn macOS versions >= 10.14.0, opts signed processes into a hardened runtime environment which includes runtime code signing enforcement, library validation, hard, kill, and debugging restrictions. These restrictions can be selectively relaxed via entitlements. Note: macOS versions older than 10.14.0 ignore the presence of this flag in the code signature.\n</p></blockquote>\n<p>The good news here is that the build changes were making wont affect your app when it runs on an older version of macOS.</p>\n<h3>Sparkle in a Sandbox</h3>\n<p>If your macOS app is in a sandbox, youll be using the version that relies on XPC services to perform the update. Like everything else in your application package, these will need to be signed correctly before you can submit your app for notarization.</p>\n<p>The “Sign Frameworks” build phase should look like this:</p>\n<pre>\nLOCATION=&quot;${BUILT_PRODUCTS_DIR}&quot;/&quot;${FRAMEWORKS_FOLDER_PATH}&quot;\nIDENTITY=&quot;${EXPANDED_CODE_SIGN_IDENTITY}&quot;\n\ncodesign --verbose --force -o runtime --sign &quot;$IDENTITY&quot; &quot;$LOCATION/Sparkle.framework/Versions/A/Resources/AutoUpdate&quot;\ncodesign --verbose --force --deep -o runtime --sign &quot;$IDENTITY&quot; &quot;$LOCATION/Sparkle.framework/Versions/A/Resources/Updater.app&quot;\ncodesign --verbose --force -o runtime --sign &quot;$IDENTITY&quot; &quot;$LOCATION/Sparkle.framework/Versions/A&quot;\n</pre>\n<p>Youll also add a new Run Script build phase just before the XPC Services are embedded in your application package. Since youll only need to do this for release builds, the script looks like this:</p>\n<pre>\nif [ &quot;${CONFIGURATION}&quot; = &quot;Release&quot; ]; then\n $PROJECT_DIR/Sparkle/bin/codesign_xpc &quot;Developer ID Application&quot; $BUILT_PRODUCTS_DIR/*.xpc\nfi\n</pre>\n<p>But wait, were not done yet! Youll also need to update the <code>codesign_xpc</code> Python script with the <code>-o runtime</code> flag. It looks like this when youre done:</p>\n<pre>\ndef _codesign_service(identity, path, entitlements_path=None):\n command = [&quot;codesign&quot;, &quot;-f&quot;, &quot;-o&quot;, &quot;runtime&quot;, &quot;-s&quot;, identity, path] + ([] if entitlements_path is None else [&quot;--entitlements&quot;, entitlements_path])\n log_message(&quot; &quot;.join(map(sanitize, command)))\n ...\n</pre>\n<h3>Youre Not Done Yet</h3>\n<p>At this point, you should be able to do a build where everything in your app is using the hardened runtime. Its more likely that youve had some kind of issue along the way: <a href=\"https://developer.apple.com/documentation/security/notarizing_your_app_before_distribution/resolving_common_notarization_issues\">this Apple document</a> helped get me over the rough patches. (Thankfully, I didnt have to <a href=\"https://furbo.org/2015/07/23/code-signing-in-el-capitan/\">write</a> <a href=\"https://furbo.org/2013/10/17/code-signing-and-mavericks/\">it</a> this time around.) </p>\n<p>After the notarization upload completes, youll see “Uploaded to Apple” in the organizer, then after a few minutes youll get an email and Xcode notification that your app is “Ready to distribute”. In the righthand panel underneath “Distribute App”, youll see that the “Export Notarized App” button is enabled and can be used to place the signed package anywhere on your Mac for further processing.</p>\n<p>In our case, we had to split up the build scripts into two parts: previously we had a single script that did the build, signed it with the Developer ID, and then created an appcast. Sparkles XML file is now created with a separate script that also prepares the release to be checked into our repositories.</p>\n<p>One final note: these instructions are based on Xcode 10, which is currently the only development tool that can be used to submit an app for notarization or the Mac App Store. Before we figured that out, we found that Xcode 11 does a better job passing along the <code>-o runtime</code> flag during a frameworks Code Sign On Copy. Its likely that all this work you just did will only be needed for a few months. Sigh.</p>"},"visual":{"url":"none"},"unread":true,"categories":[{"id":"user/f2f031bd-f3e3-4893-a447-467a291c6d1e/category/e31b3fcb-27f6-4f3e-b96c-53902586e366","label":"Weblogs"}]},{"originId":"http://david-smith.org/blog/2019/09/26/moon-plus-plus","fingerprint":"d717143d","id":"37MS5KwinfzXRHFFH8onqsLrpe3pbr+gQeC/KCTSLiw=_16d81299335:4da0f:18991ffa","updated":1569510120000,"alternate":[{"href":"http://david-smith.org/blog/2019/09/26/moon-plus-plus/","type":"text/html"}],"crawled":1569830048565,"title":"Moon++, a better lunar complication","published":1569510120000,"origin":{"streamId":"feed/http://david-smith.org/atom.xml","htmlUrl":"http://david-smith.org/","title":"David Smith, Independent iOS Developer"},"content":{"direction":"ltr","content":"<p>This <a href=\"https://apps.apple.com/us/app/moon/id1480909731?ls=1\">app</a> started life as so many of my apps do…from a frustration that just got under my skin. </p>\n<p>I just received my new Series 5 Apple Watch. While reading reviews for it, many reviewers were using the moon complication in their product shots. I think this is because it is the default complication for the new California watch face. Anyway, I liked the overall aesthetic of it and so tried it out myself. </p>\n<p>I went outside and looked up at the moon in the sky. This is what I saw:</p>\n<p><img width=\"25%\" src=\"http://david-smith.org/resources/actualmoon.jpeg\"></p>\n<p>Then I looked down at my wrist and saw this:</p>\n<p><img width=\"25%\" src=\"http://david-smith.org/resources/thatsnomoon.png\"></p>\n<p>This bothered me more than it should. The two dont really look the same at all. On my wrist is a powerful computer, capable of precisely locating itself on the surface of the earth (and indeed the solar system!)…but it isnt showing me the correct moon.</p>\n<p>So I had to fix it…</p>\n<p><img width=\"25%\" src=\"http://david-smith.org/resources/moon-mine.png\"></p>\n<p>The result is <a href=\"https://apps.apple.com/us/app/moon/id1480909731?ls=1\">Moon++</a>. </p>\n<p>Moon++ seeks to provide a highly accurate, visually pleasing indication of what the moon looks like right now, right where you are. My goal was to make it so that if you look down at your wrist and then up into the sky the images you see should match. </p>\n<p>Building it has been a fun little adventure into astronomy. The moon image I generate is adjusting itself for all manner of astronomical factors. I got to learn about such fun terms as: parallactic angle, libration, and lunar terminator. </p>\n<p><img width=\"25%\" src=\"http://david-smith.org/resources/moon-infograph.png\"></p>\n<p>It includes a robust set of complications for every watch face type. You can choose between either a visually rich actual appearance or a more simplified version, to fit your own personal style. </p>\n<p><img width=\"25%\" src=\"http://david-smith.org/resources/moon-app.png\"></p>\n<p>Within the actual app itself it displays the current location of the moon in the sky (azimuth and elevation) along the horizon. If you rotate the Digital Crown you can shift forward and backwards through time.</p>\n<p>Additionally, on the new Series 5 Apple Watch, which is equipped with a compass, you can have <a href=\"https://apps.apple.com/us/app/moon/id1480909731?ls=1\">Moon++</a> orient itself towards the actual moon to make it easier to locate the moon in the sky.</p>\n<p>I hope you enjoy this little utility, I really enjoyed making it. </p>\n<p><a href=\"https://apps.apple.com/us/app/moon/id1480909731?ls=1\">It is $0.99 in the App Store</a>.</p>\n<hr>\n<p>A <a href=\"https://david-smith.org/MoonPlusPlusPressKit-v1.zip\">Press Kit</a> for the app is here. </p>\n<hr>\n<p>Technical Note: </p>\n<p>This is my first app built using SwiftUI. It is really cool to see how interactive and lively you can now make an Apple Watch app. The compass mode feature especially wouldnt really have been practical or performant to build using WatchKit. </p>\n<p>Also, it is an Apple Watch only app, which means I didnt have to build a hosting iPhone app.</p>\n<br><br><a href=\"http://david-smith.org/blog/2019/09/26/moon-plus-plus/\">»</a>"},"visual":{"url":"http://www.blogcdn.com/www.engadget.com/media/2013/10/galaxygear-lead.jpg","width":619,"height":411,"contentType":"image/jpeg"},"unread":true,"categories":[{"id":"user/f2f031bd-f3e3-4893-a447-467a291c6d1e/category/e31b3fcb-27f6-4f3e-b96c-53902586e366","label":"Weblogs"}]},{"originId":"http://david-smith.org/blog/2019/09/13/seamless-light-complications","fingerprint":"cd8567d7","id":"37MS5KwinfzXRHFFH8onqsLrpe3pbr+gQeC/KCTSLiw=_16d81299335:4da0e:18991ffa","updated":1568388600000,"alternate":[{"href":"http://david-smith.org/blog/2019/09/13/seamless-light-complications/","type":"text/html"}],"crawled":1569830048565,"title":"Seamless Light Complications","published":1568388600000,"origin":{"streamId":"feed/http://david-smith.org/atom.xml","htmlUrl":"http://david-smith.org/","title":"David Smith, Independent iOS Developer"},"content":{"direction":"ltr","content":"<p>I really like the new Meridian face that arrived in the watchOS 6 GM. It is clean, simple but still provides ample opportunity for customization. Over the summer Ive been rocking the California face (with Arabic numerals because its default mixed Roman numerals hurt both my head and heart). But the California face only has extensive complication options in the corners which isnt my preferences. I like the face itself going to the edge of the display, it is one of the things I like most about the Series 4/5 display, that it really fills the face.</p>\n<p>There is, however, one thing Im now really wishing for with the Meridian face…the ability to make seamless complications for its light face options. </p>\n<p>For the dark face variants, we already have this. You have white text on a black background that blends seamlessly into the background of the watch. </p>\n<p><img width=\"50%\" src=\"http://david-smith.org/resources/seamless-dark.png\"></p>\n<p>Increasingly Apple is providing options for us to have non-black watch faces, which I think creates a delightful bit of character and delight for the Apple Watch. These started with the Infograph faces and now continue with both California and Meridian. However, sadly we dont yet have a way to make complications that can blend seamlessly into the these light colored backgrounds. The best I can currently do is something that looks kinda like this:</p>\n<p><img width=\"50%\" src=\"http://david-smith.org/resources/seamless-outlined.png\"></p>\n<p>Which isnt awful, but really interrupts the full effect that would be possible if the complication blended seamlessly into the background. Apple already allows this for the “Digital Time” complication so I know it isnt completely out of the question. Here is an altered version of the above screenshot removing the ring around my complications. </p>\n<p><img width=\"50%\" src=\"http://david-smith.org/resources/seamless-filled.png\"></p>\n<p>Doesnt that look great!</p>\n<p>So this is my little feature request for apple (filed as FB7264371), Id love to see a way to provide seamless complications for these colored backgrounds. Fingers crossed!</p>\n<p>Note: The font used in my custom date and weather complications is <a href=\"https://www.typography.com/fonts/numbers/overview\">Redbird</a>, which is my current favorite for display on an Apple Watch face. It just looks at home on this device.</p>\n<br><br><a href=\"http://david-smith.org/blog/2019/09/13/seamless-light-complications/\">»</a>"},"visual":{"url":"http://www.blogcdn.com/www.engadget.com/media/2013/10/galaxygear-lead.jpg","width":619,"height":411,"contentType":"image/jpeg"},"unread":true,"categories":[{"id":"user/f2f031bd-f3e3-4893-a447-467a291c6d1e/category/e31b3fcb-27f6-4f3e-b96c-53902586e366","label":"Weblogs"}]},{"originId":"http://www.caseyliss.com/2019/9/19/stalman-podcast","fingerprint":"a907e8ac","id":"fkFLg490GSKODJZCYxuxuSDw5utmxlHxrMJQGyyxmh0=_16d8129898d:4da0d:18991ffa","author":"Casey Liss","summary":{"direction":"ltr","content":"<p>Last night I recorded a podcast with my pal <a href=\"http://stalman.com\">Tyler Stalman</a> on his\nshow, <a href=\"https://www.stalmanpodcast.com/\">The Stalman Podcast</a>. Tyler received review units of the\niPhone 11, iPhone 11 Pro, and Apple Watch Series 5. After a whirlwind\nday of him testing the phones, Tyler made some time to sit down with\nme to discuss them.</p>\n<p>In <a href=\"https://www.stalmanpodcast.com/64\">this episode</a>, I turned the tables on Tyler and interviewed\nhim. As a professional photographer, Tyler naturally had a lot of\nthoughts about the new two-camera system on the 11 and the three-camera\nsystem on the 11 Pro.</p>\n<p>I had <strong>a ton</strong> of fun recording this with Tyler, and for those of you\nwaiting in line tomorrow, or debating buying a new iPhone, this episode\nis for you.</p>\n<p><a href=\"https://www.caseyliss.com/2019/9/19/stalman-podcast\">Read on Liss is More</a></p>"},"alternate":[{"href":"https://www.stalmanpodcast.com/64","type":"text/html"}],"crawled":1569830046093,"title":"Appearance: Stalman Podcast 64","published":1568942100000,"origin":{"streamId":"feed/http://www.caseyliss.com/rss","htmlUrl":"https://www.caseyliss.com","title":"Liss is More"},"visual":{"url":"https://cdn.vox-cdn.com/thumbor/06e5FJWgUfUSmDaPJIEZoGF1XOs=/0x68:2040x1136/fit-in/1200x630/cdn.vox-cdn.com/uploads/chorus_asset/file/10378819/DSCF3031.jpg","width":1200,"height":628,"contentType":"image/jpeg"},"unread":true,"categories":[{"id":"user/f2f031bd-f3e3-4893-a447-467a291c6d1e/category/e31b3fcb-27f6-4f3e-b96c-53902586e366","label":"Weblogs"}]},{"originId":"http://www.caseyliss.com/2019/8/27/family-feud","fingerprint":"8d3ef9eb","id":"fkFLg490GSKODJZCYxuxuSDw5utmxlHxrMJQGyyxmh0=_16d8129898d:4da0c:18991ffa","author":"Casey Liss","summary":{"direction":"ltr","content":"<p>Just over five years ago, <a href=\"http://www.mykewasright.com/\">Myke</a> and I <a href=\"https://www.caseyliss.com/2014/8/11/announcing-analog\">announced Analog(ue)</a>. It doesnt\nfeel like it was that long ago, but here we are. <a href=\"https://www.relay.fm/analog\">Analog(ue)</a> is older than both\nof my children; Myke and I have released 163 episodes of the show. Not bad for\nsomething we thought would peter out after ten or twenty episodes.</p>\n<p>To celebrate <s>Analog(ue)'s</s> Relays fifth anniversary, over twenty hosts\njoined Myke and <a href=\"https://512pixels.net/\">Stephen</a> in San Francisco to record a live game of\n<a href=\"https://en.wikipedia.org/wiki/Family_Feud\">Family Feud</a>. It was a blast, and probably the zaniest podcast Ive\never been a part of.</p>\n<p>The whole episode is up on the <a href=\"https://www.relay.fm/connected\">Connected</a> feed, if youd like to have a\nlisten. There <em>may</em> be video in the future, but no guarantees. If there is, Ill\nlink it here.</p>\n<p><a href=\"https://www.caseyliss.com/2019/8/27/family-feud\">Read on Liss is More</a></p>"},"alternate":[{"href":"https://www.relay.fm/connected/257","type":"text/html"}],"crawled":1569830046093,"title":"Appearance: Connected 257","published":1566916200000,"origin":{"streamId":"feed/http://www.caseyliss.com/rss","htmlUrl":"https://www.caseyliss.com","title":"Liss is More"},"visual":{"url":"https://cdn.vox-cdn.com/thumbor/06e5FJWgUfUSmDaPJIEZoGF1XOs=/0x68:2040x1136/fit-in/1200x630/cdn.vox-cdn.com/uploads/chorus_asset/file/10378819/DSCF3031.jpg","width":1200,"height":628,"contentType":"image/jpeg"},"unread":true,"categories":[{"id":"user/f2f031bd-f3e3-4893-a447-467a291c6d1e/category/e31b3fcb-27f6-4f3e-b96c-53902586e366","label":"Weblogs"}]},{"originId":"https://allenpike.com/2019/multiply-your-time","fingerprint":"99105153","id":"r0GuC4sgAzEOyudB9cuXyJaa1HYa9lXs9s0Sf3Zd858=_16d8128aefe:4da03:18991ffa","updated":1567278610000,"author":"Allen Pike","alternate":[{"href":"https://www.allenpike.com/2019/multiply-your-time","type":"text/html"}],"crawled":1569829990142,"title":"Multiply Your Time","published":1567278610000,"origin":{"streamId":"feed/http://www.allenpike.com/feed/","htmlUrl":"https://www.allenpike.com/","title":"Allen Pike"},"content":{"direction":"ltr","content":"<p>One of my most hated things is when someone over-fills a garbage bag.</p>\n<p>You see, an almost-full garbage bag is a small task to deal with you just close it up and pull it out. But an <em>over-full</em> garbage bag is a problem. Suddenly, you cant just pull it closed anymore dealing with the bin now involves biohazardous juggling, something nobody is inclined to do anytime soon. The resulting additional procrastination leads to, in most cases, an unstoppable garbage snowball that eventually destroys humanity itself.</p>\n<p>Everybody has their irrational pet peeves. As long as I can remember, this has been one of mine. For years I always tried to prioritize the task of emptying the bin before it got over-filled. Sometimes I succeeded, but other times I failed, and a stupid garbage can would put me on tilt.</p>\n<p>One day, when I attempted the task of emptying the bin, I found it over-full. And instead of emptying it, I left. I left for Home Depot, on a different task that would change how I thought about prioritization forever: I bought a smaller garbage bin.</p>\n<p><img src=\"https://www.allenpike.com/images/2019/trash-cans.png\"></p>\n<p>It may be obvious to you, but for years I ignored the root cause of my age-long grief. I did nothing about the thing that actually enabled people to pile in more garbage than the bag could hold: the bin was bigger than its bag. By buying a smaller bin, the same bags simply couldnt be over-filled. Even the most precariously over-filled bin could be wrapped up swiftly and neatly, using the specially reserved portion of bag draped on the outside of the bin, ready and waiting for duty.</p>\n<p>It was glorious.</p>\n<h2>The quietly worthwhile</h2>\n<p>There is a lot of stuff you should get done.</p>\n<p>Or, more accurately, there is a lot of stuff you <em>feel like</em> you should get done. My OmniFocus tracks 860 actions that, at one time, I felt like I should do. Many of them wont get done. But there are some things in there that I <em>truly</em> should do, and if I do them, Ill be very glad.</p>\n<p>The question is: which ones?</p>\n<p>Some actually-important things are urgent. If you dont renew your passport, you cant go on your upcoming trip. If you dont empty the garbage before garbage day, youll be stuck with old garbage for two weeks. The task needs to get done, you need to do it, so you just gotta do it. Its kind of obvious, because its both urgent and important.</p>\n<p>More interesting, though, is the non-urgent stuff that is nevertheless very worthwhile. The tasks that are easy to defer, tempting to procrastinate, but actually more important than the supposedly urgent tasks: the smaller garbage bins, waiting to be bought.</p>\n<p>So, when Im looking at things I should do, I keep an eye out for certain kinds of tasks: work that isnt urgent, but can <strong>multiply time</strong>. Things that could pay off for months or years to come.</p>\n<p>In particular, I try to consider if I can:</p>\n<ol>\n<li><strong>Automate.</strong> Can you spend 1 hour simplifying or automating something that would then save yourself 5 minutes a week? If so, then I have an incredible investment opportunity for you: you can invest time the most precious resource we have at a <strong>430%</strong> annual interest rate. The busier I get, the harder it is to get around to tackling these automation and simplification tasks, but the more worthwhile it is.</li>\n<li><strong>Teach.</strong> If theres somebody whod be willing to do this task in the future, but they dont know how yet, then you have a big opportunity. The long-term payoff for teaching someone how to do a task can be massive. Even in the case of successfully handing something off only for it to “boomerang” back later, having taught still improves your understanding of the work <em>and</em> makes you a better teacher for the next attempt. If youre in a leadership position of any kind, you dont have the time <em>not</em> to be teaching people.</li>\n<li><strong>Calm.</strong> Like many people, I have a certain amount of tolerance for frustration and stress in a given day. At a certain point further annoyances, even small ones, cause disproportionate reactions and sap energy from me and those around me. Thats why I find it useful to prioritize fixing anything that is a persistent aggravation or stressor. In OmniFocus, I keep an ongoing project “Make Life Calmer”. Doing work today that will make tomorrow calmer and more focused is a great investment, and will let you use your future “stress budget” on something more meaningful than the fact the damn kitchen drawer is stuck closed again because the saran wrap and aluminium foil boxes got pushed on top of each other again and god DAMN it why do I have three different sets of measuring cups in here augghhhh.</li>\n<li><strong>Improve.</strong> It is extremely easy to procrastinate making yourself better. It takes motivation to build new habits, learn how do to something “right”, or to address a longstanding problem. But this work is profoundly worthwhile, since small investments here can have <em>huge</em> payoffs. After 35 years of using a computer like a dumb animal, Im finally learning how to sit, type, and work in a way that doesnt permanently injure my wrists and shoulders. Reading books about RSI or learning better posture arent necessarily my idea of fun, but Im going to benefit from the investment for decades to come.</li>\n</ol>\n<h2>Diamonds in the rough</h2>\n<p>Next time youre cleaning up your todos, considering a new goal or theme, or just feeling over-busy, consider how you can be multiplying your time. What things, once done, will have an impact that pays off for years?</p>\n<p>What is your smaller garbage bin?</p>"},"visual":{"url":"http://cdn0.sbnation.com/entry_photo_images/9193021/3462607995_150a6b2624_z_large.jpg","width":630,"height":420,"contentType":"image/jpg"},"unread":true,"categories":[{"id":"user/f2f031bd-f3e3-4893-a447-467a291c6d1e/category/e31b3fcb-27f6-4f3e-b96c-53902586e366","label":"Weblogs"}]},{"id":"K2yEyJkJAlTYIjP5i2D9ccp/wbMYzpHnabsacInQgcs=_16d7e95f988:1fc4:90d684ff","keywords":["digital-publishing","newspapers","france","search-engine-optimizati","media"],"originId":"https://medium.com/p/948b24fd555c","fingerprint":"ea8aeae3","content":{"content":"<h3>#MN_Briefing 09.29.19</h3><p><em>by </em><a href=\"https://medium.com/u/1bfe2d11f1d5\"><em>Frederic Filloux</em></a></p><figure><img alt=\"\" src=\"https://cdn-images-1.medium.com/max/1024/1*pWoJwOHOoK-tw2jAJV7n8g.jpeg\"><figcaption>Google responding to the French law on snippets</figcaption></figure><h4>In todays briefing: Google on the warpath with French publishers | Le Monde facing crucial choices for its future | The New York Media/Vox deal | Some news about Deepnews | Great long forms.</h4><h4>1. Google fires a warning shot at EU publishers</h4><p><strong>TThe Facts.</strong> Google chose the hard way when faced with the decision on how to comply with Frances new copyright law, set to come into force in late October. The law states that publishers are entitled to be paid by online services that display snippets of articles. It is the result of intense pressure on behalf of French publishers.</p><p>Last Wednesday, Google announced that, in order to be fully compliant with the new French law, it will simply stop showing snippets below headlines, as well as thumbnails.</p><p>Here is an abstract of Googles statement (full text in FR and ENG <a href=\"https://france.googleblog.com/2019/09/comment-nous-respectons-le-droit-dauteur.html\">here</a>), emphasis mine:</p><blockquote>At the moment, when we display news results, we show a headline, which links directly to the relevant news site. For some results, we also show you a short preview of the article, such as a few lines of text (also known as a “<a href=\"https://support.google.com/webmasters/answer/35624?hl=en\">snippet</a>”) or a small “thumbnail” image. Together, these headlines and previews can help you decide whether a result is relevant to your search, and whether you want to click on it.<br>When the French law comes into force, <strong>we will not show preview content in France for a European news publication unless the publisher has taken steps to tell us thats what they want.</strong> This applies to search results across Google services.</blockquote><p><strong><em>Why it matters. </em><br>1) French publishers have a lot to lose in the process.</strong> To understand the visible impact of Googles decision, here is the same set of news, collected yesterday morning with a simple query “Jacques Chirac” (the former French President who died last week), in Google search. Assuming none of the publishers mentioned below will take the steps to opt-in back to the former system of snippets (or snippets + thumbnail), the impact will be significant:</p><figure><img alt=\"\" src=\"https://cdn-images-1.medium.com/max/1024/1*j9WJHM22M-njX5dYpphPqQ.png\"></figure><p>Maintaining the volume of traffic sent back to publishers from search results will require a united front in which no one publisher accepts going back to the headline + snippet system, and/or the adoption of clear and straightforward headlines. Otherwise, the loss in traffic could be significant.</p><p><strong>2) Googles reaction equals to a shot across the bow of EU publishers:</strong> It says: “Do not push your governments to pass such kinds of law, or you will face the consequences”. Googles position has the merit of consistency. Over the last five years, the search giant stood by its tune: “We wont pay for snippets. Ever”. The news should not, therefore, come as a surprise for the French publishers. But, as an industry addicted to subsidies, supposedly protected by the EU as the Daddy and the French government as the Mummy, they hoped for a miracle which didnt happen.</p><p><strong>The lingering questions</strong> that I will cover in a future Monday Note:</p><p>1 . How French publishers will react to this, besides besieging the Ministry of Culture, who already slammed Googles decision as unacceptable (press release in FR <a href=\"https://www.culture.gouv.fr/Presse/Communiques-de-presse/Reaction-de-Franck-Riester-ministre-de-la-Culture-suite-aux-declarations-de-Google-relatives-a-la-remuneration-des-editeurs-de-presse-en-ligne\">here</a>)?</p><p>2 . It varies from one publisher to another, but Google News and Google Search might count for as much as 30 percent of the traffic a news site is getting. French publishers will still be present in SERPs (Search Engine Return Pages), but, as a default setting, their presence will be reduced. What will be the impact on their traffic? How many will opt-in to go back to the original system? Will they remain united? (Of course not).</p><p>3 . Is there some room for negotiations between Google on one side and the French government and the publishers on the other?</p><p>4 . Why does the issue of paid-for-snippets seem to be so specific to the EU and more specifically French publishers?</p><p>5 . If we take into account, on one hand, the value of the clicks sent to the publishers + the amount of funding direct and indirect injected by Google into the news sector (hundreds of millions of dollars), and on the other hand, the benefits for Google of inserting news elements in the SERPs, is the news industry <em>really</em> at a disadvantage?</p><p><strong><em>Background:</em></strong> Past Monday Notes that cover the issues:</p><ul><li><a href=\"https://mondaynote.com/the-media-industry-and-the-make-google-pay-fantasy-1b4de36e3b04\">The Media Industry and the “Make-Google-Pay” Fantasy</a></li><li><a href=\"https://mondaynote.com/google-and-the-press-the-difficult-path-towards-a-balanced-cooperation-36405fde4f9e\">Google and the Press: The Difficult Path Towards a Balanced Cooperation</a></li></ul><h4>2. Follow-up on Le Mondes saga: tough choices, hard consequences</h4><p><strong>LThe apparent good news:</strong> all shareholders of Le Monde agreed last week to sign a pact that will give to the staffs representatives the right to veto an unwanted investor. At the same stroke, they decided to “consider the possibility” of a foundation. So far, only Xavier Niel, the telecom mogul who calls the shots here, is pushing in this direction. Despite an acceptable write-off, he will appear as the savior of Le Monde. Other stakeholders are not on board: Matthieu Pigasse, who narrowly escaped a personal bankruptcy, is about to make a good deal; Madison Cox, who manages Pierre Bergé estate, wants to sell his shares for a profit, and the newcomer, Daniel Kretinsky, who teamed up with Pigasse, is a patient man with large ambition.</p><p><strong><em>Why it matters.</em></strong><em> </em>Le Monde is facing a crucial moment in its existence. Nine years ago, the paper was on the verge of bankruptcy. Today, it harbors good journalism, even occasional strokes of extraordinary reporting. Financially speaking, Groupe Le Monde is well-managed but faces an uncertain/negative outlook for the future, as all insufficiently diversified media companies do.</p><p><strong>Now the choice is this:</strong></p><p><strong>a) Scenario A:</strong> Le Monde engages in a decisive development strategy with a comprehensive investment in technology to improve the performances of its core assets (the newspaper and magazines) and opts for diversification with acquisitions in services and e-commerce. The goal would be to double its current €300 million revenue in a few years, expand its footprint in France and maybe in Europe. Thats a realistic option, which cant be done with an ownership structure that is leaning toward a non-profit.</p><p><strong>b) Scenario B:</strong> Le Monde folds itself in a foundation-like system, fencing its ownership for good. The short-term will be nice: predatory investors will be kept at bay, management will be groomed inside the companyno one from the outside world will dare to compete for a CEO or an executive editor position knowing that they can be vetoed by the kolkhoz. It will be like a global airline deciding that it will never seek talent from abroad. If the fundamentals are fine, the company will remain within its cozy perimeter with a decaying genetic talent pool and a business that barely survives.</p><p>But most likely, fundamentals will degrade, with a continual depletion on the advertising side, a subscription fatigue and a market penetration that will plateau (unlike any English-speaking media which enjoys a growing global pool of educated readers). In less than ten years, Le Monde will be back to begging, with a<strong> </strong><em>déjà vu</em> “bail-me-out-or-I-die” plea.</p><p><strong><em>Background:</em></strong> Past Monday Notes on the subject:</p><ul><li><a href=\"https://mondaynote.com/the-cutthroat-battle-for-controlling-le-monde-9983d28f4119\">The Cutthroat Battle for Controlling Le Monde</a></li><li><a href=\"https://mondaynote.com/power-play-at-le-monde-part-ii-366a037d882\">Power play at Le Monde (Part II)</a></li></ul><h4>3. New York Magazine + Vox: a good deal, by the numbers</h4><p>NA great, iconic magazine <a href=\"https://www.voxmedia.com/2019/9/24/20882755/vox-media-new-york-media-come-together-to-form-the-leading-independent-modern-media-company\">combined</a> with a powerhouse in digital news: thats the <a href=\"http://mediakit.nymag.com/\">New York Magazine</a> and <a href=\"https://www.voxmedia.com/a/go-deeper\">Vox Media</a> deal. Altogether, they will operate 14 digital properties with a combined reach of 125 million unique visitors:</p><figure><img alt=\"\" src=\"https://cdn-images-1.medium.com/max/1024/1*xpSNWx3YlVqvPLQTgzZ0cQ.png\"></figure><p>The all-stock deal values New York Media LLC at $105 million, a nice markup compared to the $55 million paid by the late famous investor Bruce Wasserstein in 2004 when he bought the company from Rupert Murdoch. According to the WSJ, NY Medias revenue grew by 40% in the last 12 months but it lost $15 million in 2018. The magazine has been particularly good at segmenting its digital audience over several, remarkably efficient, entities. New York Media is getting 12 percent of the new venture that will retain the name of Vox.</p><figure><a href=\"https://mailchi.mp/mondaynote/subscribe\"><img alt=\"\" src=\"https://cdn-images-1.medium.com/max/1024/1*HgWpnwMiHiyTBWNmh1cslw.png\"></a></figure><p>As for Vox Media, it is valued at $750 million in the operation, a severe discount compared to a valuation of $1 billion in 2015. It makes a small profit on a $185 million revenue. It too has a segmented a valuable audience (78 million UVs). It is a super agile company, which built is own CMS (Chorus) and its own advertising production studio.</p><p><strong><em>Why it matters.</em></strong> Despite its 44 magazine awards, the 51-year-old NY Mag would not have been attractive for a young digital native company if it hadnt been for its profound modernization and sizable investment in digital operations. The Vox/NY Mag merger is the perfect proof that the magazine industry is not doomed.</p><h4>4. My long forms of the week</h4><p>Two great pieces from the New Yorker I read during a trip to Germany:</p><p><a href=\"https://www.newyorker.com/magazine/2019/09/30/can-a-burger-help-solve-climate-change\"><strong><em>Can a Burger Help Solve Climate Change?</em></strong></a><strong><em> <br></em></strong><em>Eating meat creates huge environmental costs. Impossible Foods thinks it has a solution.<br></em>This piece is just incredible in its thoroughness, density, precision as well as its narrative structure. I take it as an example in my journalism classes.</p><p><a href=\"https://www.newyorker.com/magazine/2019/09/30/paging-dr-robot\"><strong><em>Paging Dr. Robot.</em></strong></a><strong> <br></strong><em>A pathbreaking surgeon prefers to do his cutting by remote control. <br></em>I have been following Intuitive Surgical for a long time. The firm makes the extraordinarily complex DaVinci robotwhich is, for a large part, the future of medicine. This piece is the best on the topic.</p><h4>5. News about Deepnews</h4><p>XTwenty issues of the Deepnews Digest have given us pretty good insight about the potential of lightweight, automated newsletters. Deepnews Digest is built on a different news-related topic every week. It gathers a large number of articles across 400 carefully vetted sources, with a final selection made by our proprietary algorithm, the Deepnews Scoring Model. The whole process is 95 percent automated, except for the writing of the introductory text and the removal of a few parasite links. Our excellent editor, Christopher Brennan, spends less than an hour each week to do the job.</p><p>Now, we want to develop a commercial version of the Deepnews Digest to cover specific sectors with a series of vertical, paid-for publications. The idea is to identify markets worth serving and to quickly build products, easy to test, launch and evaluate. Although we have an idea of where to go, we are quite interested in hearing from you about the sectors we should cover:<br><a href=\"https://mondaynote.typeform.com/to/mAZjfl\"><strong>Please, take five minutes to complete this questionnaire.</strong></a><strong> <br></strong>Your opinion matters a lot to us.</p><p>See you next week.</p><p><em>frederic.filloux@mondaynote.com</em></p><figure><a href=\"https://mailchi.mp/deepnews/digest_subscribe_mn\"><img alt=\"\" src=\"https://cdn-images-1.medium.com/max/1024/1*qXi9qMhlgyESCIsYzEcSVQ.png\"></a></figure><img width=\"1\" src=\"https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=948b24fd555c\" height=\"1\"><hr><p><a href=\"https://mondaynote.com/mn-briefing-09-30-19-948b24fd555c\">#MN_Briefing 09.30.19</a> was originally published in <a href=\"https://mondaynote.com\">Monday Note</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>","direction":"ltr"},"title":"#MN_Briefing 09.30.19","updated":1569786960272,"author":"Frederic Filloux","alternate":[{"href":"https://mondaynote.com/mn-briefing-09-30-19-948b24fd555c?source=rss----c537d80ed0a---4","type":"text/html"}],"crawled":1569786821000,"published":1569786821000,"origin":{"streamId":"feed/http://www.mondaynote.com/feed/","title":"Monday Note - Medium","htmlUrl":"https://mondaynote.com?source=rss----c537d80ed0a---4"},"unread":true,"categories":[{"id":"user/f2f031bd-f3e3-4893-a447-467a291c6d1e/category/e31b3fcb-27f6-4f3e-b96c-53902586e366","label":"Weblogs"}]},{"id":"qxI9mPUQaH2N8pL2LRpLlzIW5hw1iiQKLdJmLkGau/I=_16d7e4a6db0:1f34:90d684ff","keywords":["User Interface","VR/AR"],"originId":"http://jnack.com/blog/?p=9310","fingerprint":"15a6ef0f","content":{"content":"<p><a href=\"https://www.oculus.com/blog/introducing-hand-tracking-on-oculus-quest-bringing-your-real-hands-into-vr/\">Looks lit</a>.</p>\n<p><iframe allowfullscreen src=\"https://www.youtube.com/embed/2VkO-Kc3vks?feature=oembed\" width=\"604\" title=\"Hand Tracking on Oculus Quest | Oculus Connect 6\" height=\"340\"></iframe></p>\n<p>(Tangential reminder: You can build hand tracking into your mobile app right now using <a href=\"http://jnack.com/blog/2019/08/20/give-yourself-a-hand-realtime-3d-hand-tracking-for-your-projects/\">tech from my team</a>.)</p>\n<p><img border=\"0\" src=\"http://jnack.com/blog/wp-content/uploads/2019/09/NewImage-17.png\" alt=\"NewImage\" width=\"598\" title=\"NewImage.png\" height=\"384\"></p>\n<p>[<a href=\"https://youtu.be/2VkO-Kc3vks\">YouTube</a>]</p>","direction":"ltr"},"title":"Oculus Quest adds hand tracking","author":"jnack","summary":{"content":"Looks lit. (Tangential reminder: You can build hand tracking into your mobile app right now using tech from my team.) [YouTube]","direction":"ltr"},"alternate":[{"href":"http://jnack.com/blog/2019/09/29/oculus-quest-adds-hand-tracking/","type":"text/html"}],"crawled":1569781870000,"published":1569781870000,"origin":{"streamId":"feed/http://jnack.com/blog/?feed=rss2","title":"Nackblog","htmlUrl":"http://jnack.com/blog"},"unread":true,"categories":[{"id":"user/f2f031bd-f3e3-4893-a447-467a291c6d1e/category/e31b3fcb-27f6-4f3e-b96c-53902586e366","label":"Weblogs"}]},{"id":"K2yEyJkJAlTYIjP5i2D9ccp/wbMYzpHnabsacInQgcs=_16d7d29c728:1fc3:90d684ff","keywords":["tesla"],"originId":"https://medium.com/p/29fd3b55c5b4","fingerprint":"e29fa3bb","content":{"content":"<p><strong><em>by Jean-Louis Gassée</em></strong></p><h4><em>With its just-announced Taycan 4-door sedan, Porsche got tongues wagging. Ultra-fast at the Nürburgring, ultra-refinedand ultra-expensiveits a clever entry in the EV race, one that some see as a threat to Tesla.</em></h4><figure><img alt=\"\" src=\"https://cdn-images-1.medium.com/max/478/1*b940aLtsIfvK6XNNMEkElg.jpeg\"><figcaption>Courtesy Wikipedia</figcaption></figure><p>Ending months of speculation, Porsche picked Germanys Frankfurt Auto Show (officially, the <a href=\"https://en.wikipedia.org/wiki/International_Motor_Show_Germany\">International Motor Show</a>) to unveil the <a href=\"https://en.wikipedia.org/wiki/Porsche_Taycan\">Taycan</a>, the automakers entry in the Electric Vehicle race. To make the Taycans unveiling even more print- and click-worthy, weeks before the Frankfurt intro, Porsche headed to the famed Nürburgring track where the Taycan <a href=\"https://www.theverge.com/2019/8/26/20833702/porsche-taycan-nurburgring-time-nordschleife-record-break\">broke the 4-door EV record</a> (video inside) with a 7 minute, 42 second lap.</p><p>For Monday Notes readers who arent into carnography, the legendary 20.8 km (12.9 mi) Nürburgring track has become a reference venue where automakers and tourist drivers attempt to break <a href=\"https://en.wikipedia.org/wiki/List_of_N%C3%BCrburgring_Nordschleife_lap_times\">speed records in various categories</a>.</p><p>(A brief historic digression: the first vehicle to break the 100km/h (62 mph) barrier was an <strong>electric car</strong>, yes, in <strong>1899</strong>, <a href=\"https://en.wikipedia.org/wiki/La_Jamais_Contente\">La Jamais Contente</a> (The Never Satisfied) managed to exceed 105km/h (65.8mph). This was the last time an EV drove faster than a gasoline-powered car.)</p><p>Before the Taycan, the Volkswagen ID R, a cousin EV in the <a href=\"https://en.wikipedia.org/wiki/Volkswagen_Group\">Volkswagen Group</a>, <a href=\"https://www.roadandtrack.com/motorsports/a27698235/volkswagen-idr-nurburgring-lap-record-video/\">managed a 6:05 lap</a>, an impressive feat but one that, unlike the Taycans, doesnt belong in the Production Vehicles category. Earlier in the year, a modified ID R <a href=\"https://www.theverge.com/2018/6/24/17078544/volkswagen-ev-race-car-pikes-peak-hill-climb-record\">broke the Pikes Peak Hill Climb record</a>.</p><p>The Volkswagen group, or VW AG, is a colossus that includes Porsche, Audi, Bugatti, and many others. It surpassed Toyota as the worlds largest auto maker by sales in 2016 and seems to have held the title since. By shattering EV speed records at historic venues, VW AG wants everyone to know that theyre not only big, theyre dead serious about their EVs, and about owning the performance crown in the category.</p><p>Furthermore, the giant German auto group has clearly decided to take the very high end of the production EV category. The Taycan starts at a theoretical $150K but, in Porsche tradition, it will easily exceed $200K in more desirable configurations.</p><p>For years, automakers have complained about the impossibility of generating any kind of profit by making EVs. Most of the models weve seen so far have either been “<a href=\"https://www.popularmechanics.com/cars/a8075/what-good-is-a-halo-car-anyway-12206624/\">halo cars</a>” meant to burnish a makers EV bona fides, or, as in the case of Fiat Chrysler electric Fiat 500, a way to gain CO2 emission credits. As an example, at the Frankfurt Auto Show mentioned above, Jaguar let it be known that its <a href=\"https://www.jaguar.com/jaguar-range/i-pace/index.html\">iPace</a> had done its job and wouldnt be iterated in the near term. BMW said very much the same about its carbon-fiber <a href=\"https://en.wikipedia.org/wiki/BMW_i3\">i3</a>.</p><p>For “real” EVs, meaning models produced in hundreds of thousands or more per year, we must proceed with caution: Look at Tesla <a href=\"https://www.forbes.com/sites/greatspeculations/2019/09/09/more-broken-promises-from-tesla/#69db2a3f2aa0\">hemorrhaging $24B in free cashflow since 2011</a>…</p><p>With this in mind, one can look at Porsches Taycan as a doubly cautious move: a very expensive vehicle, produced in modest quantities. In 2018, <a href=\"https://www.best-selling-cars.com/brands/2018-global-porsche-worldwide-car-sales/\">Porsche sold about 250K cars</a>, with the Macan and Cayenne leading the way with 86K and 71K units, respectively. With the evergreen 911 selling about 35K units, one could expect Taycan 2020 sales to be in a low 10K multiple. A fine addition to the very profitable Porsche businessbut not an invasion.</p><p>Unsurprisingly, the kommentariat was prompt to position the Taycan as a Tesla rival, a killer, even. Elon Musk helped by announcing an attempt to outdo the Taycans Nürburgrings time “any day now”, perhaps with a new three engine configuration. Rumors aside, nothing so far. No one should second guess Musks ability to promote the Tesla brand (and himself), nor should we underestimate the value of the Nürburgring crown, but a Tesla-killer the Taycan isnt.</p><p>To start with, theres scale. Give or take a few thousand in the end-of-quarter rushes, Tesla will approach 400K deliveries this year and get close or exceed 500K units in 2020 when the companys <a href=\"https://techcrunch.com/2019/07/24/tesla-on-track-to-begin-model-3-production-at-china-factory-by-end-of-year/\">Gigafactory 3</a> comes on line in China (assuming, of course, that the economy is willing and investors continue to feed cash into Tesla).</p><p>Second, Tesla and Porsche operate in different price ranges. The Model 3, Teslas best selling car, now costs less than $50K; the Model S is less than $100K and the Model X is a bit more. Theres a big jump up to the Taycans $150k+ minimum price tag, certainly far too large for a faithful Model 3 adherent, and probably too big for even a Model X owner.</p><p>That said, many Porschephile connoisseurs think the real Tesla killer will be an EV Macan. The gasoline powered Macan is a best-seller today, and could be a best-seller tomorrow as a new, designed-from-the-ground-up EV sporty SUV that will compete more directly with the still-gestating <a href=\"https://www.tesla.com/en_eu/modely\">Model Y </a>Tesla SUV.</p><p>But a more immediate threat to Tesla is likely to come from elsewhere in the VW AG product portfolio. At the Frankfurt show, Volkswagen announced the <a href=\"https://en.wikipedia.org/wiki/Volkswagen_ID.3\">ID.3</a>, a car that many see as the EV equivalent of the iconic <a href=\"https://en.wikipedia.org/wiki/Volkswagen_Golf\">Golf</a>, a vehicle that managed to span 45 years in seven generations without losing its soul. Production of the ID.3 is slated to start this coming November with deliveries for existing reservations in the Summer of 2020, albeit limited to 30K units for the “1ST” edition (or so we think…it isnt entirely clear). The price is likely to exceed 40K€ (close to $50K).</p><p>Stepping back a bit, while the ID.3 should offer some competition in the Model 3 price range, it isnt yet a full-bore assault on Telsa. Today, the Model 3 is a <a href=\"https://insideevs.com/news/346479/tesla-model-3-top-selling-europe/\">top seller in several European countries</a> and neither VW nor Porsche threaten this position for the near-to-medium term, meaning 2020. After next year, things could get interesting as EV models from other makers (Mercedes, BMW, Renault…) garner praise when compared to Teslas sometimes lackadaisical finish and inattention to creature comforts.</p><p>Unless, of course, Musks “<a href=\"https://bigthink.com/technology-innovation/musk-robotaxis\">million robotaxis</a>” prediction comes truebut no one took him seriously, right?</p><p><em>— JLG@mondaynote.com</em></p><img width=\"1\" src=\"https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=29fd3b55c5b4\" height=\"1\"><hr><p><a href=\"https://mondaynote.com/porsche-vs-tesla-false-equivalence-29fd3b55c5b4\">Porsche vs Tesla: False Equivalence</a> was originally published in <a href=\"https://mondaynote.com\">Monday Note</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>","direction":"ltr"},"title":"Porsche vs Tesla: False Equivalence","updated":1569762953218,"author":"Jean-Louis Gassée","alternate":[{"href":"https://mondaynote.com/porsche-vs-tesla-false-equivalence-29fd3b55c5b4?source=rss----c537d80ed0a---4","type":"text/html"}],"crawled":1569762953000,"published":1569762953000,"origin":{"streamId":"feed/http://www.mondaynote.com/feed/","title":"Monday Note - Medium","htmlUrl":"https://mondaynote.com?source=rss----c537d80ed0a---4"},"unread":true,"categories":[{"id":"user/f2f031bd-f3e3-4893-a447-467a291c6d1e/category/e31b3fcb-27f6-4f3e-b96c-53902586e366","label":"Weblogs"}]},{"id":"qxI9mPUQaH2N8pL2LRpLlzIW5hw1iiQKLdJmLkGau/I=_16d7588ab10:1f33:90d684ff","keywords":["Miscellaneous"],"originId":"http://jnack.com/blog/?p=9304","fingerprint":"b1284979","content":{"content":"<p><em>Racks on racks on racks</em> o cloud GPUs mean were setting up to deliver some awesome experiences. Check out these PM gigs:</p>\n<ul>\n<li><a href=\"https://careers.google.com/jobs/results/77197902385947334/\">Product Manager, Infrastructure, Stadia</a> Mountain View</li>\n<li><a href=\"https://careers.google.com/jobs/results/91048776778556102/\">Product Manager, Graphics, Stadia</a> Waterloo or Munich</li>\n</ul>\n<p>If you apply, please tell em who sent ya. <img alt=\"\uD83D\uDE0C\" src=\"https://s.w.org/images/core/emoji/12.0.0-1/72x72/1f60c.png\" class=\"wp-smiley\"></p>\n<p><img border=\"0\" src=\"http://jnack.com/blog/wp-content/uploads/2019/09/NewImage-16.png\" alt=\"NewImage\" width=\"599\" title=\"NewImage.png\" height=\"400\"></p>","direction":"ltr"},"title":"PMs: Come build cloud-based gaming at Google","author":"jnack","summary":{"content":"Racks on racks on racks o cloud GPUs mean were setting up to deliver some awesome experiences. Check out these PM gigs: Product Manager, Infrastructure, Stadia Mountain View Product Manager, Graphics, Stadia Waterloo or Munich If you apply, please tell em who sent ya. \uD83D\uDE0C","direction":"ltr"},"alternate":[{"href":"http://jnack.com/blog/2019/09/27/pms-come-build-cloud-based-gaming-at-google/","type":"text/html"}],"crawled":1569634954000,"published":1569634954000,"origin":{"streamId":"feed/http://jnack.com/blog/?feed=rss2","title":"Nackblog","htmlUrl":"http://jnack.com/blog"},"unread":true,"categories":[{"id":"user/f2f031bd-f3e3-4893-a447-467a291c6d1e/category/e31b3fcb-27f6-4f3e-b96c-53902586e366","label":"Weblogs"}]},{"id":"ov+64/RrrpHw8vHNs9Rbgmq2LwWdAk5I0cvaa8ohxPI=_16d74088b20:205d:90d684ff","keywords":["Technology","iOS","iOS 13","Swift Programming Language"],"originId":"https://mjtsai.com/blog/?p=26732","fingerprint":"62a7d953","content":{"content":"<p><a href=\"https://blog.timac.org/2019/0926-state-of-swift-ios13/\">Alexandre Colucci</a> (<a href=\"https://news.ycombinator.com/item?id=21083850\">Hacker News</a>):</p>\n<blockquote cite=\"https://blog.timac.org/2019/0926-state-of-swift-ios13/\">\n<p>The new iOS 13 features have with no surprise been built with some Swift code in their corresponding application. This is the case of the FindMy, Reminders and Sidecar apps. Also worth noting is the use of Swift in the Health, Book and Shortcuts apps.</p>\n<p>[…]</p>\n<p>If we exclude the Swift libraries, iOS 13.1 contains 141 binaries using Swift, more than doubling the number from iOS 12[…]</p>\n</blockquote>\n<p>Previously:</p>\n<ul>\n<li><a href=\"https://mjtsai.com/blog/2018/09/25/apples-use-of-swift-in-ios-12/\">Apples Use of Swift in iOS 12</a></li>\n<li><a href=\"https://mjtsai.com/blog/2017/11/17/apples-use-of-swift-in-ios-11-1-and-macos-10-13-1/\">Apples Use of Swift in iOS 11.1 and macOS 10.13.1</a></li>\n</ul>","direction":"ltr"},"title":"Apples Use of Swift in iOS 13","author":"Michael Tsai","summary":{"content":"Alexandre Colucci (Hacker News): The new iOS 13 features have with no surprise been built with some Swift code in their corresponding application. This is the case of the FindMy, Reminders and Sidecar apps. Also worth noting is the use of Swift in the Health, Book and Shortcuts apps. […] If we exclude the Swift […]","direction":"ltr"},"alternate":[{"href":"https://mjtsai.com/blog/2019/09/27/apples-use-of-swift-in-ios-13/","type":"text/html"}],"crawled":1569609780000,"published":1569609780000,"origin":{"streamId":"feed/http://mjtsai.com/blog/feed/","title":"Michael Tsai","htmlUrl":"https://mjtsai.com/blog"},"unread":true,"categories":[{"id":"user/f2f031bd-f3e3-4893-a447-467a291c6d1e/category/e31b3fcb-27f6-4f3e-b96c-53902586e366","label":"Weblogs"}]},{"id":"ov+64/RrrpHw8vHNs9Rbgmq2LwWdAk5I0cvaa8ohxPI=_16d74087798:205c:90d684ff","keywords":["Technology","Artificial Intelligence","Auto-Correction","iOS","iOS 13"],"originId":"https://mjtsai.com/blog/?p=26730","fingerprint":"7a0498ce","content":{"content":"<p><a href=\"https://daringfireball.net/2019/09/ios_13_autocorrect_is_drunk\">John Gruber</a>:</p>\n<blockquote cite=\"https://daringfireball.net/2019/09/ios_13_autocorrect_is_drunk\">\n<p>One thing I and others have noticed is that when you type a dictionary word correctlymeaning you hit the exact right keys on the on-screen keyboardiOS 13 autocorrect will replace it with a different dictionary word that makes no contextual sense. Even beyond dictionary words, Im seeing really strange corrections.</p>\n</blockquote>\n<p>I think this has been going on since before iOS 13.</p>\n<p>Previously:</p>\n<ul>\n<li><a href=\"https://mjtsai.com/blog/2019/05/17/three-ios-keyboard-changes-apple-should-make/\">Three iOS Keyboard Changes Apple Should Make</a></li>\n<li><a href=\"https://mjtsai.com/blog/2018/02/09/ios-auto-correction-from-contacts/\">iOS Auto-Correction From Contacts</a></li>\n<li><a href=\"https://mjtsai.com/blog/2017/12/07/learning-with-privacy-at-scale/\">Learning With Privacy at Scale</a></li>\n<li><a href=\"https://mjtsai.com/blog/2017/11/07/ios-11-autocorrect-bug/\">iOS 11 Autocorrect Bug</a></li>\n<li><a href=\"https://mjtsai.com/blog/2016/09/21/ios-10-notes/\">iOS 10 Notes</a></li>\n</ul>","direction":"ltr"},"title":"iOS 13 Autocorrect Is Drunk","author":"Michael Tsai","summary":{"content":"John Gruber: One thing I and others have noticed is that when you type a dictionary word correctlymeaning you hit the exact right keys on the on-screen keyboardiOS 13 autocorrect will replace it with a different dictionary word that makes no contextual sense. Even beyond dictionary words, Im seeing really strange corrections. I think this […]","direction":"ltr"},"alternate":[{"href":"https://mjtsai.com/blog/2019/09/27/ios-13-autocorrect-is-drunk/","type":"text/html"}],"crawled":1569609775000,"published":1569609775000,"origin":{"streamId":"feed/http://mjtsai.com/blog/feed/","title":"Michael Tsai","htmlUrl":"https://mjtsai.com/blog"},"unread":true,"categories":[{"id":"user/f2f031bd-f3e3-4893-a447-467a291c6d1e/category/e31b3fcb-27f6-4f3e-b96c-53902586e366","label":"Weblogs"}]},{"id":"ov+64/RrrpHw8vHNs9Rbgmq2LwWdAk5I0cvaa8ohxPI=_16d74084ca0:205b:90d684ff","keywords":["Technology","BlockBlock","Mac","Mac App","macOS 10.14 Mojave","Malware","Security"],"originId":"https://mjtsai.com/blog/?p=26728","fingerprint":"8d8dcbfc","content":{"content":"<p><a href=\"https://www.objective-see.com/products/blockblock.html\">Patrick Wardle</a> (via <a href=\"https://mjtsai.com/blog/2019/09/25/chrome-updater-bug-prevents-macs-from-booting/#comments\">Leo M</a>):</p>\n<blockquote cite=\"https://www.objective-see.com/products/blockblock.html\">\n<p>Malware installs itself persistently, to ensure its automatically re-executed at reboot. BlockBlock continually monitors common persistence locations and displays an alert whenever a persistent component is added to the OS.</p>\n<p>[…]</p>\n<p>This alert contains the name and path of the process that installed the persistent component, as well as details about the actual persistent component. Moreover, it shows if the process (that created the persisted item) is signed by Apple, signed by a 3rd-party, or is unsigned[…]</p>\n</blockquote>\n<p>Its the equivalent of LittleSnitch for auto-launching background processes.</p>\n<p>Previously:</p>\n<ul>\n<li><a href=\"https://mjtsai.com/blog/2019/09/25/chrome-updater-bug-prevents-macs-from-booting/\">Chrome Updater Bug Prevents Macs From Booting</a></li>\n<li><a href=\"https://mjtsai.com/blog/2019/07/09/zoom-vulnerabilities/\">Zoom Vulnerabilities</a></li>\n</ul>","direction":"ltr"},"title":"BlockBlock 0.9.9.4","author":"Michael Tsai","summary":{"content":"Patrick Wardle (via Leo M): Malware installs itself persistently, to ensure its automatically re-executed at reboot. BlockBlock continually monitors common persistence locations and displays an alert whenever a persistent component is added to the OS. […] This alert contains the name and path of the process that installed the persistent component, as well as details […]","direction":"ltr"},"alternate":[{"href":"https://mjtsai.com/blog/2019/09/27/blockblock-0-9-9-4/","type":"text/html"}],"crawled":1569609764000,"published":1569609764000,"origin":{"streamId":"feed/http://mjtsai.com/blog/feed/","title":"Michael Tsai","htmlUrl":"https://mjtsai.com/blog"},"unread":true,"categories":[{"id":"user/f2f031bd-f3e3-4893-a447-467a291c6d1e/category/e31b3fcb-27f6-4f3e-b96c-53902586e366","label":"Weblogs"}]},{"id":"ov+64/RrrpHw8vHNs9Rbgmq2LwWdAk5I0cvaa8ohxPI=_16d7407eee0:205a:90d684ff","keywords":["Technology","Apple T2","Mac","macOS 10.15 Catalina","Secure Boot","Terminal"],"originId":"https://mjtsai.com/blog/?p=26726","fingerprint":"df4fbe8f","content":{"content":"<p><a href=\"https://eclecticlight.co/2019/09/25/is-single-user-mode-sum-dead/\">Howard Oakley</a>:</p>\n<blockquote cite=\"https://eclecticlight.co/2019/09/25/is-single-user-mode-sum-dead/\"><p>Even with Recovery Mode available, there have still been some reasons for wanting to enter SUM. One of them has been to run command tools to check memory for faults, as in SUM the system takes as little memory as possible, allowing you to run checks on all the rest. Sometimes <code>fsck</code> run from SUM could fix problems which Disk Utility in Recovery Mode couldnt.</p><p>[…]</p><p>The biggest problem comes with Macs equipped with a T2 chip, and its <a href=\"https://support.apple.com/HT208330\">Secure Boot</a>. If it were available, a traditional SUM would bypass Secure Boot, so it isnt allowed if your Mac has a T2 chip: Command-R will take you to Recovery, and thats as close as your Mac can get, unless you disable Secure Boot by setting the Startup Security Utility to No Security. And you have to do that in Recovery anyway.</p></blockquote>","direction":"ltr"},"title":"Is Single-user Mode Dead?","author":"Michael Tsai","summary":{"content":"Howard Oakley: Even with Recovery Mode available, there have still been some reasons for wanting to enter SUM. One of them has been to run command tools to check memory for faults, as in SUM the system takes as little memory as possible, allowing you to run checks on all the rest. Sometimes fsck run […]","direction":"ltr"},"alternate":[{"href":"https://mjtsai.com/blog/2019/09/27/is-single-user-mode-dead/","type":"text/html"}],"crawled":1569609740000,"published":1569609740000,"origin":{"streamId":"feed/http://mjtsai.com/blog/feed/","title":"Michael Tsai","htmlUrl":"https://mjtsai.com/blog"},"unread":true,"categories":[{"id":"user/f2f031bd-f3e3-4893-a447-467a291c6d1e/category/e31b3fcb-27f6-4f3e-b96c-53902586e366","label":"Weblogs"}]},{"id":"ov+64/RrrpHw8vHNs9Rbgmq2LwWdAk5I0cvaa8ohxPI=_16d7407ac78:2059:90d684ff","keywords":["Technology","App Review","App Store Rejection","App Subscriptions","Business","iOS","iOS 13","iOS App"],"originId":"https://mjtsai.com/blog/?p=26724","fingerprint":"3e02b0d2","content":{"content":"<p><a href=\"https://www.revenuecat.com/2019/09/24/subscribers-are-your-true-fans\">David Barnard</a> (<a href=\"https://twitter.com/RevenueCat/status/1177248924504969222\">tweet</a>):</p>\n<blockquote cite=\"https://www.revenuecat.com/2019/09/24/subscribers-are-your-true-fans\"><p>Paying once for an app really only makes sense if the app provides minimal functionality of limited value and wont benefit from continued improvement.</p>\n<p>[…]</p>\n<p>With paid apps, people often end up buying several apps just to figure out which one best fits their needs. Lets say they spent $3 each on 4 apps, thats $12 they were willing to pay for a great app, but that great app they settled on only gets $3. Since most subscription apps have free trials, and many even have ad supported free tiers, people can try multiple apps and then only pay for the one they actually use.</p>\n<p>[…]</p>\n<p>Sure, some potential customers (or existing customers if you transition from another business model to subscriptions) are going to complain about the subscription model. Its hard to hear someone tell you that they dont value what youve built, but the smart thing to do is focus on the people who <em>are</em> subscribing, your true fans. Figure out who they are and look for ways to reach more people like them instead of focusing on the vocal minority that complain.</p></blockquote>\n<p><a href=\"https://twitter.com/_julianschiavo/status/1177358611271471105\">Julian Schiavo</a>:</p>\n<blockquote cite=\"https://twitter.com/_julianschiavo/status/1177358611271471105\">\n<p>My apps been rejected with a short message basically saying your app cant use auto renewing subscriptions, any tips/experience on this? All the other apps of this type use auto renewing subscriptions \uD83E\uDD37</p>\n</blockquote>\n<p><a href=\"https://twitter.com/raganwald/status/1177262822675402753\">Reginald Braithwaite</a>:</p>\n<blockquote cite=\"https://twitter.com/raganwald/status/1177262822675402753\">\n<p>The simple model I keep in my head, is that your revenue model should parallel your expense model.</p>\n<p>If they dont, youre both running a business AND engaging in arbitrage. Thats two things you have to get right, instead of one.</p>\n</blockquote>\n<p><a href=\"https://twitter.com/drbarnard/status/1177347741116194817\">David Barnard</a>:</p>\n<blockquote cite=\"https://twitter.com/drbarnard/status/1177347741116194817\">\n<p>This tweet reminds me of a chart by @macguru17. When youre building an app, even one that doesnt have ongoing costs like weather data or servers, the cost of continued development keeps putting you underwater before each update.</p>\n<p>I dont think most people realize how much most indie developers sacrifice to keep the lights on. In 11 years, Ive probably only been cash flow positive 48 months. With paid apps, Id build up a war chest with a big launch/update/sale, then spend it down working on the next.</p>\n<p>Ive even gone into debt to squeak by until the next big update. People seem to think all developers are rich &amp; greedy. But its like any other small business. Most struggle, some do well, a few really well. But businesses dont drop prices because they are doing well. \uD83D\uDE43</p>\n</blockquote>\n<p>Previously:</p>\n<ul>\n<li><a href=\"https://mjtsai.com/blog/2019/09/19/scanbot-goes-freemium/\">Scanbot Goes Freemium</a></li>\n<li><a href=\"https://mjtsai.com/blog/2019/07/12/predatory-ios-app-subscriptions/\">Predatory iOS App Subscriptions</a></li>\n<li><a href=\"https://mjtsai.com/blog/2017/08/10/ulysses-switches-to-subscription/\">Ulysses Switches to Subscription</a></li>\n<li><a href=\"https://mjtsai.com/blog/2017/07/20/productivity-apps-and-subscription-pricing/\">Productivity Apps and Subscription Pricing</a></li>\n</ul>","direction":"ltr"},"title":"Subscribers Are Your True Fans","author":"Michael Tsai","summary":{"content":"David Barnard (tweet): Paying once for an app really only makes sense if the app provides minimal functionality of limited value and wont benefit from continued improvement. […] With paid apps, people often end up buying several apps just to figure out which one best fits their needs. Lets say they spent $3 each on […]","direction":"ltr"},"alternate":[{"href":"https://mjtsai.com/blog/2019/09/27/subscribers-are-your-true-fans/","type":"text/html"}],"crawled":1569609723000,"published":1569609723000,"origin":{"streamId":"feed/http://mjtsai.com/blog/feed/","title":"Michael Tsai","htmlUrl":"https://mjtsai.com/blog"},"unread":true,"categories":[{"id":"user/f2f031bd-f3e3-4893-a447-467a291c6d1e/category/e31b3fcb-27f6-4f3e-b96c-53902586e366","label":"Weblogs"}]},{"id":"ov+64/RrrpHw8vHNs9Rbgmq2LwWdAk5I0cvaa8ohxPI=_16d74074eb8:2058:90d684ff","keywords":["Technology","iOS","iOS 12","iOS App","Twitter","Web"],"originId":"https://mjtsai.com/blog/?p=26722","fingerprint":"79c4af3b","content":{"content":"<p><a href=\"https://www.macrumors.com/2019/09/20/twitter-rolls-out-new-hide-replies-feature/\">Tim Hardwick</a>:</p>\n<blockquote cite=\"https://www.macrumors.com/2019/09/20/twitter-rolls-out-new-hide-replies-feature/\"><p>Twitter today rolled out its new “Hide Replies” feature in the U.S. and Japan, providing Twitter users with more control over the replies that are visible following a tweet.</p><p>The idea behind the feature is to give people more control over the conversations they start on the social media platform, so they can hide replies that are offensive and the hidden reply wont show up to others as a response to the original tweet.</p></blockquote>\n<p><a href=\"https://forums.macrumors.com/threads/twitter-rolls-out-new-hide-replies-feature-to-users-in-u-s-and-japan.2199651/#post-27771497\">Khedron</a>:</p>\n<blockquote cite=\"https://forums.macrumors.com/threads/twitter-rolls-out-new-hide-replies-feature-to-users-in-u-s-and-japan.2199651/#post-27771497\">\n<p>So people can post false information and hide/censor anyone who calls them out on their lies or conduct.</p>\n</blockquote>\n<p><a href=\"https://twitter.com/sandofsky/status/1175571702887022592\">Ben Sandofsky</a>:</p>\n<blockquote cite=\"https://twitter.com/sandofsky/status/1175571702887022592\">\n<p>Decided to try the “Hide Reply” feature, and I noticed the hidden tweets got way more attention than if Id just ignored them.</p>\n<p>It turns out this pop up appears when you visit my tweet.</p>\n</blockquote>\n<p><a href=\"https://www.macrumors.com/2019/09/23/twitter-list-pin-home-screen/\">Juli Clover</a>:</p>\n<blockquote cite=\"https://www.macrumors.com/2019/09/23/twitter-list-pin-home-screen/\">\n<p>Twitter today implemented a feature thats designed to allow lists of Twitter users to be pinned to the Home screen and swiped between, allowing for easy access to multiple customizable timelines.</p>\n</blockquote>","direction":"ltr"},"title":"Twitter “Hide Replies” and Timeline Swiping","author":"Michael Tsai","summary":{"content":"Tim Hardwick: Twitter today rolled out its new “Hide Replies” feature in the U.S. and Japan, providing Twitter users with more control over the replies that are visible following a tweet.The idea behind the feature is to give people more control over the conversations they start on the social media platform, so they can hide […]","direction":"ltr"},"alternate":[{"href":"https://mjtsai.com/blog/2019/09/27/twitter-hide-replies-and-timeline-swiping/","type":"text/html"}],"crawled":1569609699000,"published":1569609699000,"origin":{"streamId":"feed/http://mjtsai.com/blog/feed/","title":"Michael Tsai","htmlUrl":"https://mjtsai.com/blog"},"unread":true,"categories":[{"id":"user/f2f031bd-f3e3-4893-a447-467a291c6d1e/category/e31b3fcb-27f6-4f3e-b96c-53902586e366","label":"Weblogs"}]}]}