Archive for August 2018

Friday, August 31, 2018

AEDeterminePermissionToAutomateTarget Added, But AEpocalyse Still Looms

Felix Schwarz (tweet):

macOS Mojave beta 7 introduced AEDeterminePermissionToAutomateTarget, a new API that allows apps to determine whether they’re authorized to send an AppleEvent to another app:

OSStatus AEDeterminePermissionToAutomateTarget( const AEAddressDesc* target,
						AEEventClass theAEEventClass,
						AEEventID theAEEventID,
						Boolean askUserIfNeeded );


Also new in macOS Mojave beta 7 is kAEDoNotPromptForUserConsent, a flag that can be added to the AESendMode that’s passed to AESend().

If the AppleEvent sent that way would require user consent, the user is not prompted for consent. Instead AESend() will return errAEEventWouldRequireUserConsent.

What’s up with the documentation this year? We’re now on beta 9, but Apple hasn’t mentioned this important stuff anywhere but the headers. And there are still no release notes for Foundation, Core Data, and other frameworks besides AppKit.

AppleEvent sandboxing, as of Mojave beta 9, is not in a good shape. The addition of new APIs in beta 7 telegraphed that Apple is still working on it. But it’s unclear what changes are still in the pipeline - and whether Apple can make enough progress before Mojave’s public release.

Apple has been talking a good game lately about the Mac and professional users, but actions like this either make it seem like mere talk or point to division within the company. The general idea of AppleEvent sandboxing is not a bad one, but the rollout was botched. Apple did not seem to be aware of how disruptive this would be for developers or how much it will degrade the user experience for customers. That is impossible to square with the idea that it understands and cares about pro users. Or, alternatively, Apple understood this but development was way behind schedule and, for no discernible reason, it decided to rush ahead rather than take the time to get it right for macOS 10.15.

Mark Munz:

Given Mojave b9 created a whole NEW set of display problems in app (none which existed in any prev beta) does not give me encouragement that Apple will fix #AEpocalypse in time or in a user-friendly manner. #bigmess


And it will be individual developers that will be left to try and work around Apple’s rushed decision making and half-assed implementations. This stuff feels seriously rushed.

Dave Nanian (tweet):

When a schedule starts, those prompts suddenly appear, referencing an invisible application called Copy Job. And while a user might recognize a prompt for SuperDuper, it’s quite unlikely they’ll know what System Events is, or why they should allow the action.

Worse, a typical schedule runs when the user isn’t even present, and so the prompts go without response, and the events time out.

Worse still, a timeout (the system defaults to two minutes) doesn’t re-prompt, but assumes the answer is “no”.


It’s more than a bit ironic that an approach that avoids the prompting can do far more, silently, than the original ever could, but that’s what happens when you use a 16-ton weight to hammer in a security nail.

Jason Snell:

This is such a disaster.

Dave Nanian:

My blog post’s summary video[…]

Rich Trouton:

As part of macOS Mojave, Apple introduced new controls for accessing data in the individual user home folders. Along with these controls, Apple introduced the ability to whitelist certain actions and interactions using profiles. This repository stores Privacy Preferences Policy Control profiles, also known as TCC profiles, which I’ve created using the following tool[…]

Previously: Apple Event Sandboxing in macOS Mojave Lacks Essential APIs, Apple Events Usage Description.

Update (2018-09-03): Felix Schwarz:

Using the x-apple.systempreferences URL scheme, it’s possible to open System Preferences right at “Security & Privacy > Privacy > Automation” by opening this URL[…]


Passing false, errAEEventWouldRequireUserConsent is returned even if the user was previously prompted and declined permission.

In consequence, even for running applications, AEDeterminePermissionToAutomateTarget can’t be used to silently determine the current status. To be usable for that, it would need to return errAEEventNotPermitted in case consent is required and the user has already been prompted about it and denied. This feels like a bug. Paulo Andrade has filed a radar about it.

Felix Schwarz:

Hidden gem in there: “TCC stands for transparency consent and control.”

Update (2018-09-04): The URL for opening the Full Disk Access preferences is:

Rui Carmo:

It’s not going to be the usual “fallback, update and regroup” update where it regards scripting and automation—there will be some serious breakage due to new security measures.

Paulo Andrade:

So in many of these cases the prompt has a negative effect on user experience, can be misunderstood, and contributes even further to numbing down the importance given to security alerts (which ultimately defeats the purpose of having any).


Automation has always been a staple of macOS. And there was a time where it was booming. Apple gaves us Automator, the Scripting Bridge and bindings to other programming languages. The excitement you see today regarding Siri Shortcuts, us Mac users, we’ve experienced it before.

But a few years back (I can’t precise when), development stopped. And the only thing we would hear at WWDC was how signing, gatekeeper and sandboxing were affecting our applets, automator flows and APIs.

Paul Kim:

I cannot run a number of my automated tests. My tests test functionality that uses AppleEvents or the tests use AppleScripts themselves to verify test results. Adding the usage description keys to the Info.plists of the xctest bundles does not work. Also, it’s unclear which app the keys should be added to as it’s not documented whether a helper app, or its enclosing app needs to include them. On top of that, I don’t own the running app in this case so changing those keys will break the code signature.


In short, unless Apple fixes this soon, or even better, rolls it back to be released later, things are going to be a bit bumpy in Mojave. As a user, you may be surprised how often AppleEvents come up in the apps that you use.

Update (2018-09-05): Felix Schwarz:

The issue mentioned by @dnanian’s blog post – where AE prompts automatically timed out with “Don’t Allow” after a few minutes – seems to have been addressed: I have one open for 32 minutes now.

Other than that, I didn’t find any changes in beta 10.

Dieter Komendera:

The new Apple Event Sandboxing in macOS Mojave is going to be a disaster. This is the alert when auto-filling credentials from 1Password (v. 6.8) in Chrome. Normal users will bump into this & break their system.

Hal Mueller (tweet):

However, the view controller that needs camera and microphone access has multiple previews, and a live audio level meter. The calls from AVFoundation to request access are asynchronous. That means that bringing up that one view controller triggers six different alerts in rapid succession, each asking for camera or microphone access. That’s not a user experience we want to present.


There’s another complication, though. The user alert for each kind of privacy access (camera, microphone, calendar, etc) is only presented once for each application. If they clicked “grant”, that’s great, and we’re off and running. If they clicked “deny”, though, we’re stuck. We can’t present another request via the operating system, and we can’t bring up our recording preview.

Enter the nag screen. The nag screen points the user to the correct Privacy & Security pane. We will show the nag screen (optionally, depending on a parameter to our gatekeeper method) from the completion handler if permission is not granted.

Hal Mueller:

Consent for automation (using AppleScript) is more complicated. You won’t know whether you can automate another application until you ask, and you won’t find out for sure unless the other application is running. The API for automation consent is not as well-crafted as the API for other privacy consent.

Felix Schwarz:

Contrasting this #WWDC2012 slide with #Mojave’s AppleEvent sandboxing implementation provides a strong argument for why the latter should really be built on top of AppleEvent access groups:

- increased security

- better privacy protection

- prompt the user only if really needed

Building #Mojave AE sandboxing on AE access groups would also allow for a MUCH better prompt & full transparency – by enabling macOS to show EXACTLY the list of permissions requested.

“Allow app X to send an email?” vs. “Allow app X to do anything in Mail?”

Felix Schwarz:

In 2017, User Approved Kext Loading shipped, even though it was clear it’d cause lots of pain

The impact on my app sales was/is immense.

If AE sandboxing ships as-is, affected devs can expect refund requests, 1 star ratings & LOTS of mail.

Felix Schwarz:

If Apple insists on shipping AppleEvent sandboxing as-is, it’ll cause a lot of breakage for normal users.

And no time will be wasted by the media to (deservedly) mock Apple with their own ad.

Both of which would be a shame, because #Mojave is a really solid update otherwise.

Update (2018-09-06): Howard Oakley:

Mojave’s protection system, TCC (for Transparency Consent and Control), has to work with old apps, built before these controls were implemented, and new ones, which may have the protection of being App Store apps, or can be ‘hardened’ and notarized. To cope with this wide range, its rules may appear complex, so I have sketched them out in a diagram which explains what happens when an app tries to access protected data.

Update (2018-09-07): Norbert Doerner:

Honestly, I have never seen Apple adding such essential limitations so late in the beta. In this case, in beta 6. Add that to the more or less complete lack of communication about this vast limitation, and you are bound for trouble.

The limited way that Apple seems to offer to developers to tell the users why they want AppleEvent access to an app (only a single text string per application for all AppleEvent-related actions to all possible other applications!) - and the very lame idea from Apple to name this new dialog “xx wants to control yy”, will cause all kinds of important features in so many apps to break.

Developers now suddenly need to test every single one of these places in their code and add graceful, defensive code that explains to users, if and why a feature failed in macOS 10.14.

Howard Oakley:

The strange thing with apps created by the Script Editor is that it does what everyone agrees you shouldn’t do: it adds usage information for every class except Location services, as shown in this shot from Taccy.

Building scripting into Mojave’s privacy control is not easy, nor is it yet complete. I think that Apple is going to have to provide more extensive support to app developers, and the human interface will inevitably improve. It would make a great deal of sense for apps to be able to obtain pre-approval when first opened, so that users can give their consent to the features that they have just paid for, to access their own data. But this is going to require great care, for fear of opening vulnerabilities which will allow rogue apps to exploit the system.

Mark Aldritt:

The first time you run a script that addresses an application, you will be asked to grant your permission. If you do not, the script will not run. Script Debugger’s Dictionary Explorer works by sending Apple events to applications, so you may be asked for permission when exploring an app’s dictionary, rather than directly running a script.

Update (2018-09-08): Mark Munz:

With macOS Mojave, I feel we’re returning to an Apple attitude of just dictating terms to Mac Devs instead of engaging with them.

1. User prompts for every app that uses AppleEvents.

Oh, guess what? A lot of apps use AppleEvents! That means A LOT of user prompting.

Who doesn’t love a ton of random prompting?

2. And if you choose poorly…

Like Indiana Jones & Last Crusade, the results are bad.

Right now, you have to make a trip to terminal. To me, that’s a demonstration of failure in this Mac UX.

3. AppleEvent security is important, but it needs CAREFUL consideration. IMHO, Mojave’s solution is not that.

It feels very half-baked. It feels like there was NO dev input sought before WWDC. And we are now using band-aids to try and “fix” some core design flaws.

4. And 3rd party developers will end up taking the brunt of the complaints by users.

It will be our support teams overwhelmed with complaints that (64-bit) apps that worked in High Sierra are now broken.

Jeff Johnson:

The more warning dialogs you present to a user, the more they just click through without reading. This is well known. How does Apple not know?

Or maybe they do know. The Mojave warnings are not to protect users, they are to protect Apple from blame. It’s your fault for clicking.

Update (2018-11-19): Tim Hardwick:

I’ve been testing Folder Actions in macOS Mojave 10.14.1, and the results aren’t good. Apple needs to look at how new security approvals are implemented for workflows containing Apple Event scripts, because the reliability of automated actions has taken a dive.

Update (2018-11-26): Jesse Squires:

This was my first real experience trying to write a Mac app after years of doing iOS development and the majority of my time was spent trying to understand how sandboxing works and which entitlements I needed to specify.

Update (2018-12-20): Paul Haddad:

The security model in Mojave is awful. Why isn’t this just Deny/Allow? Half of these types of calls pause execution, half fail. No way to re-ask. Just bad.

Adding isMultiple(of:) to Swift’s BinaryInteger

John McCall:

It is substantially more fluent than its standard implementation of value % divisor == 0. Divisibility testing is the operation people actually want; the % operator is just the way they have to achieve it. % is rarely used outside of this idiom, and many programmers have no other reason to know it. It is not a familiar operator for new programmers especially: they will usually be comfortable with remainders in the context of division, but they aren’t used to thinking about computing a remainder as a separate operation, and they certainly don’t recognize % as a symbol for it. Even experienced programmers often mentally “pattern-match” this sort of expression to recognize it as a divisibility test instead of thinking through the arithmetic of it.

Encouraging the use of isMultiple(of:) (and !isMultiple(of:)) serves to counter bugs around negative remainders.

It has some potential for better performance, especially when applied to large integers. In this case, this impact would probably not be a sufficient justification on its own.

Joe Groff (tweet):

A related common operation, the one I want to focus on here, is to test whether a number is an exact multiple of another, using the remainder operator[…]clang and gcc leverage the same division-into-multiplication trick to optimize this operation, first performing the division via multiplication, then multiplying by the divisor and comparing the result to see if the result matches[…]


Can we do better? It turns out we can, using some tricks with modular arithmetic. Integer arithmetic in a 32- or 64-bit CPU register wraps if it overflows, effectively implementing the integers modulo 2³² or 2⁶⁴. An interesting property of integers modulo 2ⁿ is that every odd number has a modular inverse, which is another number it can be multiplied with modulo 2ⁿ to produce 1.

Previously: Dividing by Multiplying.

HP Leaves Mac Users Vulnerable to Fax Hacks

Saheli Roy Choudhury:

Researchers at Nasdaq-listed Check Point Software Technologies said that fax machines — which still reside in many offices — have serious security flaws. Those vulnerabilities could potentially allow an attacker to steal sensitive files through a company’s network using just a phone line and a fax number.

In a report released on Sunday, Check Point researchers showed how they were able to exploit security flaws present in a Hewlett Packard all-in-one printer. Standalone fax machines are a rarity in companies today, but the fax function is still present in commonplace all-in-one printers.

They faxed over lines of malicious code disguised as an image file to the printer, relying on the fact that no one usually checks the contents received over a fax. The file was decoded and stored in the printer’s memory, which allowed the researchers to take over the machine. From there, they were able to infiltrate the entire computer network to which the printer was connected.

Joshua Long:

Oftentimes when HP releases firmware updates for printers and multifunction devices, the company only makes the firmware available in the form of an EXE file — a Windows application. In spite of the severity of the Faxploit bugs, HP has not made an exception to this unfortunate practice.

Of the more than 150 affected models for which HP released firmware updates, approximately one quarter of them do not have a Mac-compatible firmware update installer available to download through HP’s support site.

NetNewsWire Comes Home

George Dick:

Since acquiring NetNewsWire from Newsgator in 2011, we’ve invested a great deal in the continued development and support of the product suite including the addition of a free sync service. Unfortunately, the ongoing cost of support and feature development for these products require more dedicated resources than we are able to provide.

With that in mind, today we are removing all versions of the app from sale. We’ll continue to run the sync service for another 60 days, then take it offline at the end of October.

We would also like to announce that the NetNewsWire brand will be returning to its original creator, Brent Simmons.

Brent Simmons:

You might reasonably wonder if nevertheless [Black Pixel] asked for some large amount of money. There was no charge. That’s what I mean by “incredible generosity.”


You probably know that I’ve been working on a free and open source reader named Evergreen. Evergreen 1.0 will be renamed NetNewsWire 5.0 — in other words, I’ve been working on NetNewsWire 5.0 all this time without knowing it!

It will remain free and open source, and it will remain my side project.

Classy move by Black Pixel, and it’s great to have Simmons working on NetNewsWire again after all these years.

Previously: The State of RSS on the Mac, Evergreen Mac Feed Reader, The Story of NetNewsWire.

Update (2018-09-03): See also: Hacker News.

Brent Simmons:

NetNewsWire Lite 4.0 was the last version I shipped before the sale to Black Pixel, back in 2011. It was a free app on the Mac App Store.

I put the source up on GitHub.

Brent Simmons:

If you’d like to run it, go to the NetNewsWire site and download the latest build.

Brent Simmons:

