Marco.org’m Marco Arment, creator of Overcast, technology podcaster and writer, and coffee enthusiast.Why don’t podcasts use VBR MP3s? Because iOS and macOS don’t accurately seek them, 15 Aug 2016 13:46:09 EDT<p><strong>Filed as Apple bug (Radar) <a href="rdar://27848317">27848317</a>.</strong> The problem, in short:</p> <p>AVFoundation, the low-level audio/video framework in iOS and macOS, does not accurately seek within <a href="">VBR</a> MP3s, making VBR impractical to use for long files such as podcasts. Jumping to a timestamp in an hour-long VBR podcast can result in an error of over a minute, without the listener even knowing because the displayed timecode shows the expected time.</p> <h3><strong>Why VBR?</strong></h3> <p>VBR encoding is far more space-efficient and better-sounding than constant-bitrate (CBR) encoding. It&#8217;s especially pronounced in podcasts, where VBR makes most podcasts 20–50% smaller AND better-sounding than the 64 kbps CBR encoding that most podcasters are forced to use today.</p> <p>VBR could save podcast listeners <em>massive</em> amounts of data transfer over time. (And therefore money, and battery life, and precious storage space on phones.)</p> <p>Without accurate seeking, streaming and web audio players don’t work properly, including share-at-timestamp links that are becoming key drivers of the sharing and spreading of podcasts.</p> <h3><strong>Why can&#8217;t podcasters use it?</strong></h3> <p>I explained how MP3s work, and why this is a problem, <a href="">on Accidental Tech Podcast last week</a> &#8212; see that? That&#8217;s a share-at-timestamp link, and if that file was VBR, it wouldn&#8217;t seek to the correct time.</p> <p>See for yourself: <a href="">here&#8217;s that same podcast in VBR</a>. Note that the file is 25% smaller and the theme song (at 1:22:47 in the original file) sounds <em>way</em> nicer in the VBR version. But if you seek to the same timestamp as the above share link &#8212; 1:24:30 &#8212; you&#8217;ll hear the wrong audio. The player will <em>say</em> 1:24:30, but you&#8217;re actually hearing the audio at 1:25:16.</p> <p>That&#8217;s 46 seconds off, and that&#8217;s enough to break timestamp sharing, and that&#8217;s enough to ensure that nobody ever uses VBR files, and podcasts keep transferring <em>more</em> bytes to sound <em>worse</em> for the foreseeable future.</p> <h3><strong>We fixed this in the same year the Backstreet Boys released &#8220;I Want It That Way&#8221;</strong></h3> <p>Three simple solutions to accurate VBR stream-seeking have existed for almost twenty years to embed seek-offset tables at the start of VBR MP3s for precise seeking:</p> <ul> <li><a href="">&#8220;MLLT&#8221; ID3 tag</a>, circa 1999 (preferred, most precise)</li> <li><a href="">Fraunhofer VBRI frame</a>, circa 2003 (moderately precise)</li> <li><a href="">Xing/LAME frame</a> (too imprecise for long files)</li> </ul> <p>But AVFoundation supports <strong>none of them.</strong> VBRI and legacy Xing frames are read, but only the duration is used from each, not the seek table. MLLT tags are seemingly ignored.</p> <p>It appears that AVFoundation simply estimates byte offsets with the simple ratio of <code>(timestamp / duration) × totalBytes</code>, but that assumes a constant average bitrate over the file, which is incorrect and an unsafe assumption for VBR encoding. (<a href="">ABR</a> maintains an average bitrate over the whole file, but doesn&#8217;t achieve a better enough size-to-quality ratio than CBR for most podcasts.)</p> <p>Supporting either MLLT or VBRI at the AVFoundation level (therefore affecting Safari, HTML5 <code>&lt;audio&gt;</code>, Apple&#8217;s Podcasts app, and more) would instantly make VBR podcasts practical, allowing much smaller files and better sound without sacrificing shareability and stream-seeking.</p> <p>I&#8217;ll be adding MLLT support to Overcast, but without a way to embed podcasts in the web player to preserve share-at-timestamp links, VBR files will continue to be practically unusable for podcasters.</p> <p><em>Know anyone in engineering at Apple? I&#8217;d appreciate any attention you can draw to this issue, which I&#8217;ve filed as <a href="rdar://27848317">bug 27848317</a>.</em></p> → Accidental Tech Podcast: Don’t Cry for John, Argentina, 27 Jul 2016 11:11:18 EDT<p>Twitter&#8217;s Verified program, viability of podcast tools, and three Mac nerds figuring out how to play a Windows game.</p> <p><a href="">&#8734; Permalink</a></p>→ Accidental Tech Podcast: Free-to-Play Dogs, 21 Jul 2016 16:10:11 EDT<p>This week: why ARM Macs aren&#8217;t imminent, a huge rant on the ancient Mac lineup (especially the neglect of the Mac Pro and Mac Mini), dog rental, and my algorithm for syncing audio tracks and correcting drift.</p> <p><a href="">&#8734; Permalink</a></p>→ Under the Radar: Code Reuse, 21 Jul 2016 16:06:55 EDT<p>Creating and managing shared code, whether to open-source your libraries, and my secret to making Git submodules actually <em>work</em> without driving you insane, all in less than 30 minutes!</p> <p><a href="">&#8734; Permalink</a></p>Unreliable garage-door opener when using LED light bulbs?, 16 Jul 2016 12:24:20 EDT<p>My car&#8217;s Homelink transmitter was frustratingly inconsistent: it would usually open the garage door, but would often fail to <em>close</em> it.</p> <p>I came across <a href="">this article on this exact problem</a> and thought it was probably a bot-generated content farm, but this was worth investigating:</p> <blockquote> <p>Government guidelines for LED manufacturers require these control circuits to operate on frequencies between 30 and 300 MHz. By coincidence, most garage door opener remotes have been assigned frequencies between 288 and 360 MHz.</p> </blockquote> <p>I was using a mediocre, no-name LED light bulb in my (very old) garage-door opener, so I switched it to an incandescent I had stashed in my Drawer Of Light, which promptly and poetically burned out later that same day.<sup id="fnref:pTTZ8MQy01"><a href="#fn:pTTZ8MQy01" rel="footnote">1</a></sup></p> <p>But that was weeks ago, and the problem hasn&#8217;t occurred since. It&#8217;s been 100% reliable since I removed the LED bulb, and even catches the signal from greater distance now.</p> <div class="footnotes"> <hr /> <ol> <li id="fn:pTTZ8MQy01"> <p>I still haven&#8217;t gotten around to replacing it. It turned out not to be essential, and I&#8217;m a terrible home-repair slacker, which is why I tried to put LED bulbs everywhere in the first place so half of our light bulbs wouldn&#8217;t be burned out constantly.&#160;<a href="#fnref:pTTZ8MQy01" rev="footnote">&#8617;&#xFE0E;</a></p> </li> </ol> </div> → Accidental Tech Podcast: Mama Needs That Pokémon, 14 Jul 2016 16:14:47 EDT<p>Planet of the Apps, Pokémon Go, and why you&#8217;re all going to email Casey.</p> <p><a href="">&#8734; Permalink</a></p>→ Under the Radar: Should You Release Every App?, 14 Jul 2016 11:23:00 EDT<p>Pros and cons of releasing your personal utility apps, focusing mostly on Mac apps.</p> <p>Under 30 minutes, as always!</p> <p><a href="">&#8734; Permalink</a></p>→ Top Four: Starbucks Cold Drinks, 11 Jul 2016 14:10:09 EDT<p>My wife and I go undercover into Starbucks once more, this time to find our favorite cold drinks.</p> <p><a href="">&#8734; Permalink</a></p>→ Accidental Tech Podcast: Paying for Someone to Blame, 07 Jul 2016 15:13:50 EDT<p>Ripping Blu-rays for Apple TV, stable ice cream, Hackintoshes, and Apple&#8217;s disdain for the Mac Mini.</p> <p><a href="">&#8734; Permalink</a></p>→ Under the Radar: App Ideas, 07 Jul 2016 13:22:47 EDT<p>The value of app ideas, evaluating their feasibility, and considering the business you want to be in &#8212; all in under 30 minutes, as always.</p> <p><a href="">&#8734; Permalink</a></p>→ Switching to Apple’s two-factor authentication, 06 Jul 2016 18:21:36 EDT<blockquote> <p>Apple has, for a while now, offered two separate additional security measures to protect your Macs, iOS devices, and iCloud account, but thanks to some inexpert nomenclature, it can be a little difficult to tell them apart</p> </blockquote> <p>I&#8217;m glad Dan Moren figured this out and wrote it up, because Apple sure didn&#8217;t make it easy to even know that there <em>was</em> a newer, better option than the original two-&#8230; uh, factor? Step? I <em>already</em> forgot which is the old one and which is the new one. Whichever it is, switch to the new one.</p> <p><a href="">&#8734; Permalink</a></p>Understanding Tesla Autopilot, 06 Jul 2016 17:42:43 EDT<p>A few Tesla vehicles have had accidents with Autopilot enabled recently, and I&#8217;ve gotten countless questions about these incidents and the nature of Autopilot from people who aren&#8217;t Tesla owners. Tesla and the media haven&#8217;t clearly communicated what these features do (and don&#8217;t do) to the public, so I&#8217;ll try to help in whatever small way I can as a Model S owner for a few months so far.</p> <p><em>I apologize in advance if I get any technical details wrong about these features. Authoritative information is hard to find, and these features change and evolve often.</em></p> <p>Tesla&#8217;s autonomous features today, all somewhat grouped under or involved in &#8220;Autopilot&#8221;:</p> <p><strong>Automatic emergency braking:</strong> This always-on feature will sense if you&#8217;re approaching another car or obstacle too quickly and loudly alert you. If you don&#8217;t apply the brakes yourself, the car will automatically brake to <a href="">some</a> <a href="">degree</a>. This is a common feature in luxury cars today and seems to be a clear safety win.</p> <p><strong>Autopark:</strong> Reverses into parking spots on demand. This is also becoming a common feature on other cars, and seems reasonably safe as long as you watch out for pedestrians. I use it regularly for parallel parking and it works well.</p> <p><strong>Summon:</strong> <a href="">This feature</a> lets you command the car, <em>from outside of it,</em> to very slowly drive itself into or out of a garage or parking space. It&#8217;s disabled by default and requires multiple steps to enable and engage (nobody could do this accidentally). The potential damage from failures is likely limited to car body or garage damage, not major bodily harm, due to the very slow movement and ultrasonic parking sensors. I haven&#8217;t used it yet &#8212; I don&#8217;t think the small benefit is worth the risk.</p> <p><strong>Adaptive cruise control:</strong> Like normal cruise control, but with a forward radar (augmented by the camera) to maintain a safe distance from the car ahead of you, automatically slowing down or even stopping as necessary. It&#8217;s almost like automated driving, but <strong>you still steer,</strong> and you&#8217;re responsible for obeying signs and signals. This feature is also available on many luxury cars today, and Tesla&#8217;s is the best one I&#8217;ve used yet, so I use it all the time. It bears most of the same risks as any cruise control, but the chances of rear-ending the car ahead of you are greatly reduced, and it may even be safer than manual driving in low-speed stop-and-go traffic. I&#8217;m a huge fan of this feature.</p> <p><strong>Autosteer, which people probably mean by &#8220;Autopilot&#8221;:</strong> Really just one significant addition to adaptive cruise control: the car also steers itself, using the camera to detect lane markings painted on roads (a feature offered by many other cars on its own) and automatically steer to keep you roughly centered in the lane.</p> <p>Autosteer is a strange feeling in practice. It literally turns the steering wheel for you, but if you take your hands off for more than a few minutes, it slows down and yells at you until you put your hands back on the wheel. It&#8217;s an odd sensation: You&#8217;ve given up control of the vehicle, but you can&#8217;t stop mimicking control, and while your attention is barely needed, you can&#8217;t safely stop paying attention.</p> <p>It&#8217;s automated enough that people <em>will</em> stop paying attention, but it&#8217;s not good enough that they <em>can</em>. You could say the same about cruise control, but cruise control feels like an acceptable balance to me, whereas Autosteer feels like it&#8217;s just over the line. History will probably prove me wrong on that, but it feels a bit wrong today.</p> <p>Tesla, Elon Musk, and a lot of media coverage have set expectations too high for these features. People expect Autosteer to be fully autonomous, but today&#8217;s Tesla vehicles simply don&#8217;t have the hardware or software to safely and reliably self-drive on all roads, and such an advance doesn&#8217;t feel imminent.</p> <p>There&#8217;s a huge gap between Autosteer and what most people expect from a &#8220;self-driving car&#8221;. For instance, Autosteer doesn&#8217;t see signs or traffic signals, so it will happily drive through red lights or stop signs if you let it.</p> <p>Most critically, Autosteer has simply not been reliable enough yet for me on anything but wide-laned, gently turning, intersection-free highways with clearly painted lines in dry weather. In my experience, using it on any other type of road &#8212; even New York&#8217;s highway-like parkways &#8212; is dangerous and unsettling, often requiring manual corrections to avoid crossing center lines or getting dangerously close to lane edges and concrete barriers.</p> <p>The most reliable, useful, and defensible parts of Tesla&#8217;s &#8220;Autopilot&#8221; features today are emergency braking, Autopark, and adaptive cruise control. I&#8217;d be just as happy with my Model S if it only had those, without Summon or Autosteer.</p> <p>While I like using Autosteer on long highway trips, frankly, I&#8217;m amazed that it&#8217;s legal. I don&#8217;t think it&#8217;s a big enough advance over adaptive cruise control to be worth the risks in its current implementation. I&#8217;m scared for what will happen to Tesla and the progress of autonomous driving as more people use Autosteer in situations it&#8217;s not good at, or as a complete replacement for paying attention.</p> <p>If Tesla updates the software to restrict Autosteer only to interstate highways, the yelling (and possible lawsuits) from existing owners would cause short-term pain, but I think it may save a lot of reputation damage &#8212; and possibly even people&#8217;s lives &#8212; in the long run.</p> → SF’s homeless problem: A civic disgrace, 05 Jul 2016 12:46:21 EDT<p>The San Francisco Chronicle, in a very rare front-page editorial:</p> <blockquote> <p>On one point we must all agree: The level and pervasiveness of homelessness in San Francisco is a disgrace. It is simply not acceptable to allow people to stay in the squalor of tent encampments or sleep in doorways, parks and freeway underpasses without attention to the underlying issues that prevent them from attaining shelter and stability in their lives. It’s bad for public safety, bad for public health, and bad as a matter of basic humanity.</p> <p>Its reduction to the extent humanly possible should be this city’s No. 1 priority.</p> </blockquote> <p>I only spend one week a year in San Francisco, and I&#8217;ve seen relatively little of the city. But every year, I&#8217;m increasingly struck by the widening class divide and disturbing contrast I see as tech workers (including myself) briskly walk past a <em>lot</em> of people for whom society has completely failed, pretending not to notice them, on our way to offices and events of some of the richest companies in the world.</p> <p>We can&#8217;t continue boasting our industry&#8217;s &#8220;innovation&#8221; and how much we&#8217;re &#8220;changing the world&#8221; when we can&#8217;t even take care of people&#8217;s basic needs <em>literally</em> right outside these companies&#8217; front doors.</p> <p>This isn&#8217;t just a San Francisco or tech-industry problem, but there isn&#8217;t another place in America that illustrates the problem quite as clearly, sadly, and disturbingly.</p> <p>Governments should be fixing this problem, but they have mostly failed due to public ignorance, judgment, and apathy. If you really want to be &#8220;disruptive&#8221; and have a meaningful impact on the world, disrupt the way our cities and citizens treat those less fortunate than the rich young people ordering overpriced burritos from their phones to avoid going outside.</p> <p><a href="">&#8734; Permalink</a></p>The headphone jack, 01 Jul 2016 12:11:11 EDT<p>This fall&#8217;s new iPhone is strongly rumored to have nearly the same physical design as the iPhone 6 and 6S, but with the headphone jack removed. Many have guessed the possible justifications for such a move:</p> <ul> <li><a href="">Jason Snell&#8217;s great rundown and rebuttal of all currently known justifications</a></li> <li><a href="">John Gruber and I discussed it on The Talk Show</a> (topic begins at <a href="">1:00:19</a>)</li> </ul> <p>In short: There may be a great reason why the headphone jack must be removed on an iPhone that isn&#8217;t getting a noteworthy size change or battery-life increase, but we haven&#8217;t heard one yet.</p> <p>There are clear benefits to Apple &#8212; minor savings in parts and internal complexity, some profit from adapters and Lightning licensing, and driving a big Beats upgrade cycle &#8212; but nobody has come up with any compelling benefits for customers that <strong>require</strong> removing the headphone jack and can&#8217;t already be done in today&#8217;s iPhones.</p> <p>People already think Apple changes ports capriciously and slows down their phone with OS updates just to force upgrades and make more money, even when they actually have good reasons that benefit their products and customers. I suspect that the reaction to removing the headphone jack will be even more severe in this way than the Dock-to-Lightning transition.</p> <p>Apple better have <strong>very</strong> good benefits for this that customers will want, but none of the reports so far indicate any.</p> <p>Combined with the disappointment sure to result from the same physical iPhone design for three years in a row &#8212; a mediocre one, at that &#8212; I fear for the public perception of this fall&#8217;s iPhone and Apple as a result.</p> <p>It&#8217;s too late to change anything about this year&#8217;s iPhone hardware, but if this is true, I hope Apple at least reduces the perception damage by including a Lightning-to-3.5mm adapter in the box along with the new Lightning EarPods, and also selling the adapter separately for just $9.99. That would go a <em>long</em> way toward alleviating the problem.</p> → Accidental Tech Podcast: Yellow Sock Time, 30 Jun 2016 17:27:30 EDT<p>Screen time for kids, more on APFS, and 400 tiny trucks working together to deliver the latest Top Gear.</p> <p><a href="">&#8734; Permalink</a></p>→ Under the Radar: tvOS 10, macOS 10.12 and Swift 3, 30 Jun 2016 11:31:02 EDT<p>Concluding our WWDC 2016 coverage, we discuss what&#8217;s new (or not?) for indie developers in tvOS, macOS, and Swift, all in (just) under 30 minutes.</p> <p><a href="">&#8734; Permalink</a></p>→ How Thin Does Your Laptop Really Need to Be?, 27 Jun 2016 10:05:02 EDT<p>This might be the best laptop review I&#8217;ve ever read.</p> <p>I love the idea of someone pitching those last two photos in a conference room at the Wall Street Journal.</p> <p><a href="">&#8734; Permalink</a></p>→ Accidental Tech Podcast: Dance Palace, 26 Jun 2016 20:30:45 EDT<p>More than you ever wanted to know about filenames.</p> <p><a href="">&#8734; Permalink</a></p>→ Under the Radar: iOS 10, 24 Jun 2016 10:48:56 EDT<p>Continuing our series on WWDC 2016, we dive into iOS 10 this week: what changes are especially relevant, and how we might adopt them.</p> <p>Never longer than 30 minutes!</p> <p><a href="">&#8734; Permalink</a></p>→ Under the Radar: watchOS 3, 17 Jun 2016 14:37:41 EDT<p>David and I begin our WWDC 2016 series with what&#8217;s new in watchOS 3.</p> <p><a href="">&#8734; Permalink</a></p>