My goal used to be to make NetNewsWire a great Mac app with lots of paying users. Secondary goals were to promote reading and writing on the web, the blogosphere, and RSS and open web standards.

My goal now is to make NetNewsWire a great Mac app with lots of users. Other, no-less-important, goals are to:

  • Promote healthier news-reading via the open web and RSS
  • Promote native Mac app development by providing a good example and by making the code open source

(Yes, I’m strongly considering an iOS version, but I’m concentrating on the Mac app first.)

Update (2018-09-05): Daniel Jalkut:

Over the years I considered other news readers such as Reeder (which is free for a limited time, by the way), but none of them scratched that NetNewsWire 3 itch. I rely upon some arcane features of the app including “scripted feeds,” which allow me for example to run Python scripts on my Mac that connect to Twitter and generate RSS feeds from search results. That’s not possible in most feed readers.

I used to fantasize about getting access to the NetNewsWire 3 source code and sprucing it up. I wondered how things might have turned out differently if, in addition to acquiring MarsEdit from NewsGator, I had acquired both? I can’t say I would have done a better job than Black Pixel, but I would have preserved the features I care about, and that Clippings folder icon would be the right size!

Brent Simmons:

I was considering publishing the source on GitHub and/or making a 3.4 build that strips out the Esellerate and Google Reader syncing parts.

So I sent the code to Daniel Jalkut, who quickly hacked at it and got it running and sent it back to me.

And then I ran it too — and quickly realized a few things[…]

Update (2018-09-08): NetNewsWire:

Before anyone ever saw a copy, NetNewsWire was called AquaReader. It was renamed to NetNewsWire not long after.

Back in those early days of OS X it was pretty common to put the word “Aqua” or “Cocoa” in your Mac app’s name.


Before NetNewsWire 1.0 shipped, it went through a couple different app icons. In those days, globe icons were very common.

Update (2018-09-10): NetNewsWire:

Here’s a screenshot of the blog editor in NetNewsWire 1.x, which was later split out into a separate app: MarsEdit.


This is what the Combined View looked like in NetNewsWire 1.x.

This was before WebKit existed — HTML display was done by some NSAttributedString method which could handle basic HTML formatting.

Update (2018-09-13): Brent Simmons:

NetNewsWire 1.x included an outliner — a single-document notepad for storing thoughts, links, RSS articles, and so on.

Thursday, August 30, 2018

goTenna Mesh

Steven Frank (tweet):

So what’s a goTenna Mesh? It’s a portable battery-powered antenna that’s capable of forming an ad-hoc wireless mesh network with other goTenna Mesh units in-range. That is to say, they don’t connect to the internet, wi-fi, or the cellular network -- just to each other.


The most realistic use-case right now is for people who need to communicate at a distance, but do not have cellular network coverage.


Unlike many goTenna users, I'm rarely off the beaten path deep in the woods, or on an ocean cruise. I bought my goTennas to show my support for an ideal that I strongly believe in: that there should be an affordable, easy-to-use, community-owned alternative to big telecom infrastructure, and that public spectrum is a wonderful thing that we should use.

How Web Reader Modes Modes Work

Daniel Aleksandersen (via Ricky Mondello):

This article is part two in a series on web reading mode and reading mode parsers.

  1. The non-standard rendering mode
    The history of reading mode, a look at the different parsers we have today and how they came to be, and a small criticism of the Apache 2.0 license.
  2. Determining the main page content
    There are many approaches to content-analysis and extraction, and most only work well with English-content. Why is reader mode so slow to activate, anyway?
  3. Title, author, and date metadata extraction
    Visual page inspections, standard metadata, or guesswork? Everyone has their own ideas about how to best determine the metadata describing an article.
  4. Inconsistent and bad reading experience
    Encourage publishers to fix their designs, and standardize reading mode now.

Mandy Michael:

I went on a bit of a journey exploring how our websites are experienced across these technologies and how we can make sure that our content is interpreted the way we want, regardless of how people are consuming it.

For demo purposes let’s look at what a simple HTML page looks like in Instapaper, Pocket and Safari’s Reader mode and compare <div> only content and semantic HTML.

How a 1998 Meeting With Steve Jobs Gave Birth to Wi-Fi

Claus Hetting (via Shawn King):

Cees Links – today general manager at Qorvo – was there. Cees & his team had been working for more than a decade on introducing WLAN technology to the masses, but without luck. After plenty of attempts, Apple finally came to Lucent and said they wanted to meet, giving Cees and team a week to show up in Cupertino.


“Presenting for Steve Jobs was actually quite easy. I just put up the slides and he did the talking, and his talk was not necessarily related to the slides at all. In the end he told us he wanted the radio card at a cost of $50 because he wanted to sell it at $99,” says Cees.

Previously: Macworld Expo New York 1999.

On the History of Mathematical Typography

Eddie Smith:

Gutenberg’s key innovation was really in the typecasting process. Before Gutenberg’s time, creating letters out of metal, wood, and even ceramic was extremely time consuming and difficult to do in large quantities. Gutenberg revolutionized hot metal typesetting by coming up with an alloy mostly made of lead that could be melted and poured into a letter mold called a matrix. He also had to invent an ink that would stick to lead.


The Monotype System is an exquisite piece of engineering, and in many ways represents a perfection of Gutenberg’s original workflow using Industrial Age technology. It’s also a fantastic example of early “programming” since it made use of hole-punched paper tape to instruct the operations of a machine—an innovation that many people associate with the rise of computing in the mid-20th century, but was in use as early as 1725.

Like Gutenberg, Lanston sought to refine the workflow of typesetting by dividing it into specialized sub-steps. The Monotype System consisted of two machines: a giant keyboard and type caster.


The Selectric’s key feature was a golf ball-sized typeball that could be interchanged. One of the typeballs IBM made contained math symbols, so a typist could simply swap out typeballs as needed to produce a paper containing math notation. However, the printed results were arguably worse aesthetically than handwritten math and not even comparable to Monotype.


TeX was a remarkable invention, but its original form could only be used in a handful of locations—a few mainframe computers here and there. What really allowed TeX to succeed was its portability—something made possible by TeX82, a second version of TeX created for multiple platforms in 1982 with the help of Frank Liang.

Wednesday, August 29, 2018

AirPort Express Update Adds AirPlay 2

Zac Hall (tweet):

Apple’s AirPort line may be discontinued, but AirPort Express got one heck of an update today. Firmware update 7.8 for the latest AirPort Express hardware (2012 2nd-gen model, no longer sold) adds support for AirPlay 2 and Apple’s Home app.

What a nice surprise. Now how about making the Apple TV 3 remote work from Control Center?

Benjamin Mayo:

This is honestly the most discombobulated thing Apple has done in a long time; release a major new feature for a discontinued product.

Marco Arment:

Alright, who had “significant AirPort Express software update” on their bingo card?

Jason Snell (tweet):

My ancient AirPort Express, pulled out of a drawer, is now playing music on an external speaker synced with my HomePod stereo pair and my Mac’s external speaker, which is an iPod Hi-Fi. (Oh goodness, if I attached the iPod Hi-Fi to the AirPort Express, it would be an AirPlay 2 speaker. Would the universe implode?)


Thanks Craig 😀

Zac Hall:

The AirPort Express that got AirPlay 2 today came out the same day as the “NEW” Mac Pro from the original @atpfm artwork

Previously: Apple Officially Discontinues AirPort Router Line, iOS 11.4 and Messages in iCloud.

Update (2018-08-29): Nick Heer:

According to John Voorhees over at MacStories, this only works for the second-generation AirPort Express that looks like a white Apple TV, and it needs to be added manually to the Home app — that is, you can’t just scan it to add it.

Update (2018-08-30): Benjamin Mayo:

I am not saying that this is bad for owners of the second-generation AirPort Express. It’s great that there is now a way to bring dumb speakers into the AirPlay 2 ecosystem, connecting via the Express’s aux input. Specifically, the absurd part of this is that they rolled this out to a product that they discontinued months ago, the Express has been delisted from the Apple Store, and there isn’t a replacement product for people to buy that can achieve the same result.


What I hope Apple introduces is a rebranded/redesigned AirPort Express for $49, that ditches all of the wireless networking stuff and just acts as an AirPlay 2 audio repeater.

See also: Accidental Tech Podcast.

Update (2018-09-05): Juli Clover:

Just ahead of when Apple plans to release new 2018 iPhones, the company has quietly updated its AirPort Utility app to introduce support for the longer display of the iPhone X.

AirPort Utility is one of the last remaining Apple apps that have gone for months without an iPhone X update.

Possible Removal of 3D Touch With 2018 iPhones

Joe Rossignol:

Earlier this year, Apple analyst Ming-Chi Kuo said 3D Touch won’t be a feature on the rumored 6.1-inch iPhone with an LCD, part of the upcoming 2018 lineup. So, by the sound of it, 3D Touch won’t be a feature on any 2019 iPhones, assuming Apple sticks with the same three models expected in 2018.

While the lack of 3D Touch on the 6.1-inch iPhone would make sense, given expectations that it will essentially be a budget iPhone X, it’s not entirely clear why it may be removed from the more expensive OLED models next year. As a somewhat hidden feature, perhaps Apple no longer finds it essential.


The most immediate example is the home screen. Long press activates move/delete mode, 3D Touch brings up common app features and/or a widget. It might not be my primary interaction, but I do like having it there. I don’t think I’m the only one

Ryan Jones:

0.1% of people use Quick Actions

~25% (??) of people have difficulties deleting and moving app

Design is trade offs. Not yes/no. You win by removing, and in this case you win more.

Jesse Larson:

The amount of time I’ve spent explaining how to delete apps after 3D Touch is crazy. Can’t believe they didn’t remedy this obvious regression sooner.

Personally, I only use 3D Touch for better cursor insertion when editing text. I’d miss it if gone, but could live without it.

Steve Troughton-Smith:

“I always invoke 3D Touch by accident”

“3D Touch is not discoverable”

If you changed how icons are moved or deleted on SpringBoard, nobody would be complaining about 3D Touch at all. 3D Touch isn’t the problem here


The cursor feature is a big big win 3D touch wise for me. Or 3D touching google maps to get directions home is nice. But yea, not much else

Ryan Jones:

3D Touch never took off. That’s not saying long or force pressing is dead. Do we need dedicated hardware for long or force taps? No. Do we need Force Touch to be distinct from Long Tap? No. Unadopted unnecessary complication for tiny upside → kill it.

Marco Arment:

Removing 3D Touch sounds incorrect. Maybe it’s just a component/implementation change.

But it’s kinda fun to watch people who’ve defended the removals of everything they didn’t use from the MacBook Pro suddenly getting mad that Apple might take away one of THEIR niche features.

Colin Cornaby:

3D Touch is difficult/expensive to implement, especially on larger screens (hello iPad.) It doesn’t sound completely incorrect to me, because the price for implementation doesn’t seem worth the payoff. But Apple would have to walk back their reliance on it for first party apps.

Michael Love:

I think they finally found a winning / obvious use for it in the iPhone X’s flashlight / camera buttons; hopefully they keep it around and lean into it more heavily in iOS 13 for complications and such.

Justin Lin:

That I find very frustrating. I just want a quick flash light or camera with a tap but it takes so much effort to make it “click”. And my mom thought they were broken as they did nothing with a tap.

Damien Petrilli:

Too bad. 3D touch could have been used to add a contextual menu to undo amongst other things

Josh Centers:

3D Touch isn’t that useful, but I love the Taptic feedback.

Steve Troughton-Smith:

I don’t believe rumors of ‘no 3D Touch’ coming from component suppliers. Seems far more likely that they’ve figured out new way to do 3D Touch that doesn’t require heavy back plate, thus making viable on iPad. The answer to user problems is ‘disable by default’, like right-click

3D Touch didn’t appear out of nowhere, it was worked on for many years before it was introduced and forms a key part of contextual & haptic design on iOS. It sounds ridiculous to remove it just because some people have difficulty moving icons around

On the other hand, there may be indicators that 3D Touch hasn’t worked out as expected: it’s still not on iPad, for instance, nor the iPhone SE (which is still in the lineup). I don’t know if anybody would miss it if it were dropped on macOS, either

If you were to nix 3D Touch, you’d have to relocate (or remove, a la iPad) SpringBoard shortcuts & widgets, and view controller previewing & context menus. You’d only be left with a longpress you’d have to overload with features, which doesn’t make moving icons any easier

Joe Fabisevich:

3D Touch is great, but incredibly confusing, hidden, and often times overloaded. It should have replaced long press, not been added on top of other gestures.

Andy Durdin:

In my experience and estimation, I invoke 3D touch when I didn’t want to about 1-2% of the time when I only wanted a long press; and 3D touch fails to register when I wanted it to about 5-10% of attempts. Both of these percentages are frustratingly high.

James O’Leary:

while I’m here, the other issue is 3D Touch is impossible to use consistently as a designer. You have to plan 3 separate UIs (iPhone without 3D touch, iPad, iPhone with 3D touch). By its very nature, 3D Touch affordances have to be dispensable

Matt Bonney:

Here’s a very simple reason why removing 3D Touch would be bad. Long-press is a bad, slow substitute.

3D Touch lets you get in to these expanded states with a single (slightly firmer) tap.

Tuesday, August 28, 2018

2011 Pocket Camera vs. 2017 iPhone 8 Plus

Rob Griffiths:

The left image was taken in 2014 with a 2011 Pansonic Lumix DMC-ZS10 pocket camera (specifications); the right image was taken in 2018 with my 2017 iPhone 8 Plus. (Interesting to note that I didn’t bring my DSLR on either trip…the best camera is the one you have with you, right?)

Neither of the above images has been edited, beyond whatever algorithms the cameras use when saving the photo. Frankly, I was amazed at just how much better the iPhone 8 Plus photo is compared to the one from the Lumix[…]


In near-identical conditions (check the light in the windows behind the plane), the iPhone was able to shoot at a lower f-stop, with a lower ISO, and at a faster shutter speed. That’s pretty amazing. Also note the efficiency of the HEIC file format: The iPhone photo is 22% of the size of the Lumix photo!

I sold my Canon pocket camera a couple years ago. In rare cases it would take better photos than my iPhone, but (perhaps because I’m not very skilled) the average iPhone photo was better.

Siri’s Personality

Buster Hein:

Siri is about to get a huge upgrade in the way it answers users questions and searches.

In a new job listing posted today, Apple says it is seeking a writer and editor who can help evolve Siri from one of the most-criticized digital assistants into a “distinct, recognizable character.”


Apple says the ideal candidate excels at the craft of writing and loves language and wordplay. The person hired will probably have a huge influence on how Siri interacts and converses with users by injecting more personality into the digital assistant.

Via Dan Masters:

Don’t you get it, Apple? Users don’t care about Siri being a “distinct, recognizable character”.

They want it to “just work”.

Friday, August 24, 2018

On “Shake to Undo”

John Gruber (tweet):

It’s a tricky problem how to implement universal Undo without a menu bar and without keyboard shortcuts. Even Cut/Copy/Paste were tricky enough that it took until iOS 3 for the iPhone to get them. That’s why the menu bar and keyboard shortcuts are such essential elements of the Mac experience.

Shake to Undo is problematic enough that I think Apple should have figured out something better for the iPhone by now. (For accessibility reasons, you can turn Shake to Undo off, but if you do, you don’t have any Undo at all.) My best suggestion would be to take away some space from the auto-suggestion row above the keyboard and put in an Undo button on the left, just like the iPad.

I’d like to see undo available via Siri and Control Center (since that doesn’t need the keyboard). Unfortunately, it just doesn’t seem to be as pervasively implemented on iOS as on macOS.

Update (2018-09-08): John Gruber:

The poll results at the bottom of this @benlovejoy piece on my Shake to Undo piece are eye-opening. Only 35 percent of responders ever use Shake to Undo, and 85 percent agree that Apple should add an Undo button above the iPhone keyboard.

Russell Ivanovic:

“The fact that system-wide Undo exists in iOS is great. (Android doesn’t have it.)”

Narrator: it does

Russell: and it’s a million times more intuitive

Eli Schiff:

As a very early iOS user it was quite obvious day one that undo was missing. It was a common complaint that other OS makers offered it and iOS didn’t. 2018 is a decade late for this discussion.

Mark Alldritt:

And lets not forget that Shake to Undo provides no context for the undo operation. Do you want to undo the last text edit or undo the deletion of an email? With split-pane on iPad, which app should respond?

David Gelphman:

Listening to the recent Talk Show discussion by @gruber and @jsnell about “shake to undo” made me think they might be amused by this Apple patent

Open Sourcing Twitter Network Layer

Nolan O’Brien:

In 2014, iOS 7 was released with the new NSURLSession API for networking to replace NSURLConnection (which ended up being deprecated in iOS 9). At Twitter, we wanted to modernize our original network code and design something scalable and robust that would last at least the next 10 years. We took that opportunity to assess the drawbacks of the system we had in place and enumerated all the possible improvements we could build in an encapsulated framework that was modern and scalable.

Twitter Network Layer (TNL) was first built in 2014 and over the course of the next two years, we transitioned everything over to TNL while iterating on the framework. TNL has now been in production for 4 years, 100% adopted for over 2 years, and has had no bugs identified in the last 18 months.


There is an additional benefit of having TNL abstract away NSURLSession instances, which is an automatic performance gain of reducing the number of NSURLSessions that would need to be created.

Apple Security White Papers

mikey has posted an archive of the iOS and macOS security guides, going back to iOS 6 and Leopard.

How I Kicked My E-mail Compulsion

Robert Heaton:

I’ve been checking my personal emails 3 times a day or less for the last 2 months, and it’s had a noticeable effect on my mood, happiness and self-esteem.

Your compulsion of choice might be Twitter, Instagram, or Reddit. Whatever it is, you might be a bit happier if you used it a bit less, so here are the habits and thought patterns that helped me with my emails.


Between 2013 and a few months ago, I had an email-hungry gorilla on my back. She was always demanding to know whether any long-lost friends, reporters (it happened once, it could happen again), or well-wishers had gotten in touch during the last few minutes. I also had a vague and mounting sense of wanting to check my emails less. Every time I did open my inbox I felt like I had failed at something, and had given in to my cravings and my gorilla. Whenever I even considered checking my emails I felt a duty to try to resist. Then I either spent some willpower, which we’re assuming is a finite resource, or gave in and felt like a gross loser.

Thursday, August 23, 2018

Apple Events Usage Description

Daniel Jalkut:

Until Paul mentioned his own problems, I glossed over these failures because I was satisfied that my production built versions, linked against the 10.13 SDK, were “working fine.” But Paul’s report got me thinking: was it possible there is some unspoken contract here, whereby linking against the 10.14 SDK opens up my app to additional privacy related requirements?

I tapped into Xcode’s Info.plist editor for FastScripts, added a new field, and typed “Privacy” on a hunch, because I’ve come to realize that Apple prefixes the plain-English description for most, if not all, of their “usage explanation” Info.plist fields with this word[…]

Aha, that first one looks promising. You can right-click on an Info.plist string in Xcode to “Show Raw Keys/Values”, and doing so reveals that the Info.plist key in question is “NSAppleEventsUsageDescription”. After adding the key to my app, I built and run again, and running the same script as above now yields the expected authorization pane[…]

I believe the WWDC session said that the other usage descriptions are required if you build with the macOS 10.14 SDK. NSAppleEventsUsageDescription was not added until Beta 7, though. It’s kind of odd that this key just has a single string value, since an app might want to send events to any number of different apps, for different reasons. Everything needs to go in that one string.

And it’s too bad there’s no corresponding usage description or prompt for Full Disk Access. Your app just gets a permissions error, and you have to explain to the user how to enable access in System Preferences.

Previously: Apple Event Sandboxing in macOS Mojave Lacks Essential APIs.

Manuscript (FogBugz) Sold to DevFactory

Anil Dash (via Reddit, Hacker News):

But honestly, we’ve been resource-constrained as a small company to do justice to Manuscript, especially as Glitch has taken off and demanded our attention, and the market for software project management tools has gotten more competitive. So recently, we started looking at whether we could find a new home for Manuscript that would provide it with the investment and focus needed to not just support the current users and functionality of the platform, but to expand both.

I’m very interested to see how this turns out.

Update (2018-09-07): Andy Tryba:

Please join me as I unveil our vision and plans for Manuscript at our upcoming Virtual User Conference webinar on Wednesday, September 12th at 10am EDT.

Good thing it’s Eastern time.

Update (2018-09-13): Based on an e-mail I received, it looks like Manuscript is being renamed back to FogBugz and that DevFactory is using a different system for their customer support (rather than eating their own dog food, as Fog Creek did).

Aqua Screenshot Library

Stephen Hackett (tweet 2, MacRumors):

I have worked my way through every major release of macOS since the Mac OS X Public Beta and catalogued them in an extensive collection of screenshots.

Currently, the library includes 1,502 images. That’s 1.6 GB worth of screenshots.

These images came from the OS, running on actual hardware; I didn’t use virtual machines at any point. I ran up to 10.2 on an original Power Mac G4, while a Mirror Drive Doors G4 took care of 10.3, 10.4 and 10.5. I used a 2010 Mac mini for Snow Leopard and Lion, then a couple different 15-inch Retina MacBook Pros to round out the rest.


John Gruber:

I love the little things, like looking at how the Finder’s “Go to Folder” sheet has subtly changed over the years.

Previously: Mac and iOS Wallpaper Archive.

Visualizing Pointer Addresses as Emoji

Jason Pepas:

I often print pointer addresses as emoji. Handy when debugging issues related to UITableViewCell reuse etc.

It’s much easier to recognize 🎃 in a log than 0x00007fa2ec033200.

Here’s his Swift code.

Wednesday, August 22, 2018

The History of Aperture

Stephen Hackett:

Even here in 2018, RAW files can be difficult to deal with due to their size. In 2005, they were all but impossible to manage. Aperture set out to fix that, as Apple’s website said[…]


The specifications for Aperture 1.0 were as steep as the price. Apple created a free “Aperture Compatibility Checker” application to help determine if your system met the requirements.


No doubt the program struggled to shake its early reputation. The performance woes and underwhelming feature set in the first version tainted people’s opinions in a way that was hard for Apple to shake. I have no doubt that some who paid that initial $499 price tag were disappointed by their investment.

Despite persistent rumors that it would be cancelled, Aperture improved through its two major revisions. Apple added much-needed tools and features, all while making the software more responsive and less frustrating to use.

Another interesting tidbit is that Aperture was probably Apple’s highest profile early use of Core Data, but it was then rewritten to use SQLite directly (as does Lightroom).

John Gordon:

It ended as a damned fine product. I still rely on it. Left a gulf in Apple’s product lineup

Nick Heer:

Even today, I am a reluctant Lightroom user; I can’t tell you how much I wish Aperture were still around, with support for iCloud Photo Library. For all its faults and bugs, I always got a kick out of editing my photos in Aperture. In Lightroom, it feels like a chore.

Previously: Aperture Migration Plan, Apple Stops Development of Aperture, Aperture, Capture One, and Lightroom Walk Into a Bar.

Tuesday, August 21, 2018

Back to My Mac Dies With Mojave

Howard Oakley:

Apple has announced that its Back to My Mac feature will not be supported in macOS 10.14 Mojave, when it is released shortly.

In that announcement, it provides links to articles detailing the services which it recommends users change to instead. These are iCloud Drive for file sharing, accessing another Mac using built-in screen sharing, and managing your Mac remotely using Apple Remote Desktop (which costs £74.99 from the App Store, and hasn’t been updated since February 2017).

Colin Cornaby:

Back To My Mac created a virtual Bonjour group across all your remote devices. Useful for so many things. Besides being able to share screens you could SSH back into your home machine.

iCloud Drive is not at all a replacement. :(

Steve Troughton-Smith:

Back to my Mac’s removal just underscores that there is no place for anything at Apple that isn’t 1) iCloud-based, and 2) iOS-compatible. This is a running theme; everything else is on borrowed time


Screens (iOS and Mac) and Screens Connect are a great alternative to Back to My Mac. In fact, Screens Connect essentially behaves like the soon to be defunct service; it manages to open a port on your router and sends that information to our server. Then, Screens retrieves that information in order to connect to your Mac remotely.

Screens Connect starts at boot time so it makes sure that your Mac remains reachable, even if no user has logged in.

I have also had good luck with TeamViewer.

Update (2018-08-22): Kevin Ballard:

Theory: Back To My Mac is going away because without a Bonjour sleep proxy, you can’t wake up your home computer remotely. And without an AirPort Extreme you don’t have a Bonjour sleep proxy. So the death of the AirPort means BtMM doesn’t work well.

Previously: Apple Officially Discontinues AirPort Router Line.

Cabel Sasser:


Wil Shipley:

This is some epic level bullshit. Apple should be encouraging home servers instead of pulling their features one by one.


I can’t even parse the logic of the change from ‘back to my Mac is part of icloud services’ to ‘back to my Mac is ending; use iCloud’ because Apple is much quieter and vague about exactly what these services are anyway. It’s all mkting buzzwords I’ve never found personally useful

Meek Geek:

Another Mac feature bites the dust, with no decent replacement.

Back to My Mac’s integration with the Finder was the best. Access your Mac & hard drives from anywhere. Although flaky at times, it’s a life saver when you’re out and about.


Apple is killing Back To My Mac in favor of the Pro Subscription Plan. Just buy more iCloud storage and pay $80 for Apple Remote Desktop.

Most people don’t need it, so we should start charging extra for it. The new Apple.

John Gruber:

I’m not sure screen sharing and remote desktop access are adequate replacements.

See also: MacRumors.

Update (2018-08-23): Luc Vandal:

Is @screensvnc the first app being un-Sherlocked?

Previously: Removed in macOS 10.14 Mojave.

Update (2018-08-30): Glenn Fleishman:

I found Back to My Mac such an exciting proposition back then—and so complicated to get working just right with different routers and network setups—that I wrote a nearly 100-page book for the Take Control series just about Back to My Mac. (And a separate one about screen sharing!)


First, some good news: the loss of Back to My Mac doesn’t affect macOS’s built-in screen sharing, which you can still use over your LAN or invoke via Messages.


People who still need a Mac-to-Mac secure tunnel will have to look into more complicated solutions, like installing VPN server software on their Mac. That used to be an option with macOS Server, but Apple is removing the VPN server in future versions (see “Apple to Deprecate Many macOS Server Services,” 26 January 2018).

Update (2019-05-31): Juli Clover:

Apple today announced in an updated support document that the Back to My Mac service is being eliminated from all versions of macOS on July 1, 2019.

Forthcoming MacBook and Mac mini Updates

Mark Gurman and Debby Wu (tweet):

Apple Inc. will release a new low-cost laptop and a professional-focused upgrade to the Mac mini desktop later this year[…]


Apple is also planning the first upgrade to the Mac mini in about four years. […] The computer has been favored because of its lower price, and it’s popular with app developers, those running home media centers, and server farm managers. For this year’s model, Apple is focusing primarily on these pro users, and new storage and processor options are likely to make it more expensive than previous versions, the people said.

This sounds kind of like the xMac, which could be a good thing. I’m not sure that a low-cost modular Mac remains an important niche. But I do hope the new MacBook is priced a lot lower.

Previously: On the Sad State of Macintosh Hardware, Mac mini Turning 3.5 Years Old

Update (2018-08-22): John Gruber:

A new MacBook at the $999 price point and a new Mac Mini are both genuine news. But there’s no way around the fact that this report raises more questions about both products than it supplies answers. Is the new MacBook an updated MacBook Air with a retina display and smaller bezels, or the existing 12-inch MacBook with a lower price? Or is it the no-touch-bar MacBook Pro with a lower price? Or something else entirely? We don’t know, and this report doesn’t say. How can Gurman know these things are imminent but not know the details about them? Or maybe he does know the details but can’t say? At a meta level I find this fascinating.

Michael Simon:

But if Apple is indeed giving the Mac mini a reimagined revamp, there are a few things it absolutely needs to include if Apple hopes to return it to its glory days.

Ben Bajarin:

On the rumor of a lower price Mac, see this article I wrote for iMore three years ago outlining how the Mac could eat into PC market share in a big way.

Update (2018-08-23): John Gruber (tweet):

But the more I think about it, the more I think that something along the lines of the “just put a retina display in the MacBook Air” scenario seems the most likely. Nomenclaturally it makes no sense. The computer named just-plain “MacBook” should logically be the one that is the baseline best-selling model for the masses. The one named “Air” should be the one that is as thin and lightweight as is feasible. But today we’re three years into the era when the just-plain MacBook is the radically thin and light model, and the Air is the best-selling baseline model that isn’t really any thinner or lighter than the Pro models. Well, so what? We drive on parkways and park on driveways and no one is confused.

See also: Hacker News.

Update (2018-08-30): Brian Stucki:

Let it be known: I was there when the original Mac mini was announced, have been promoting it constantly for 13 years, and have purchased 1000s of them. Most of my career has been built on this box. When the new one arrives, I’d like to be there.

Stefan Constantine:

Curious to see what this so called MacBook Air refresh is going to cost, because stuff like this makes recommending Apple (or even Windows) laptops hard.

Juli Clover:

Intel this afternoon officially debuted its new eighth-generation U-series “Whiskey Lake” and Y-series “Amber Lake” chips, which are designed for use in thin, light notebooks like the MacBook and the MacBook Air.

See also: The Talk Show, Accidental Tech Podcast.

Update (2018-09-08): Riccardo Mori:

So, what I’m thinking is that Apple could equip this purported low-cost MacBook Air successor with a ‘good enough’ Retina display, maybe a high-density display that’s not as full-featured as the one in the MacBook Pro line; it could lack wide colour gamut support, for example.

Or, Apple could produce a MacBook using less premium materials, while maintaining the thin-and-light design. I’m insisting on this aspect because, firstly, I see a lot of competitors manufacture decent laptops that feel nice, are affordable, and retain a certain design quality without necessarily being assembled with costly materials.

Update (2018-10-19): Joe Rossignol:

The latest Mac mini, introduced on October 16, 2014, is four years old as of this week.


The good news is that the long wait for an update may be coming to an end, as two reliable sources in Apple analyst Ming-Chi Kuo and Apple scoopster Mark Gurman both expect a new Mac mini to be released later this year.

Kuo didn’t have a lot of information to share on the Mac mini, but he said a processor upgrade is expected. Gurman revealed more ambitious plans, claiming that the Mac mini is set to receive a “professional-focused upgrade,” with new storage and processor options likely to make it “more expensive” than previous models.

Ilja A. Iwas:

Doesn’t sound good. I want an entry level Mac with a good price/performance ratio, not another overpriced ‘Pro’-Mac.

Meek Geek:

Mac mini 2014 was a downgrade:

- Server models with 2 drives & quad core CPUs axed

- No removable SO-DIMM RAM slots: BTO at Apple’s RAM prices

- Removable bottom cover gone: Hard to DIY upgrade hard drives

- Radeon GPU model gone

In effect, 6 years since a decent refresh.

Update (2018-10-29): Brian Stucki (tweet):

To celebrate this great machine, I thought it’d be fun to put together a timeline of highlights from the last fourteen years.

Changing the Year When Setting the iOS Date

Chris Nebel:

TIL that iOS, at least as of 11.4.1, does not let you directly change the year when setting the date and time manually — there’s simply a single scroller for the date.

This is problematic when you run the battery down completely: the system goes to the Unix epoch, 0 GMT 1 January 1970, and then won’t connect to the time server because it thinks the certificate is invalid. So you must manually set the date, and must scroll a lot.

I’ve never run into this particular issue, but I run into little things like this all the time on iOS.

Logitech’s “POWERED” 7.5W Wireless Charging Stand

Juli Clover:

Unfortunately, it’s priced at $70, which is expensive and can be hard to justify when there are so many wireless charging options on Amazon that are in the $20 to $40 range.


With many of the flat wireless charging pads, I have to shift my iPhone around to get it in just the right spot for charging. I’ve run into instances where I think the iPhone is charging and it’s not, or it starts charging and then gets bumped and knocked out of the proper position, something that’s impossible with the POWERED because the U-shaped cradle guides iPhone placement.

If you have similar issues with flat wireless chargers, the POWERED may be worth checking out because it solves a lot of the pain points that come with wireless charging.

Tim Hardwick:

Today’s DigiTimes report also claims Apple will use the September event to announce the “launch schedule” for its wireless AirPower charger, costing in the region of $160-$190. Apple previewed its multi-device AirPower charging mat at its iPhone X event last September, and confirmed that it will be released at some point in 2018, but it has yet to reveal how much it will cost. An earlier rumor citing “industry insiders” has suggested a price point of around $149.

Previously: AirPower Status and Removing the Lightning Port.

Podcast Ads, Business, Overcast, and Apple

The Wolf Den:

Marco Arment, developer of podcast app Overcast, joins Lex on the Wolf Den. Lex and Marco discuss pretty much everything going on in podcasting today. The two debate the technical complications of dynamic ad insertion and how it affects both podcasters and podcast apps. The two also discuss Marco’s history with Midroll in its early days, and theorize what might happen if Apple ever exited the podcast space.

As someone who listens to podcasts but doesn’t follow the business side that closely, I found this very interesting.

Previously: Apple Removes Infowars From Podcast Directory.

Update (2018-12-03): The Menu Bar:

We are joined by Marco Arment for a candid discussion about the state of podcasting in 2018, why podcasts should — and probably will — remain decentralized, why we should always be afraid, the problems with AR and VR, and we wrap with some advice for people who want to podcast.

Previously: Podcasts, Analytics, and Centralization.

Friday, August 17, 2018

Making a More Valuable Resource for the Swift Community

Ted Kremenek:

While there is some good material on the website, what is currently there underserves both of the two goals mentioned above and there is a lot more that can be done. We are preparing to open up the Swift website for contributions from the broader Swift community, and as part of that I wanted to start a conversation on what the community felt we should do to make that website a better resource for everybody.

Make iMovie Output Full-Resolution Video

Josh Centers:

The problem is that iMovie doesn’t let you set a project’s resolution manually—for that you seemingly need the $300 Final Cut Pro X—and on the Mac, it fixes the project’s resolution based on the first clip you insert.

This problem has stymied many people, and there are numerous YouTube videos suggesting that you create a new project and drop a high-resolution photo at the beginning of the timeline to set the project to a higher resolution. That trick didn’t work for me. But I figured out a different way of convincing iMovie to allow me to export a 4K file.

Thursday, August 16, 2018

Twitter Company Email Addresses Why It’s #BreakingMyTwitter

Sarah Perez (9to5Mac, MacRumors):

In a company email it shared today, Twitter cited “technical and business constraints” that it can no longer ignore as being the reason behind the APIs’ shutdown.

It said the clients relied on “legacy technology” that was still in a “beta state” after more than 9 years, and had to be killed “out of operational necessity.”

This reads like passing the buck. Big time.

Rob Johnson (tweet):

Our goal is to deliver the best Twitter for you. This year, we’re moving faster towards this goal by focusing on improving Twitter for iOS, Android, and As part of this, we’ve chosen to stop supporting some other experiences. We’ve removed support for Twitter for Apple Watch and Twitter for Mac, we’ve replaced our previous Twitter for Windows app with our Progressive Web App, and today we’re removing support for some outdated developer tools.

We feel the best Twitter experience we can provide today is through our owned and operated Twitter for iOS and Android apps, as well as desktop and mobile We’ve long believed this — we’ve focused on delivering the best experience for our apps and sites for years. Recent feature and settings improvements (many of which are only possible in a Twitter-owned app) include:

John Voorhees (tweet):

I will particularly miss the Stats and Activity view of Tweetbot, which has long been one of my favorites. Twitterrific’s Today view, which was similar to Tweetbot’s Activity view, was removed from sale as a premium feature in July, will stop working when the API changes take effect, and will be retired in the future.

Whichever app you use, the biggest changes are to timeline streaming and push notifications. Twitterrific used to allow you to live-stream your timeline over WiFi, which is no longer possible. Instead, your timeline will refresh every two minutes or so over WiFi or a mobile data connection when the app is running. Tweetbot doesn’t support streaming anymore either, but it too will periodically refresh your timeline when the app is open.

Notifications are more limited as well. Tweetbot and Twitterrific used to allow users to turn on notifications for mentions, direct messages, retweets, quote tweets, likes, and follows, but don’t anymore.

Nick Heer:

I wanted to be fair, so I gave the official client another shot this week. It still isn’t my jam. It isn’t the ads that are a problem — they’re distracting, of course, but they’re a known kind of distraction. It’s something about the app that makes Twitter, as a concept, feel heavy and burdensome. It’s not solely the prompts to follow other accounts, or the strange reversal of the reverse-chronological timeline when a self-replying thread appears, or the real-time updates to retweet and like numbers — it’s a combination of all of those things, and many more. When I use the first-party client, I feel like I’m being played around with for business reasons.

Tweetbot makes Twitter feel light and friendly to me.

Steve Streza:

Twitter was handed a huge developer community itching to build incredible products that only serve its goals. Instead it has been kicking those developers repeatedly and blaming them for being in the way of the boot.

Their blog post on the matter brags about how major features were only available in Twitter’s official apps (which no longer exist on a lot of platforms), ignoring the fact that Twitter and only Twitter ever decided not to build APIs for them, which would immediately be adopted.

And while it’s fine that Twitter wants to replace user streams and site streams with something better, which would get adopted by devs, they’re now drastically limiting it via a paywall that explicitly outprices these apps. @robjohnson doesn’t tell you any of that.

Twitter wants 3rd party clients to die, and all of this posturing about how they “love and respect the time and passion” are simply empty words compared to their actions. What a waste. But most importantly, what a dishonest set of lies from Twitter product.

John Moltz:

We’ve heard your complaints and we think we have a sweet solution. It’s called looking at ads and boosted content from famous people in a non-chronological feed. We think you’re gonna like it.

Dan Moren:

I mean, don’t be coy, @twitter: just acknowledge that you want to strongarm me into using your apps instead of the third party ones that I prefer.

Ed Casey:

“Third party apps let you use twitter without seeing our ads and we like money.”

Cabel Sasser:

Serious question. This is obviously why Twitter doesn’t want third party clients… and it’s fair! But why don’t they just say it? “We need to make money” is so easy but they dance around it. Surely it wouldn’t upset investors, and (some) customers would (maybe) sympathize, right?

Will Cosgrove:

I don’t understand twitter. Just make the API terms force them to show the ads. Done.

I don’t think it’s about ad money.

Paul Haddad:

The sad thing is they did build a service to replace most of this, they just priced access to it so high that it might as well not exist.

For those wondering this is the pricing, each subscription is an account. So a minimum of > $11/account/month.

Josh Centers:

My guess is that Twitter isn’t getting rid of third-party clients because of ads. That’d be easy to fix. I bet they’re planning some truly horrible, rancid shit that everyone will hate. The “reimagined experience.”

Renaud Lienhart:

Unpopular opinion, but: I don’t really care about Twitter’s API removals. My Twitter experience feels mostly the same; I don’t really need streaming and push notifications for it to be useful. As a matter of fact, these non-streaming endpoints feel faster so far.

Previously: Twitterrific Braces for API Shutdown, New Twitter APIs and Pricing, Twitter Shutting Down APIs.

Update (2018-08-17): Guy English:

They think they’re fooling nobody, and being very honest and open. But they are fooling themselves. I think their internal jargon and logic is leaking out. The framework they use internally to run and understand the company is showing and it is at odds with reality.

John Gruber:

Tweetbot makes sense to me — in large part simply because it presents tweets in chronological order. Twitter’s iOS app does none of these things for me. I truly find it confusing. And Twitter no longer even fucking has a first-party native app for the Mac. I don’t want to use a website for Twitter. I want an app.


I already happily pay for Tweetbot; I’d also happily pay Twitter for the privilege of using it. I am convinced there are ways Twitter could make money from people using third-party clients. I am equally convinced that there’s no way Twitter can make one interface that pleases all of its users.

Ricky Mondello:

“hire” [regarding “We’re committed to understanding why people hire 3rd party clients over our own apps”]

Jason Snell:

Yeah, it’s a real mystery about why people want to use third-party Twitter apps. I hope someone finally gets to the bottom of this.

Matt 26:01:

I’d love to know who they’ve asked so far because I don’t recall an update to the official app that has improved things. Even in it’s latest state, blindfolded, gagged and bound, Tweetbot is still better than the official app!

Nick Heer:

Then, the landowner decided to buy one of the nicest apartment buildings on the site. And, slowly, residents of that apartment started to notice little changes being made. It began to receive new amenities, some of which were unavailable to anyone else on the land.

Cam Hunt:

My guess is ads are easy for 3rd party clients to display. All the user tracking, though? Not something they want to publicly disclose or have 3rd party clients implement

Tim Schmitz:

Totally agree. The most obvious reason that @Twitter wants everyone to use their official app is so they can do all sorts of creepy tracking with it. (Hint: Think Facebook.)

Josh Centers:

Here’s an example of why people are so mad at Twitter. For years people asked for a paid tier. Like $10 a month and you get full API access and verification or whatever. Twitter said no, we don’t want to charge for the service. But they do!


People get angry when you lie to them constantly and act like they’re stupid. It’s just that simple.


I’ll say this: the official iOS app is way better than it used to be, and is perfectly serviceable on its own merits. But like @gruber said: one size doesn’t fit all.


And I don’t understand people who take Twitter’s side here. For one thing, they haven’t actually presented a side.

Eric Schwarz:

So, I tried the official Twitter client again since I only have fallen back to it for search here and there…

After a few minutes of use, no wonder people are so meanspirited on here. It’s frustratingly annoying, clunky, and you can’t find your place ever.

Ken Ferry:

I kinda take them at their word, actually. A public API will absolutely slow down your development, keep you from breaking assumptions to move things forward, etc. It may be worth it, goodness knows I love a good API, but it’s a major thing to do

Steven Sinofsky:

Reason 1️⃣. The obvious answer is that it is pretty impossible to innovate in an end-user experience while constantly trying to maintain an API usable by others. This is sooo counter-intuitive to technology people.


Reason 2️⃣. Twitter has experience problems to solve and those will only get solved by FE/BE changing together. Pick you favorite twitter challenge (toxicity, spam, bots, edit button, etc.)…

While any one can easily be imagined as an API/protocol that isn’t the point.

See also: MacRumors.

Update (2018-08-21): Matt Henderson:

1. Over the years, I’ve spent orders of magnitude more time in Twitter, than Facebook. The reason is the simple experience of being able to read what people I follow have to say, when they say it.

2. The best experience has always been 3rd party clients; in particular for me, @tweetbot. Over time, the native Twitter interface has tended towards that of Facebook.

3. In the native experience, the algorithmic feed killed the very essence of what Twitter is. And it doesn’t end there. I’m interrupted with proposals for people to follow, trending shit, tweets from people I don’t even follow…

4. As a Mac user, I have to use a web browser to experience native Twitter, since they killed their Mac app.

So the very last thing I’d want to do nowadays, is visit the native Twitter experience.


7. Instead of just saying Twitter depends on ad revenue, and just like Facebook, needs all its users in the native environment, so algorithms and AI can attempt to maximize my engagement and learn as much as possible about me…


8. The people at Twitter claim this is all in my best interest, in order to provide me with the “best experience possible”. That dishonesty is what drives me to hope that one day a competitor can displace them.

See also: Dave Mark.


You know what I just realized? This annoying behavior of breaking up a thread by quote tweeting, which makes it impossible to follow, was likely started by people using 3rd party clients. Because those clients don’t show context.

Real twitter doesn’t just show a new tweet from a thread in your timeline, it shows you the thread.

I was sympathetic, but breaking up threads by quote tweeting is the worst part of twitter. So I’m declaring opposition to third party clients because they’re #BreakingMyTwitter

Matt Drance:

A lot of the tension Steven describes in this thread is real. The problem is that very, very few sticky evolutions of the platform actually came from the start out of Twitter HQ. It’s like blowing the entrance to the only known gold mine in town just because it’s not yours.

Josh Centers:

Twitter has spent years fighting the third-party clients the company once encouraged.

Brent Simmons:

There is no scenario where the Twitter we loved in 2008 comes back.

Even if it were sold to some entity with energy, resources, smarts, and good intentions, it’s too late. It has celebrities with millions of followers. It has the president. It has millions of accounts using it for unlovable purposes.

It’s never coming back, and using your emotional energy hoping it comes back is a waste.

Matt Drance:

Twitter started for me as a chat room, then it became a tech/work bulletin board, then it became my primary news source and personal/political boundary stretcher. The first two are basically gone, the last two are getting harder to filter but I’m still dealing for now.

Update (2018-08-22): Wojtek Pietrusiewicz:

Third party clients didn’t invent the quote tweet. Twitter did.

Sarah Perez:

Twitter tried to downplay the impact deactivating its legacy APIs would have on its community and the third-party Twitter clients preferred by many power users by saying that “less than 1%” of Twitter developers were using these old APIs. Twitter is correct in its characterization of the size of this developer base, but it’s overlooking millions of third-party app users in the process. According to data from Sensor Tower, six million App Store and Google Play users installed the top five third-party Twitter clients between January 2014 and July 2018.

Jonathan Mann (via John Gruber):

So, @danielpunkass asked for a song about Twitter’s FU to 3rd party folks.

Happy 20th Launch Anniversary, iMac

Juli Clover (via Jon Gales):

On August 15, 1998, Apple officially released the first iMac, the candy-colored gumdrop-shaped iMac G3, launching a desktop machine that has continued to be updated and revised over the years.


Apple’s first iMac, which sold for $1,299 at launch, came equipped with a 233 - 700MHz PowerPC 750 G3 processor, 4GB of storage, a 15-inch CRT, a CD-ROM drive, and an ATI graphics card, components that don’t sound impressive today but made for a powerful, well-rounded machine, that, in combination with the design, made the iMac a best seller.


Since the iMac G3’s 1998 debut, Apple has introduced several revisions to the desktop machine, launching design revisions in 2002, 2004, 2007, 2009, 2012, and 2015.

See also: ATPM 4.08 and 4.09.

Update (2018-08-17): Samuel Axon:

Ars Technica first launched only a few months after the original iMac. We’ve covered the machine over the years in news, reviews, and analysis as it has evolved into numerous forms. The mantle of Apple computer reviewer has passed from person to person over the years—Eric Bangeman, Jacqui Cheng, Lee Hutchinson, Andrew Cunningham, myself, and others interspersed. Just like you, we’ve all had different takes on Apple’s priorities.

For a trip down memory lane, we’ve dug up a selection of reviews and photos from those reviews, ranging from the introduction of aluminum in 2007 to last year’s iMac Pro.

Pocket’s 30M Users Are Great for Publishers

Felix Gillette (via Hacker News):

Mozilla Corp., maker of the open-source Firefox browser, bought Weiner’s 22-employee company last year for a sum neither party would disclose. The latest versions of Firefox prominently display by default a Pocket save-for-later button at the top of the browser. In the U.S., Canada, and Germany, users who open up a tab on Firefox see a carefully tended, steadily updated menu of recommended Pocket links.


Pocket’s basic version is free; paid subscriptions, starting at $4.99 a month, cut out ads and boost storage space.


Pocket is expanding its marketing of ads—stories and videos publishers can pay to place alongside the staff-recommended ones. The Wall Street Journal recently began paying to promote a rotating selection of evergreen articles on Firefox, within a handful of Pocket newsletters, and within the Pocket app, says Paul Montella, the Journal’s global digital sales manager.

Previously: Instapaper Relaunches Premium Subscription.

Apple Disputing Real Estate Assessments

Catherine Ho (via Ryan Mac):

In the Bay Area, Genentech and Apple are particularly aggressive in opposing tax assessors — elected officials who determine the value of property for tax purposes. Both companies are leading years-long efforts to recoup tens of millions of dollars they say they’ve overpaid in taxes on buildings, land, lab equipment, computers and other items.


There is nothing illegal or unethical about appealing assessments. Companies are entitled to contest property assessments they believe are done improperly or inaccurately. But the tactics taken by Genentech, Apple and other large corporations, county assessors say, border on abusing the system.


Some claims reflect extreme differences in estimated values. In one appeal filed in 2015, Apple said that a cluster of properties in and around Apple Park in Cupertino that the assessor valued at $1 billion was worth just $200. In another, property that the assessor valued at $384 million was, in Apple’s view, worth $200, according to an appeal application.

Hopefully the story is more complicated than that, because that sounds absurd even if the buildings are empty.

Previously: The Paradise Papers, Apple, Ireland, and the EU.

Wednesday, August 15, 2018

Inside the iPhone Repair Ecosystem

Juli Clover (tweet):

There’s a thriving market for unofficial, aftermarket iPhone parts, and in China, there are entire massive factories that are dedicated to producing these components for repair shops unable to get ahold of parts that have been produced by Apple.

The entire Apple device repair ecosystem is fascinating, complex, and oftentimes confusing to consumers given the disconnect between Apple, Apple Authorized Service Providers, third-party factories, and independent repair shops, so we thought we’d delve into the complicated world of Apple repairs.


Looking at the iPhone repair ecosystem holistically, there’s a disparity between what repair shops want and what Apple is offering. It’s a fascinatingly complex situation where all involved parties feel their way is the better way, and it’s easy to comprehend why.

Previously: Apple Sued an Independent iPhone Repair Shop Owner and Lost, Apple Fighting New “Right to Repair” Legislation.

Update (2018-10-26): Alex Shprintsen:

Apple often overestimates the cost of repairs to its products and threatens third-party shops who are willing to fix them for a fraction of the price, a CBC News investigation has learned.

Customers who enter an Apple Store with a seemingly minor hardware problem, such as a flickering screen, are often faced with a large bill because they are told they need to replace major parts of the device.


CBC News used a hidden camera to verify reports that Apple customers are often told their malfunctioning computers are not worth fixing, even when minor repairs could remedy the problem.

Continued Mac Bluetooth Problems

Nick Heer:

I swear the Bluetooth drivers in MacOS went to hell somewhere around Sierra and haven’t recovered, even in Mojave. Both my Magic Trackpad 2 and old-style wireless keyboard lag. I know I’ve complained about this before but they are input devices, and ought to work perfectly.

Max Seelemann:

How can a Mac randomly forget it has Bluetooth? Overnight! During sleep mode! Even a restart did not help. Had to do a parameter reset? wtf.

I continue to have problems with spontaneous Bluetooth disconnections and with mouse lag that forces me to reboot. It does seem to help to either turn off Bluetooth on other Macs in the same room or to disable Handoff, but neither of those workarounds should be necessary. Everything worked fine for me until one of the early macOS 10.12.x updates.

Previously: macOS 10.13 High Sierra Released, My 2017 iMac, Sierra Bluetooth Problems and the Logitech K811 Keyboard.

Update (2018-08-15): When my Magic Mouse disconnects, I can often get it back by pressing the ToothFairy hotkey.

Update (2018-08-16): John Voorhees:

I started experiencing lag and disconnects about a month ago too and it’s maddening.

Dan Masters:

When I still I had my MacBook, I experienced similar issues with my AirPods as well.

Jake Bernstein:

Oh good it’s not just me.

Peter Cao:

While not as severe as described here (Magic accessories work perfectly, actually), but my BT audio devices have a tendency to cut in and out. Hoping this is getting worked on and gets fixed in Mojave!

Update (2018-08-17): Marco Arment:

I get frequent Bluetooth disconnections.

Doing everything right: Apple trackpad, Apple mouse. iMac first, then iMac Pro with another set of the same peripherals, never paired to another Mac.

Now they disconnect in space gray.

Been going on since around Sierra, like others report.

My only theory is that nobody important at Apple uses a Magic Mouse or Trackpad.

I have no other explanation for how bad it’s been, for how long, even on such high-end models.

Many people report similar issues in the replies to his tweet.

Update (2018-08-23): Colin Cornaby:

I wouldn’t call mine frequent, but they happen enough for me to notice and be annoyed by when they happen.

Update (2018-09-03): Nick Heer:

An update on this tweet: it’s actually even worse in Mojave. When I wake my computer, I have to wait a good minute or so before the keyboard is usable and does more than repeat the same (delayed) key twenty times.

Update (2019-01-01): Tom Nelson:

This is an irritating issue with Bluetooth devices, such as a wireless Bluetooth keyboard, trackpad, or mouse that suddenly disconnect. After a short time, they reconnect and work normally, that is, until the disconnect happens again.

As of 10.14.2, there doesn’t appear to be any workaround, other than to put up with it.

Update (2019-04-18): Marco Arment:

My macOS 10.15 wishlist, in its entirety:

- Marzipan

- Fix the bug that causes Apple’s Bluetooth mice and trackpads to randomly disconnect

Advantages of Android


Being able to manage my home screen. After a while on iOS you basically have to give up and use Spotlight to find anything because every app is just dumped somewhere on your home screen, and moving one app moves every other app.

Being able to comfortably hold my phone. I now pick up my phone and use it more for browsing, Twitter, YouTube, books, and comics than my I do my iPad. That was never the case with iPhones after the 5S.

iPhones since then were designed to sell cases, not be comfortable to hold.

I can spend an hour browsing the Play Store and continue to find new and interesting apps. I get bored in the App Store after five minutes. I can also browse the Play Store from my MacBook or iPad and remotely install apps to my phone.

My AirPods work better on my Android than they did on my iPhone. I get better range and the constant audio breakups I experienced with my iPhone have been greatly reduced. Switching connected devices is much faster and doesn’t require digging through the Settings app.

On the other hand, Matt Birchler:

The iOS App Store has really spoiled me for all other app platforms. Nothing even comes close. Play Store is second, I guess, but it’s by a huge margin. And now that I have browsed the Microsoft Store for a while, I can now promote the Mac App Store from most useless app store.

Previously: Android Oreo Review: An iOS User’s Review, Why Apple Should Copy the Android P Notification Shade, Switching to an iPhone SE.

Google Tracks Your Movements, Like It or Not

Ryan Nakashima (Hacker News):

Even with Location History paused, some Google apps automatically store time-stamped location data without asking. (It’s possible, although laborious, to delete it .)

For example, Google stores a snapshot of where you are when you merely open its Maps app. Automatic daily weather updates on Android phones pinpoint roughly where you are. And some searches that have nothing to do with location, like “chocolate chip cookies,” or “kids science kits,” pinpoint your precise latitude and longitude — accurate to the square foot — and save it to your Google account.

Josh Centers:

If you’re perturbed by all this, you can disable both Location History and Web & App Activity, but doing so prevents Google from storing search history, potentially making searches and other Google tools less useful. You can also delete your previous location history and search activity. iOS users have another way to avoid sharing such data with Google. Go to Settings > Privacy > Location Services, where you can fine tune when particular Google apps are allowed to access your location.

John Gruber:

The saga of Apple Maps’s launch is long and complicated, but Google’s desire to track our location was at the heart of it.

Update (2018-09-26): Jonathan Mayer (via Hacker News):

Lame: if you want to save a home or work address in Google Maps, you now have to allow activity tracking throughout Google services.

Tuesday, August 14, 2018

Finding What Code Triggered a Log Message

Daniel Jalkut:

What this does is add a series of commands that will be run automatically by lldb whenever breakpoint 5 (the one I just set) is hit. This applies to any of the 634 locations that are associated with the regular expression I provided. When the breakpoint is hit, it will first invoke the “bt” command to print a backtrace of all the calls leading up to this call, and then it will invoke the “continue” command to keep running the app. After the app has run for a bit, I search the debugger console for “!!!” which I remembered from the original warning. Locating it, I simply scroll up to see the backtrace command that had most recently been invoked[…]


Next time you’re at a loss for how or where something could possibly be happening, consider the possibility of setting a broad, regular expression based breakpoint, and a series of commands to help clarify what’s happening when those breakpoints are hit.

2 Years of App Subscriptions 2.0

Kif Leswing (via Dan Masters):

Developers, Apple said, needed to realize the business model of apps was changing. Successful apps tended to focus on long-term engagement instead of upfront cost. Indie developers who wanted to capitalize on this needed to move to a subscription model, as Apple had made possible in the past year in a splashy announcement.


10 years later, the App Store isn’t new anymore, and Apple continues to tweak its rules so that developers can create sustainable business models, instead of selling high-quality software for a few dollars or monetizing through advertising. If Apple can’t make it worthwhile for developers to make high-quality utilities for the iPhone, then the vibrant software ecosystem that made it so valuable could decay.

Apple’s main tool to fight the downward pricing pressure on iPhone apps is subscriptions.


Still, even with some hammer-makers finding huge success, the majority of Apple’s subscription revenue doesn’t appear to come from apps that are specific tools — instead, it’s coming from big content businesses like Pandora, HBO, and Netflix.

“My suspicion is that a good portion of those subscriptions are content subscriptions,” independent Apple analyst Neil Cybart wrote in May.

I love how this is framed as Apple enlightening developers that one-time purchases are not a sustainable model. Developers had been trying to tell Apple this since day one of the App Store, and even when Apple did add subscriptions it limited which apps were allowed to use them.

Two years later, at least judging from my iPhone’s home screen, the transition to subscriptions has barely begun. There remains a high implementation hurdle.

Previously: Productivity Apps and Subscription Pricing, Pre-WWDC App Store Changes.

Update (2018-08-15): Steve Troughton-Smith:

Apple is without a doubt preparing for a world without paid-upfront apps. There are a lot of developers who are not gonna like where things are leading[…] IOW, the App Store was so big and impactful that it’s going to ruin the consumer software industry’s business model forever. As a user, I would love a Netflix-style model for apps. As a developer, this is horrifying

Joseph Slinker:

Apple created a self fulfilling prophecy in not allowing paid apps to have a trial period. If Apple added the option for people to try paid apps before they bought them, I would predict a hug change in this trend.

John Gruber (tweet):

Up front paid apps are going the way of the dodo. Whether you think that’s good or bad, it doesn’t matter. That’s where things are going.

Riccardo Mori:

So, Apple is pushing the subscription model for apps... This may be the future, but it’s not going to be my future as a customer. I have no problems paying a bit more for quality apps, but either it’s pay upfront, or it’s highly unlikely I’ll subscribe to an app. Sorry, devs.

Emilio Pavia:

developers should publicly push Apple to deliver a reliable sandbox for developing subscriptions

Bob Burrough:

The article glossed over an important question. It said 15% of App Store revenue was paid apps, but then started talking about subscriptions. The question is “what constitutes the other 85%?” I think in-app-purchase is the predominant revenue driver.

Marc Edwards:

Yep, we all know free-to-play games make up the bulk of the revenue. The question is: What kind of platform do they want? These kinds of changes could easily decimate what’s left of the indie scene.

Dan Counsell:

It’s a shame Apple is pushing so hard on this, I understand why, but it’s a shame. The main winner from this will be Apple, not customers, and certainly not developers. Apple comes first, customers second, developers third, that’s the way it’s always been

Rory Prior:

What they are perhaps missing is that it’s the small devs that keep the Mac relevant for a lot of people. You can run the big dev’s apps on Windows and save a fortune on hardware and avoid a lot of the headaches post 2011 Apple has been inflicting on its users.

It’s no surprise that paid-upfront isn’t working well, since the App Store doesn’t allow free trials or paid upgrades. But it’s not really designed to support subscriptions well, either. They are time-consuming to implement and difficult to test. They don’t work with Family Sharing. You can’t transfer your app to another developer if you use a subscription.

And what if you already have an app and want to transition it to a subscription model? Unless you want to take away the old version that your existing customers are using, you have to create a whole new SKU. You lose your reviews and ratings, and there’s no indication to customers that the new version is available.

Previously: Panel Discussion on Moving to Subscriptions, Ulysses Switches to Subscription, Testing Auto-Renewable Subscriptions on iOS.

Update (2018-08-16): Gareth:

Subscriptions have to have high value, and deliver someone unique. I subscribe to Office 365 (I just need it) and to Adobe CC photography. Both are good deals. I’m not going to subscribe to a podcast app. Same as Netflix and Amazon Prime. Both worth it.

Bryan Jones:

Exactly. So Apple attempting to convince “utility” apps that subscriptions “are the present” is just dumb. They’re doing that because they don’t have an actual answer to the monetization problem. Nobody does...yet.

Nick Lockwood:

Up-front purchase doesn’t work well for supporting apps due to maintenance. Paid feature releases also fall down once an app is feature complete.

Update (2018-08-17): Michael Love:

missing in much of the discussion of app monetization is that in the good old days, we didn’t really need to worry as much about apps’ recurring revenue because everything kept working for years without being updated.

This phenomenon of developers being encouraged to spend a lot of time/money updating their app simply to keep it working on the latest OS / form factor / whatever is really something specific to the mobile era.

Lenovo’s New ThinkPad P1

Peter Bright (via Michael Love):

The ThinkPad P1 looks like a 15-inch Ultrabook, 0.7 inches thick and under 4lbs, but inside, it has a mobile Xeon processor, up to 64GB of ECC RAM, and as much as 4TB SSD storage. A discrete GPU, up to the Nvidia Quadro P2000, drives that display (either 1920×1080 300 nit, 72 percent of NTSC, or 3840×2160 400 nit 10-bit-per-channel supporting 100 percent of the Adobe color gamut and touch). It has a good selection of ports—two Thunderbolt 3 USB Type-C, two USB 3.1 generation 1 Type A, HDMI 2.0, mini-gigabit Ethernet (with a little dongle), 3.5mm headset, and microSD, and it has 802.11ac and Bluetooth 5.

And they also have one with a 17-inch display and 128 GB of RAM. No price or shipping date yet, though.

Previously: MacBook Pro 2018, Dell Precision 5520.

The Struggle for Twitter Alternatives

Matt Birchler:

The two main ones I see are and Mastodon. is the more popular one right now, it seems, but Mastodon has its fair share of loyal fans. I personally have accounts with both other services, but I don’t really use them reliably. Mastodon because I can’t find anyone on there, and because I don’t like any of the iOS apps available for it.


It’s incredibly hard, and involves a good deal of luck, but if something is going to be a real Twitter successor/alternative, it needs to first and foremost find a way to get a critical mass of people using it. That can be a critical mass of a Twitter sub-culture, but it needs to be some group that moves in mass. App.Net get “Tech Twitter” to move, but it failed to get more than that (or to make them actually leave Twitter), but I don’t see that happening with Micro.Blog or Mastodon yet. I don’t know how you do that, but I think that’s how you get the momentum.

It seems unlikely to happen, but I would like a single app that supports multiple networks and integrates the timelines, removing duplicate posts, etc. Otherwise, there’s just a lot of overhead to trying the other ones, since I don’t feel I can leave Twitter.

James Thomson:

I’ll say this about Mastodon, I’ve seen a pretty large percentage of the people I follow setting up accounts in the last 48hrs.

Manton Reece:

Yep, different approach but some similarities. M.b is more about owning your content (using blogs and domain names) and Mastodon is more about Twitter feature parity and federation. Both have answers for curation. But we’ve been purposefully avoiding some Twitter features.

Eugen Rochko (via David Chartier):

A year ago I wrote about Mastodon’s improvements over Twitter’s lacking protections against abuse and harassment. Development in that area has not been standing still, and it’s about time we do another comparison.

Want to try @MastodonProject but not sure where to start?

Here are some links to help[…]

Previously: Twitter Shutting Down APIs, Twitter’s Weeds, Gab App Rejected by Google (and Apple), Is Shutting Down.

Update (2018-08-16): Kev Quirk:

I’ve mentioned Mastodon on a number of occasions on this blog. It is the only social media platform that I use, but for a new user it can be fairly confusing, as it doesn’t work like other social media sites.

A new member of my Mastodon instance, Fosstodon, wrote their first post stating that they’re not really sure how it all works on Mastodon. Being the dutiful admin that I am, I pinged them back to let them know that I would find decent guide an post a link. To my surprise, I couldn’t find a decent guide anywhere, so I decided to write one.

Ethan Zuckerman (via Hacker News):

Mastodon is different. It’s an open source software package that allows anyone with an internet-connected computer to set up an “instance”. The server administrator is responsible for setting and enforcing rules on her instance, and those rules can vary — sharply — from instance to instance. Each server has its own namespace. I’m @ethanz on, but if you want to be @ethanz on, no one’s going to stop you. In this sense, Mastodon is less like Facebook and more like email — you can have your own address — and your own acceptable use policies — on one server and still send mail to a user on another server.


Needless to say, not every Mastodon administrator is excited that the protocol is being used to harbor lolicon. The terms of service for — the fifth largest Mastodon instance, and the largest based in the US — now explicitly prohibit “lolicon, immoral and indecent child pics”.

Mark Hughes:

If you’re picking an ActivityPub instance, be aware that is a giant possibly-hostile mess like Twitter, and not really a “community” like many other instances. Pick a smaller instance, read the timeline on their instance’s front page, and make a more informed choice.

Update (2018-08-21): Simon Willison:

How about if, instead of ditching Twitter for Mastodon, we all start blogging and subscribing to each other’s Atom feeds again instead? The original distributed social network could still work pretty well if we actually start using it

Matt Drance:

I think the people flocking to Mastodon are in fact looking for 2008-2010 Twitter, which was mostly an in-crowd of tech geeks.

Apologies, but this is precisely I haven’t run off to Mastodon. 2006-2010 Twitter was cool, but I don’t miss it. The thing Twitter has brought me since then — stories and views from diverse, often marginalized people, who I would otherwise never have met — is still here.

Marco Arment:

I wish people the best with it, but it solves problems I don’t have.

If I want to talk to my friends, I have iMessage and private Slack groups.

If I want to broadcast to an audience, I want the largest one possible, and that’s here for me.

Maybe that’ll change someday?

Monday, August 13, 2018

Henrik’s Favorite Command-Line Shortcuts

Henrik Warne (Reddit):

Most people I have worked with use both arrow-up and ctrl-r when repeating commands. However, very few are familiar with escape-dot and repeating commands from the history list. Since I use all four ways very frequently, I thought I would write a post to spread the word.

If you have “Use Option as Meta key” checked in Terminal’s preferences, you can also use Option-Period, which is much easier to type, to insert the last argument of the previous command.

The p modifier to prevent executing the command recalled from the history was new to me.

Previously: Things I Wish I’d Known About Bash, Mac Terminal Tips, Craig’s Terminal Tips.

Group FaceTime Delayed

Juli Clover:

Apple today removed Group FaceTime from the latest iOS 12 and macOS Mojave betas, which were released this morning, and has instead decided to release the feature at a later date.

Stephen Hackett:

We need a word for this. It’s happened to several big features in recent years, including AirPlay 2 and Messages in iCloud.

Previously: iOS 11.4 and Messages in iCloud, Pre-Announcing AirPower, HomePod Delayed.

Update (2018-08-14): Adam Engst:

Frankly, we’re not surprised. In testing of the current betas with TidBITS and Take Control authors, Group FaceTime was nowhere near ready for primetime.

John Gruber:

These delays are disappointing, yes, but I actually prefer this policy of holding off on new features until they’re ready rather than shipping them in a buggy state just because it’s September and time for new iPhones to be released.

John Gruber:

Think of WWDC less as “Here’s what’s coming in our point-oh releases this fall” and more “Here’s our OS roadmap for the next year”.

This is fine, and I’m all for holding back software that isn’t ready. But Apple is certainly not presenting the schedule this way at WWDC, so instead it looks like they’re repeatedly misestimating with their tentpole features.

Previously: Apple Delays Features to Focus on Reliability, Performance.

American Computer & Robotics Museum

Andromeda Yelton:

I have an hour or two to kill in Bozeman so I found this hole in the wall computer history museum This is not what I expected.

The museum’s site is here.

Notes on Google’s Site Reliability Engineering Book

Dan Luu:

I like this book a lot. If you care about building reliable systems, reading through this book and seeing what the teams around you don’t do seems like a good exercise. That being said, the book isn’t perfect. The two big downsides for me stem from the same issue: this is one of those books that’s a collection of chapters by different people. Some of the editors are better than others, meaning that some of the chapters are clearer than others and that because the chapters seem designed to be readable as standalone chapters, there’s a fair amount of redundancy in the book if you just read it straight through. Depending on how you plan to use the book, that can be a positive, but it’s a negative to me. But even including he downsides, I’d say that this is the most valuable technical book I’ve read in the past year and I’ve covered probably 20% of the content in this set of notes. If you really like these notes, you’ll probably want to read the full book.

Friday, August 10, 2018

Redesigning Siri and Adding Multitasking Features to iOS

Kévin Eugène (via Mitchel Broussard):

The first part of this concept is focused on Siri. The idea here is not to create new commands, rather to display existing vocal requests that work well (like « Find me a good restaurant nearby » or « Get me pictures of Japan I took last year ») in a different way so they could be more useful to the user.

In iOS Mogi, Siri has been designed around a concept I call parallel help. The idea is to have a vocal assistant that is non-intrusive (it won’t take the whole screen like it does today), context aware, and can do things in the background for the user while they are doing something else.

Exporting Apple Notes to Markdown

Felix Krause (tweet):

At some point I noticed how some notes are not properly synced. After further investigation, turns out, my notes haven’t properly synced in months, and my iPhone and my 2 Macs are completely out of sync.

But hey, Apple of course follows GDPR, and they offer a great way to export notes

To copy notes, open the Notes app on your Mac or at Copy the text of each note and paste it into a document on your computer, such as a Pages or TextEdit document. Save the document to your computer.

With over 2,000 notes, this seems slightly inefficient.

So he wrote a Keyboard Maestro macro that pastes into Bear.

The Notes app is AppleScriptable, but it only lets you access the HTML of the notes, not the attachments. Previously, people have accessed the Notes database directly using SQLite, but Krause says this is no longer possible due to encryption.

Notes also has a non-scriptable Export command that creates PDFs, but it can only be used on one note at a time.

Shutting Down the Berkman Center Blogs


In 2003, the Berkman Center for Internet & Society (now the Berkman Klein Center for Internet & Society) began an unusual experiment: we launched a blogging platform. That seems quaint today in the age of ubiquitous access to services that facilitate the sharing of user-generated content. But it was an uncommon achievement at the time.


Our platform no longer offers a unique opportunity for online engagement. And it is technically antiquated when compared with contemporary, streamlined platforms that offer more advanced tools for social interactions.


At this point, for all of the reasons set out above, we feel that the time for hosting content from non-Harvard-affiliated bloggers on Harvard servers has passed. We are giving non-Harvard users with active blogs the opportunity to export existing content over the coming weeks. Those users will then be transitioned off the platform.

Dave Winer:

I heard about this just now. Harvard’s was the first academic blog hosting service in the world. Apparently they’re going to take the archive offline. There’s a lot of value and history there. Please let’s discuss before throwing it away.

Throwing out this archive is like throwing out an academic journal. Why would a university do that? One of the reasons we did this work at a university was the hope/expectation it would survive over time. Only 15 years later, they want to throw it away?

The PSPDFKit Story

Swift by Sundell (tweet):

Peter Steinberger, creator and CEO of PSPDFKit, joins John to talk about building and maintaining a large framework project, how PSPDFKit came to be, how his team works with Radar, and all the challenges and excitement that comes with running a business based on a closed source SDK.

For the longest time, I assumed that the “PS” was for “PostScript,” but it’s actually just namespacing using Steinberger’s initials.

Thursday, August 9, 2018

Apps Removed in Ban of Gambling-Related Apps

Tim Hardwick:

In an attempt to crack down on gambling-related apps in the App Store, Apple has today implemented a new App Review policy for individual developers, but many apps that are being banned as a result appear to have very little to do with gambling at all.


The reason that apps unrelated to gambling are being removed appears to be because the ban currently applies to any apps that allow users “unrestricted web access”.

Talk about amateur hour. Apple didn’t just reject new submissions of apps, but rather it removed apps that were already in the store.

Simon B. Støvring:

Today Apple removed my 3 years old app for browsing and sending GIFs from the App Store. The reason? They no longer allow gambling apps submitted by individual developers 🤷‍♂️

Wojtek Pietrusiewicz:

Our newsstand/news/magazine app just got removed from sale from the App Store 24 hours after our 3.0 update was approved. Reason given: gambling/fraudulent activity. We publish a magazine — nothing to do with gambling or fraud at all. 😞😢😲😱

His app is now back.

Patrick McCarron:

Wow Apple pulled my almost exactly 11 year old Blackjack 21 game from the AppStore due to it simulating gambling AND me being an individual developer.

Not sure if I want to incorporate at this point to put it back in there as I never had time to update it fully for iOS 11+.

Apple today confirmed it has removed “many” illegal gambling apps, and developers distributing them, from its App Store in China.

Under fire from Chinese state media, Apple Inc. said it removed illegal gambling apps from its App Store in China—a move that could help quell the latest challenge for the American tech giant in its most important market outside of the U.S.

Apple Users “Most Appealing” to Cybercriminals’ Online Scams

Jonny Evans (via Thomas Reed):

Top10VPN’s latest Dark Web Market Price Index suggests Apple users are becoming the most popular targets for online scammers. In March, the index reported that Apple ID data trades hands at $15 per account.


One thing the report does suggest is that rather than platform-based attacks, cybercriminals are moving to trust-based attacks to target the valuable Apple demographic. They work to persuade users to click on innocuous-seeming pages, persuade them to enter banking details on spoof banking pages, and so on. Apple is wise to this, and to help protect customers, it recently introduced new phishing protection tools for Macs and iOS devices.

Google Maps’ Influence on Neighbourhood Names

Jack Nicas:

For decades, the district south of downtown and alongside San Francisco Bay here was known as either Rincon Hill, South Beach or South of Market. This spring, it was suddenly rebranded on Google Maps to a name few had heard: the East Cut.

The peculiar moniker immediately spread digitally, from hotel sites to dating apps to Uber, which all use Google’s map data. The name soon spilled over into the physical world, too. Real-estate listings beckoned prospective tenants to the East Cut. And news organizations referred to the vicinity by that term.


Yet how Google arrives at its names in maps is often mysterious. The company declined to detail how some place names came about, though some appear to have resulted from mistakes by researchers, rebrandings by real estate agents — or just outright fiction.

Via Nick Heer:

Even the area I grew up in, West Hillhurst, is called Upper Hillhurst in Google Maps, which is just north of Westmount, another neighbourhood that doesn’t exist.

Wednesday, August 8, 2018

Patreon Acquires Memberful

Wyatt Jenkins:

At Patreon, we’re building a world-class membership platform that enables creators to own the relationship with their fans. We feel that creators should decide how and when they engage with their fans, where they build their community, and how they run their business. And, for some creators, that also means managing a fully branded membership program on their own website. That’s why, today, we’re thrilled to announce that we have acquired Memberful, adding a self-service white label membership solution to our growing product portfolio.

Patreon and Memberful share a mission to fund the creative class and we both understand there are a variety of platforms and business models available to achieve that goal. Together, we’ll now be able to offer a wider range of options for building and managing a successful membership program.

Ben Thompson interviews the two CEOs:

Long-time Stratechery members may recall that three years ago — a year into the Daily Update — I ripped out the old buggy membership system and installed a new-to-the-market SaaS product called Memberful. It was one of the best decisions I have made, and over the years I have recommended Memberful to the many folks that have asked me about the software I use to run their own subscription site.

Jason Snell:

I realize that this is a bit inside baseball, but I’ve been using Memberful for the membership programs for both Six Colors and The Incomparable for a couple of years. In fact, the above paragraph describes me perfectly: I didn’t want to use Patreon, I wanted to build two membership programs myself and integrate them directly with my two sites. Memberful let me do that.

Update (2018-08-09): Stephen Hackett:

I wasn’t shocked by the news. Memberful is a great product, but isn’t a huge company. In fact, according to TechCrunch, it has only about 500 paying users. As you may know, I use Memberful here at 512 Pixels, and it’s what powers the Relay FM membership as well. As such, I approach this news with two thoughts.

First, if this lets Memberful continue to grow and expand, that’s good for everyone who uses it. The acquisition does come with a price increase for new customers, and I hope that doesn’t slow growth. A healthy Memberful means it is more likely to stick around and not be absorbed into Patreon.

Firefox’s New DNS Resolution

ungleich (via Rob Griffiths, Hacker News):

With their next patch Mozilla will introduce two new features to their Firefox browser they call “DNS over HTTPs” (DoH) and Trusted Recursive Resolver (TRR). In this article we want to talk especially about the TRR.


When Mozilla turns this on by default, the DNS changes you configured in your network won’t have any effect anymore. At least for browsing with Firefox, because Mozilla has partnered up with Cloudflare, and will resolve the domain names from the application itself via a DNS server from Cloudflare based in the United States. Cloudflare will then be able to read everyone’s DNS requests.

Patrick McManus:

While sophisticated users can turn to cloud-based “open resolvers” that offer better privacy controls than what is available by default from most internet service providers (ISPs), these resolvers rely on the same old unencrypted protocols so ISPs can often intercept data anyway.

Our first effort to upgrade the privacy of DNS is to implement the DNS over HTTPS (DoH) protocol, which encrypts DNS requests and responses. See Lin Clark’s terrific explainer about how DNS over HTTPS can really improve the state of the art.


Firefox does not yet use DoH by default.

Spotlight Parser

Yogesh Khatri (tweet):

This code reads and extracts data from macOS spotlight databases.

Tuesday, August 7, 2018

Masters of Automation 2017 Videos

Sal Soghoian:

The first CMD-D: Masters of Automation Conference was a resounding success!! As a gift from our CMD-D 2017 sponsors – The Omni Group and Jamf - we are sharing the videos from CMD-D 2017. We aren’t promising to always share video footage of CMD-D events, but we are thrilled to make these freely available. It was great to bring together the Apple automation and scripting community!

For 2018, we are excited to announce the CMD-D: Down-Home Scripting Boot Camp – an expanded three days of intensive scripting education. Ray Robertson and I will teach it, with hands-on exercises, and limited size for personal attention. It is designed for someone brand new to scripting, and useful for a scripter who is hungry to know more.

Previously: CMD-D | Masters of Automation Conference.

Castro 3.1

John Voorhees (tweet):

Supertop has released another solid update to its podcast player, Castro. In today’s update, Castro adds file sideloading for Plus subscribers, significantly adding to the app’s utility as general purpose audio player. Subscribers can also pre-select the chapters of a podcast they want to play too.

For plus subscribers, the update adds a ‘Castro’ folder in iCloud Drive. Add an MP3 or AAC file into the ‘Sideloads’ folder, and it shows up in your Castro inbox (or wherever else you designate in settings) ready for playback.

This sounds cool, and I’d like to see iCloud Drive support in Overcast. However, I’m surprised that they are able to make this a premium feature. I thought you weren’t allowed to charge for iCloud access.

Previously: Castro 3’s Business Model.

Instapaper Relaunches Premium Subscription

Instapaper (Hacker News, MacRumors):

To ensure Instapaper can continue for the foreseeable future, it’s essential that the product generates enough revenue to cover its costs. In order to do so, we’re relaunching Instapaper Premium today.

As a reminder, Instapaper Premium is a subscription for $2.99/month or $29.99/year that offers the following features[…]


Additionally, today we are bringing back Instapaper to European Union users. Over the past two months we have taken a number of actions to address the General Data Protection Regulation, and we are happy to announce our return to the European Union.

Previously: Instapaper Is Going Independent.

Update (2018-08-08): Damien Petrilli:

And the subscription is now outside the App Store :)

Monday, August 6, 2018

What Can Bike Sharing Apps Teach Us About Mobile On-boarding Design?

Luke Wroblewski (tweet):

The designer thinks: “I know what an on-boarding flow is. It’s a splash screen, a sign-up screen and a tutorial people can swipe through.” The resulting customer experience in filling in form fields, scrolling through 17 screens of terms & conditions (yes, you are required to scroll through all of them), granting location permissions (because “background location-tracking is required”), and skipping through 6 tutorial screens featuring critical knowledge like “Welcome to Hello-Bike.”

After maneuvering through all this, I found out there were no docking stations in central Amsterdam because of government regulation. So I actually couldn’t use the Hello-Bike service to ride to my hotel. Starting the design process from the perspective of the customer would likely have revealed the importance of communicating these kinds of constraints up front. Starting by selecting design patterns would not.


It is worth noting, however, that Spin provides much better explanations for its permission requests. When requesting location permissions, Hello-Bike told me: “background-location tracking is required” and Jump explained I could help them “gather data about how electric bikes affect travel patterns.” Spin, on the other hand, explained they use location to help me find pick-up and drop off points. They also explained they needed camera permissions so I can scan the QR code on a bike to unlock it.

iOS 12 Relies on Downloaded Lua Code

Guilherme Rambo:

Fun fact: some of the predictive stuff on iOS 12 is based on Lua code downloaded from Apple’s servers, which means the behavior can be updated without the need for a full OS update

Via Alexis Gallagher:

Surprising on a few levels, in increasing order:

  1. That iOS uses Lua to define ad hoc logic for some predictive systems ✅
  2. That it downloads the code separately from OS updates 😮
  3. That the code ships unobfuscated with comments. 🙀

Of course, third-party apps are not allowed to do this.

Previously: Executable Code in Educational Apps, Editorial 1.1.1 Rejected From the App Store, Apple Rejecting Apps That Use Rollout, Pythonista in App Store Peril, Briefs Rejected From the App Store, Again.

Update (2018-08-07): McCloud:

In a past life I spotted Apple using Lua in other places.

See also: Hacker News, Reddit.

RapidWeaver Sandboxing and Temporary Entitlements

Isaiah Carew:

You would not believe the amount of blood, sweat, and tears that went in to making RapidWeaver sandbox friendly.

To have the app store pull a Vader and change the deal afterwards is… well… it’s just crappy.

Dan Counsell:

What a surprise, Sandboxing is costing us countless days of development time and release setbacks as usual. Sandboxing is not a trivial task for pro apps with plugins. The App Store was not designed to support such apps.

Previously: Mac App Store Sandboxing, IAP Trials, Multiplatform Services.

Apple Removes Infowars From Podcast Directory

John Paczkowski and Charlie Warzel (MacRumors, Hacker News):

Apple moved first, striking the entire library for five of Infowars’ six podcasts from its iTunes and Podcasts apps. Among the podcasts, which were removed from Apple’s iTunes directory, are the show War Room and the popular Alex Jones Show podcast, which is hosted daily by the prominent conspiracy theorist.

After that, platforms that have come under far more scrutiny for hosting Jones and his content — Facebook and YouTube — quickly followed suit after long and tortured deliberations. Spotify also did the same.

Facebook (via Valentina Palladino):

We believe in giving people a voice, but we also want everyone using Facebook to feel safe. It’s why we have Community Standards and remove anything that violates them, including hate speech that attacks or dehumanizes others. Earlier today, we removed four Pages belonging to Alex Jones for repeatedly posting content over the past several days that breaks those Community Standards.

BuzzFeed started off talking about the conspiracy theories and that Jones “claimed he was delivering news but didn’t deal in facts,” but in all cases the stated reason for removal was hate speech rather than the informational content of the podcasts.

Update (2018-08-07): Manton Reece:

Facebook and YouTube are conflicted about how to handle this because their model is wrong. Unlike podcasts and blogs, which can live at a custom domain and move between hosting companies, videos on Facebook and YouTube are served directly on those platforms. If the videos are blocked, especially by YouTube which controls nearly all video on the web, there’s no obvious migration path away.

John Gruber:

I’m curious if these companies did this in cooperation, or if Apple acted alone and Facebook and YouTube followed in their wake. It sounds like this was Apple acting on its own and YouTube and Facebook followed their lead.

Kif Leswing:

But if the same person were to fire up the Apple App Store and search for Infowars, they’d pull up Infowars Official, a free app that opens up directly into a feed topped with the most recent video of the Alex Jones Show, which can be viewed live, or listened to as background audio.


The Infowars app doesn’t contain back episodes of the Alex Jones Show, meaning you can’t use it to find the content affected by Apple’s decision.

Shoshana Wodinsky:

Following these removals, the Infowars app was flooded with five-star reviews championing the idea of free speech, with titles like “Infowars WILL NOT be silenced.”

Steve Kovach:

InfoWars is now number 4 in the Apple App Store news category, above CNN and Fox News.

Marco Arment:

Overcast quietly removed Infowars from search last week.

Soon, people noticed, the word spread, and now, business is UP.

Enforcing policies against hate speech on your platform is good for humanity AND good for business.

Josh Centers:

Apple doesn’t host podcasts. As far as I know, the Podcasts app doesn’t prevent you from subscribing to anything you’d like. It’s merely a directory, and they decided to not promote certain podcasts.

Marco Arment:

Overcast doesn’t block any feed URLs from being entered manually.

But I care quite a bit if my app is promoting illegal/hate/etc. content in its search and recommendations.

(Not only is that horrible, I’d be risking removal from the App Store.)

John Whitehouse:

In a statement to Media Matters, MailChimp confirmed it has removed the accounts for Infowars, citing “hateful content”[…]

See also: The Outline.

Update (2018-08-08): Jack Dorsey:

We didn’t suspend Alex Jones or Infowars yesterday. We know that’s hard for many but the reason is simple: he hasn’t violated our rules. We’ll enforce if he does. And we’ll continue to promote a healthy conversational environment by ensuring tweets aren’t artificially amplified.

Truth is we’ve been terrible at explaining our decisions in the past. We’re fixing that. We’re going to hold Jones to the same standard we hold to every account, not taking one-off actions to make us feel good in the short term, and adding fuel to new conspiracy theories.

Update (2018-08-09): Juli Clover:

Apple does not plan to remove the Infowars app from the iOS App Store at this time, the company told BuzzFeed News this evening. Apple said that the Infowars app had not violated its App Store guidelines.

Josh Centers:

It’s pretty simple: Apple has no monopoly on podcasts, but an absolute monopoly on iPhone apps. It doesn’t want anyone to call attention to that.

John Gruber:

Assuming Byers’s reporting is solid, there we have it: Apple led the way.

Update (2018-08-10): John Bowden:

Several tweets and videos posted by InfoWars host Alex Jones were removed from Twitter shortly after they were reported on by CNN on Thursday.

More than a dozen videos and tweets from Jones’s account containing content that apparently violated the site’s content policy were deleted less than an hour after the article by CNN’s Oliver Darcy went live.

John Gruber:

I think Apple’s decision to remove Infowars’s podcasts from the iTunes directory but allow their app to remain in the App Store doesn’t hold water.

John Gruber:

I know Apple loves having control over the App Store, but in today’s climate — polarized politics combined with increasing regulatory scrutiny of tech giants — I suspect they don’t want to draw attention to that control.

See also: Accidental Tech Podcast.

Update (2018-08-15): Valentina Palladino:

After holding out for a few weeks, Twitter joined the chorus of social media and tech giants that have punished conspiracy theorist Alex Jones for questionable content. Twitter suspended Jones from his account on Tuesday after he tweeted out a link to a video in which he calls for his supporters to get their “battle rifles” ready for the media and others.

But the catch is that Jones’ ban will last just seven days—the InfoWars host will not be able to tweet or retweet from his personal account during that week. The InfoWars Twitter account has not been affected by this suspension.

Update (2018-08-21): See also: The Menu Bar.

M.G. Siegler:

Twitter, on the other hand, constantly seems to be making the decision not to decide. And they don’t seem to realize that’s not actually a decision. And that such indecision manifests itself quite publicly in the issues we’re seeing now.

Update (2018-09-06): Georgia Wells and Kirsten Grind (via Hacker News):

Mr. Dorsey told one person that he had overruled a decision by his staff to kick Mr. Jones off, according to a person familiar with the discussion. Twitter disputes that account and says Mr. Dorsey wasn’t involved in those discussions.

Update (2018-09-07): Twitter Safety:

Today, we permanently suspended @realalexjones and @infowars from Twitter and Periscope. We took this action based on new reports of Tweets and videos posted yesterday that violate our abusive behavior policy, in addition to the accounts’ past violations.

Josh Centers:

If you ever wondered what will get you banned from Twitter, this is it.

Chuq Von Rospach:

The decision to ban him was nothing more than finding an excuse to fix a mistake without admitting it. Worse they don’t see it as a mistake, but want out of the controversy.

See also: Hacker News, BuzzFeed, 9to5Mac, Washington Post.

Update (2018-09-08): John Paczkowski and Charlie Warzel (Hacker News, MacRumors):

A day after being banned from Twitter, Alex Jones and Infowars have been booted from yet another platform: Apple’s popular App Store. As of Friday evening, searches on the App Store for Infowars return no results.

Apple confirmed the app’s removal to BuzzFeed News, but declined to comment, pointing to its App Store Review Guidelines. The company said Infowars would not be permitted to return to the App Store.

Update (2018-10-03): Tom McKay (MacRumors):

In an interview with Vice News Tonight’s Elle Reeve, Cook said that getting rid of Jones’ content was a matter of content curation and reassuring users that humans were actually paying attention to what ends up in Apple’s content ecosystem. He also denied the company was responding to any kind of political pressure or that he had ever coordinated his response with executives from other tech companies.


“We have an app called Safari,” Cook added. “Safari is the app for you if you want to look at anything that’s on the free and open Internet that’s not on our app store.”

Friday, August 3, 2018

25 Years Ago, Apple Introduced the Newton

Chris Espinosa:

25 years ago today, at MacWorld Expo in Boston, Apple announced the first Newton MessagePad.

Stephen Hackett:

I’ve rounded up some links to mark the occasion[…]

Leaving NeXT for General Magic

Chris MacAskill:

And yet, this little company with the world’s coolest name and logo, had the most compelling vision I had ever heard: a little battery-powered device that let you write electronic postcards that float up to what they called the cloud, and from there to a friend’s device. I have wondered 1,000 times how that call changed my world when I said yes.


Unlike the first iPhone, we had applications and AT&T was building a marketplace on their network. My favorite was maps from StreetLight that gave you turn-by-turn directions.


When it became clear we had a brilliant vision 10 years before it was technically possible, General Magic came to an excruciating end. Tony went on to build the iPhone, Andy Rubin built Android, Pierre Omidyar built eBay, Megan Smith became VP of Google and then America’s CTO, Kevin Lynch built apple Watch…I could keep going.

Previously: The Secret Call to Andy Grove That May Have Helped Apple Buy NeXT.

Update (2018-08-07): Jack Wellborn:

I am not arguing that the Macintosh, NeXT, and the Newton weren’t without their flaws, or that even these quotes are inaccurate, but rather that we all know about these products because they did ship and were used enough to have their flaws made widely known. People bought and used Macintoshes. They bought and used Newtons. They even bought and used NeXT workstations. You can’t criticize or even debate General Magic on the merits of their products, because they didn’t ship anything in large enough numbers for anyone to care about let alone criticize.

You want me to know how great General Magic was? Great, me too! I want to know all the crazy ideas, all the awesome people involved, how fun it was to be there, why it didn’t work out, and where these ideas ultimately ended up.

Paid Amazon Reviews

Ryan Kailath (via Hacker News):

Travis rues the experience, and the stellar reviews that led him to purchase the faulty lock in the first place. He didn’t realize it at the time, he says, but he’s now certain that those glowing reviews were paid for. And that many of the people who gave the trigger lock excellent reviews may never have opened the package in the first place.

Travis is certain of this because he himself is now a prolific paid reviewer. He writes Amazon reviews for money, and he commissions others to do the same — for a company that approached him online.

Update (2018-08-06): Ashley Bischoff:

Pro tip: Sites like and can help suss out whether the reviews for a given product on Amazon are fake. 💫

Why the New V8 Is So Damn Fast

Thorsten Lorenz (via Hacker News):

In the past the V8 team focused on the performance of optimized code and somewhat neglected that of interpreted bytecode; this resulted in steep performance cliffs, which made runtime characteristics of an application very unpredictable overall. An application could be running perfectly fine until something in the code tripped up Crankshaft, causing it to deoptimize and resulting in a huge performance degradation - in some cases, sections would execute 100x slower. To avoid falling off the cliff, developers learned how to make the optimizing compiler happy by writing Crankshaft Script.

However, it was shown that for most web pages the optimizing compiler isn't as important as is the interpreter, as code needs to run fast quickly. There is no time to warm up your code and since speculative optimizations aren't cheap, the optimizing compiler even hurt performance in some cases.

The solution was to improve the baseline performance of interpreter bytecode. This is achieved by passing the bytecode through inline-optimization stages as it is generated, resulting in highly optimized and small interpreter code which can execute the instructions and interact with rest of V8 VM in a low overhead manner.

Thursday, August 2, 2018

Apple Removes Apps From Their Affiliate Program

Juli Clover:

Apple currently offers its affiliate partners 7 percent of the money generated from an iTunes related purchase, including apps. Last year, Apple attempted to drop that rate to 2.5 percent on apps, but kept it at 7 percent after backlash from developers and publishers. Commission rates were, however, dropped to 2.5 percent on in-app content.

Apple plans to remove commissions for iOS apps, Mac apps, and in-app content from its affiliate program starting on October 1, 2018.

Eli Hodapp (tweet):

It’s hard to read this in any other way than “We went from seeing a microscopic amount of value in third party editorial to, we now see no value.” I genuinely have no idea what TouchArcade is going to do. Through thick and thin, and every curveball the industry threw at us, we always had App Store affiliate revenue- Which makes a lot of sense as we drive a ton of purchases for Apple. I don’t know how the takeaway from this move can be seen as anything other than Apple extending a massive middle finger to sites like TouchArcade, AppShopper, and many others who have spent the last decade evangelizing the App Store and iOS gaming- Particularly on the same day they announced record breaking earnings of $53.3 billion and a net quarterly profit of $11.5 billion.

Jake Underwood:

This is such a terrible community move for Apple. This program gave people like me a chance to write about apps and helped quality websites bring good apps to the forefront. It’s so disappointing.

Seth Weintraub:

Record earnings? $100B Tax Repatriation? $1T Market cap?

Let’s cut our publishing partners out of the affiliate revenue

Mark Gurman:

A move that seems without any benefit to anyone but Apple, and benefit that’s severely outweighed by the consequences.

This is going to hurt independent app reviewers and Apple news websites that have promoted and reviewed apps fairly for years and helped services become the nearly $10B a quarter business it is today.

Many great developers got their first big piece of exposure because of reviews from @hodapp @viticci @apollozac and many other independent reviewers. That will now slow down in favor of Apple-written reviews in the Today section. Independent voices are important.

Federico Viticci:

Apple killing the affiliate program for apps feels downright hostile and petty.

I am personally not that affected because we saw this coming years ago and we adapted – but it’s a huge blow to small publications, indie devs, and others who rely on this to earn commissions. Sad.

John Gruber:

There have been reviews before affiliation, there will be after. Write about what’s interesting.

Rene Ritchie:

Android Central has always done similar coverage of Google Play as iMore has done App Store and there’s never been any affiliate revenue from Google.

I might be naive, but I don’t think much will change that wasn’t changing already?

Michael Rockwell:

I think this change is bad for the community and disincentives existing sites from covering applications — you’ve got to go where the money is. And soon, there will be little financial incentive to write about the apps you love. The effort that used to go into app reviews, top ten lists, and the like could shift toward writing about iPhone cases, watch bands, and other accessories for which Amazon affiliate revenue is still present.

Rene Ritchie:

I always thought it was profoundly short sighted of Google Play not to provide an affiliate program.

Very sad to see Apple go this way now too.

Any revenue they save would be better invested in continuing to grow attention through affiliates.

Hopefully, they’ll reconsider.

Dan Counsell:

App Store affiliate revenue is going bye-bye. This is for one of two reasons. #1 Apple wants to increase its service revenue, this is a quick win. #2. Apple plans to take less than 30% from developers, and this is one way for them to recoup some of the revenue they would lose.

Stephen Hackett:

I can’t help but feel that Apple is waving off the wide array of sites that help consumers find apps as being unnecessary in light of Apple’s new editorial content within the App Store. I simply don’t believe that to be the case. The App Store is massive, and the crop of websites that have come to make a name for themselves comparing and reviewing apps add value to the ecosystem.

Bryan Chaffin:

Concerned about it’s bottom line, Apple found a way to boost Services earnings by no longer thanking publishers for spreading the word about apps in the App Store. The company announced Wednesday that apps and in-app purchases will no longer be part of the company’s iTunes affiliate program because discovery is just gonna be awesome in the new App Stores coming this fall.

Jordan Merrick:

I do find it interesting that the only content being dropped from the affiliate program is that which Apple takes a sizable cut of. iTunes Store and Books content remains, so why only apps?


I can say with absolute certainty that the majority of apps I’ve purchased and enjoyed over the years have been through reviews and recommendations that used affiliate links. That’s how I, and many others, discover new apps.

Gabe Weatherhead:

Personally, I think number two is the likely cause here. A bit of hubris mixed with not actually using their app store much has lead Apple to believe most of the affiliates are app scammers trying to pump up apps to skim a profit regardless of quality.


I do happen to believe that Apple is wrong here and that they will dramatically hurt small app developers and the diversity in the App Store.

Nick Heer:

Is it for financial reasons? Is it because there are bad actors abusing the program? Nobody outside Apple knows for certain, but it feels like it’s dismissive of the greater Apple community.

Rene Ritchie:

The optics, announcing the end of the program right after announcing record-setting profits, were terrible. And the tone of the announcement itself was read by many as cold… even callous.


It’s the classic blunder — cutting someone else’s line instead of growing your own. And it also feels incredibly short sighted. Especially when it comes to the larger Apple community, and the ability to sustain many and diverse voices.


Many years ago, when the App Store was simpler and the bottom hadn’t yet fallen from under premium App Store pricing, iMore could pay a full-time app editor off of affiliate revenue alone.

Then came in-app purchases and value starting moving from one big up front purchase to bursts of micro-payments over time.

Previously: Apple Cuts App and IAP Affiliate Commissions.

Update (2018-08-03): John Gruber:

I don’t get the argument that it’s about Apple pinching pennies and not wanting to pay the affiliate fees. The whole point of affiliate programs is that they drive enough additional sales to increase revenue. That’s why Amazon has an affiliate program and heavily promotes it.

John Voorhees:

A byproduct of removing apps from the iTunes Affiliate Program is that developers will be limited to provider tokens for tracking the performance of advertising.

Adam C. Engst:

Although TidBITS is enrolled in the iTunes affiliate program and our previous content management system programmatically added the affiliate code to appropriate URLs, we earned too little money from it (roughly $1000 since 2014) to focus on it or even remember to move the feature forward to our new site. We’ve also always been somewhat uncomfortable with the inherent conflict of interest involved with affiliate fees—there’s an unavoidable link between publication revenues and encouraging sales.


Apple says that the new Mac App Store will have in-depth stories written by a global team of App Store editors, and while you probably won’t see their bylines on those stories, we’ve been watching Apple hire experienced industry writers for those positions. Of course, as it becomes ever harder for publications to survive, it’s not surprising that journalistic talent is being forced to make the jump to industry.


In the end, I’m disappointed in Apple. Not surprised, since Apple has never acknowledged that the media plays a vital role in the broader Apple ecosystem, but disappointed that a company that puts so much effort into bringing joy to users can simultaneously behave so callously to some of its greatest supporters.

Patrick Dean:

Apple: ads are bad and an invasion if privacy, here’s some OS level tools to get rid of them.

Also Apple: Please monetize your content about us exclusively with ads because we’ve axed the affiliate program.

Dave Verwer:

Apple is well within its rights to do whatever it likes with the affiliate programme, including shutting it down. They owe us nothing. But implying that it’s because the new App Store provides enough discovery by itself is arrogant, and also wrong! I’m a huge fan of the new App Store stories but they are just one part of what’s needed.

David Sparks:

It’s easy to think of Apple as an old friend and forget that they are a for-profit corporation. I think refusing to pay affiliate fees is silly in light of the fact that third parties are driving lots of sales in the Mac and iOS app stores every day. Frankly, one of the reasons I’m moving away from the iBooks platform is because I don’t want to get caught up if they decide it isn’t worth the effort in a few years.

One last thought is why they are only cancelling affiliate payments for apps? Music, video, and book affiliate links will presumably still work. Are those next or are there industry pressures keeping Apple from shutting them down.

Joe Cieplinski:

If you write reviews of apps, you need to post links to the apps, because your readers will think you’re nuts if you don’t.

Given this, it’s hard to argue that the Affiliate Program, whatever it cost Apple, was the best use of Apple’s money. Apple had all the leverage, and it acted accordingly, as anyone should expect. Continuing the program would be an act of goodwill, maybe, but there are more effective goodwill investments, no?

Escaping the Sandbox – Microsoft Office

Adam Chester:

Then, as we get closer to the end of the list, we see something a little bit strange:
(allow file-read* file-write*
(require-all (vnode-type REGULAR-FILE) (regex #"(^|/)~\$[^/]+$"))

This rule allows the Microsoft Word process to read/write a file as long as it matches the following regex


At first I couldn’t understand why this exception was here, however when crafting a filename matching this regex, it actually starts to make sense, for example ~$document1.docx. This is the typical filename format for temporary files used by Office, so what this rule is doing is allowing the process to persist temporary files without prompting the user for permission each time. At this point alarm bells should be ringing, as although this rule allows Word to create a temporary file, it also allows us to create a file anywhere on the filesystem as long as it ends with “~$something”.


This means that all we need to do is craft a plist with a filename matching the sandbox regex, wait for a user to log in… and we should be able to escape the Word sandbox.

AdGuard Pro Discontinued Due to Apple’s Policy

Andrey Meshkov (via Hacker News):

Basically, this guideline makes it impossible to use the VPN API for any purpose different from establishing a real VPN connection. I can name A LOT of cool apps which can be affected by this change and can be taken down any time: Charles Proxy, DNSCloak, etc, etc. I hope they won’t, though, and the whole point of this is to get rid of known ad blockers.


We are not alone. It seems that Apple decided to ban all apps that do content blocking outside of Safari. Malwarebytes is another example.

Migrating an Objective-C Class to Swift: a Piecemeal Approach

Ole Begemann:

My usual strategy for this is to write a Swift extension for the Objective-C class. The new code goes into the extension. Where necessary, @objc annotations expose the extension’s code to Objective-C. This works great until the new code requires me to add a stored property to the class. It can’t go in the extension, I have to add it to the Objective-C class definition.

This in turn means the property must have an Objective-C-compatible type, even if it’s only to be used internally by the Swift code. This is a fairly big limitation that I regularly run into: it means no structs, no enums with associated values, no generics, and more.


Here’s the workaround I use: in Swift, I define an Objective-C-compatible class that acts as a wrapper for all stored properties I want to use in my Swift extension. In Objective-C, I add a property for an instance of that class to the main class definition. Once that’s done, everything else happens in the Swift code: the properties can use Swift-only features (assuming you don’t need to access them from Objective-C) — only the class itself must be visible to Objective-C.

Jérôme Alves:

Associated objects may work too for simple cases. But another great solution I adopted successfully for a very large class was to rename ObjC HHFooBar into _HHFooBar and redefine HHFooBar as a Swift subclass of _HHFooBar. If possible I take the opportunity to drop the prefix too.

Update (2018-08-10): Ole Begemann:

The subclassing approach is in many ways a cleaner design than the extension approach I discussed in the previous article. The ability to freely define stored properties is a clear win. And once you have finished the migration to Swift, simply delete the (now empty) superclass and you’re done.

The only significant downside seems to be the inability to call into the subclass code from the superclass (unless you work around it). The subclassing pattern may not be possible when the class you want to extend has Objective-C subclasses, however.

Wednesday, August 1, 2018

Using Lightroom CC as a Camera

Matt Birchler:

Below are 4 camera apps (stock Camera, Adoble Lightroom, Halide, and Obscurs 2) taking the same photo. It’s early morning, my living room has no lights on, and it’s bright outside.


Lightroom is my go-to RAW camera app for iOS, in part because I pay for Creative Cloud and want to get my money’s worth, bot more so because I think it gets the best photos of any app I’ve tried before.

The difference between this image and what the stock camera app produced is night and day. This is a much more satisfying shot with little noise, good color, properly exposed highlights, and zero artifacts.

The built-in Camera app made an unexpectedly poor showing. I didn’t realize that the Lightroom app had a camera, but it looks pretty good: lots of controls, a clear interface, support for both RAW and HDR (which you can lock on), a widget for quick access.

However, I don’t know how to use it with my workflow, which right now is using Image Capture to import from my Camera Roll into Lightroom Classic CC. It looks like you have to manually share photos from Lightroom to the Camera Roll, and you can’t do this in bulk; you have to select the specific photos.

The other option is to let the phone upload the photos to Creative Cloud, then wait for the Mac to download them. This is slow and wastes bandwidth and may not finish if the app goes into the background or the phone sleeps. The photos do automatically show up in Lightroom Classic CC, and you can then move them into a regular Lightroom folder. However, this does not remove them from the iPhone. You have to go back there and manually delete them (again, individually). I hope I’m missing something here.

Previously: The Best Third-party Camera App for iPhone, The Power of RAW on iPhone, New Lightroom CC and Lightroom Classic CC.

Apple’s Quarterly Results

Jason Snell:

Now, iPhone unit sales are still down from the days of the iPhone 6. What’s changed is that the average selling price of an iPhone is up—way up. That’s mostly thanks to the iPhone X, which has a record-breaking price tag that hasn’t seemed to matter one whit in terms of consumer acceptance.


As someone who’s interested in products, I find the focus on Services revenue to be a bit dispiriting. I get excited at the prospect of new products and seeing how consumers are accepting or rejecting products in the market. But the discussion of Services, especially in a financial context, is essentially a conversation about how Apple can grind more money out of every single person who uses an iPhone, iPad, and Mac. (At least the Other Products line, which is also growing rapidly, contains real products like AirPods and the HomePod and the Apple Watch.)

John Gruber:

I think it’s even worse than that. I think Apple’s (Cook’s?) interest in increasing revenue from Services is keeping them from doing what’s right — increasing the base iCloud storage from 5 GB to something more reasonable.

Joe Rossignol:

Apple on Tuesday reported that it sold 3.72 million Macs in its third quarter, which spanned April 1 through June 30, the fewest in any single quarter since it sold 3.47 million in the third quarter of 2010.

Marco Arment:

Years of shameless neglect at the low end, followed by years-long design flops at the high end, have their costs.

I think, and hope, that this is as bad as it gets, and we’re on our way out of this dark period of Mac hardware.

Ben Bajarin:

Macs had an odd quarter and there are good explanations as to why. I don’t expect this as a trend signal and if what I hear they have in their sleeve is correct the Mac business will be more than fine.

Juli Clover (Hacker News):

With 54.2 million smartphones shipped in the second calendar quarter of 2018, Chinese smartphone company Huawei has surpassed Apple to become the number two worldwide smartphone vendor, according to new data shared today by IDC.

This despite not selling any phones in the US.

Update (2018-08-02): Neil Cybart:

It is estimated that Apple spent $150 million to build the first iPhone in the mid-2000s. At the time, it was a significant amount of cash for Apple. Nearly ten years later, Apple finds itself spending that much money developing one show for its upcoming video streaming service.


My theory on the dramatic rise in Apple R&D expenditures is that management is becoming more ambitious. Apple's future is found in new industries. Just as Apple moved from desktops/laptops to personal music players, smartphones, and watches, the company will need to enter new industries to remain relevant.

Ryan Reith:

Not only did iPhone volumes outpace market growth this quarter, but revenue grew 20%. That is absurd for many reasons, number one being that most of the largest iPhone markets experienced an overall decline during the same period.

Dr. Drang:

By now, I’m sure you’ve already seen the many charts at MacStories and Six Colors, but I still like to post my own. It gives me a chance to try out new ways of showing the data.


Everyone has pointed out that this quarter had the worst Mac unit sales since 2010. This is true, but as you can see, the June quarter of 2013 was about as bad—3.754 million units compared to the most recent quarter’s 3.740 million. “Worst quarter since waaay back in 2010” makes for a better story.

Low Power Mode on the Mac

Marco Arment (tweet):

Whose work does get 10 hours out of a MacBook Pro? None of the use-cases on the marketing page — Photography, Coding, Video Editing, 3D Graphics, and Gaming — are likely to achieve even half of that in practice.


Sometimes, you just need Low Power Mode: the switch added to iOS a few years ago to conserve battery life when you need it, at the expense of full performance and background tasks.

There’s no such feature on Mac laptops, but there should be.


Since then, I’ve been running Turbo Boost Switcher Pro to automatically disable Turbo Boost when I’m running on battery power, and it has been wonderful: I made it through that 8-hour flight only because Turbo Boost was off.

Previously: MacBook Pro 2018.