Archive for July 20, 2017

Thursday, July 20, 2017 [Tweets] [Favorites]

Productivity Apps and Subscription Pricing

Paul Mayne:

Day One is evolving. We’re transitioning to a more stable subscription business model to ensure this app and these services always stick around.

This week we’re releasing the Day One Premium subscription service. It includes the ability to create more than ten journals and access all future premium features.

If you have already purchased Day One (version 2.0 and later), the features you currently have will always be yours to use without any additional cost.

Gabe Weatherhead:

I think Day One Journal is an awesome app. Maybe the best journaling app around. The developer (Paul Mayne) has always seemed professional and nice when I’ve interacted with him. This is exactly what makes me sad. These are the reviews for Day One since the announcement.


This is my fear for iOS. Apple showed their customers what the bottom of the barrel looks like. It’s free apps forever. 10 years after the iPhone, I think we are seeing where it’s headed – Apple-made apps with an endless supply of third party coin-grubbing games. There was a time when a new, amazing, and high quality application was released on iOS almost every week. But today, the market grows fallow. What were once top-tier apps are either languishing un-updated or being kept alive by experimenting with new business models.


My impression is that the subscription model is a move to stay profitable. I don’t think this will be a magic bullet. Customers simply don’t want to pay the price for top-tier self sustaining apps on iOS, especially when the full annual cost of $50 is spelled out in black and white.

David Sparks:

I spoke with a developer friend that makes legal-related apps. He explained the transition of his app to a subscription model as a last resort to keep the lights on but also “the worst two months of my life”. This new app economy has been particularly rough on quality productivity apps. Those apps take a lot of time and attention to do right while at the same time consumers are not used to paying subscriptions for them. Nevertheless, that is probably the best model available to them at this point.

My fear, as someone who really likes quality productivity apps is that all this will end up driving productivity apps out of business.

It’s certainly true that people are wary of subscriptions. But I wonder how much of the recent backlash is due to the subscription model itself and how much is due to the fact that, in practice, transitions to subscriptions have effectively been large price increases. Here are some examples:

My hunch is that, for an app under ongoing development, many people would be fine paying a subscription that averages out to about the same amount they had previously been paying per year (initial purchase plus occasional upgrades). When I hear that an app is switching to a “sustainable model,” this is what I assume people mean is happening. The benefits to the developer are obvious, and provided that development continues at the same pace it seems fair to the customer as well. (Let’s put aside for now the concern that subscriptions change incentives, so that you’d be paying the same price but not getting the type of development that you want.) It may even be beneficial because the costs are more predictable, and you can avoid large up-front payments for big apps.

But that doesn’t seem to be what’s been happening. Instead, we’ve seen subscriptions combined with price increases, customers balking, and insinuations that people just don’t want to pay for anything anymore. With more than one variable changing at once, I don’t think we can conclude that people hate subscriptions. Am I missing any examples of apps that switched to subscriptions without really changing the price?

Update (2017-07-20): See also: Nick Heer.

Update (2017-07-21): See also: Stuart Breckenridge.

Update (2017-07-22): See also: Michael Rockwell.

Update (2017-07-27): Michael Yacavone:

The cloud. Pairs well with subscriptions.

APFS and Fast Catalog Search

Thomas Tempelmann:

The good news is: The APFS file system code has support for the lower level searchfs function, and that’s been already added in 2016, apparently, for OS X 10.12.


As of now (10.12.6, 10.13 beta 3), the searchfs function does search case-sensitive and not case-insensitive as it should.


Much worse, though, is that the high-level FSCatalogSearch is entirely broken for APFS. That’s why both EasyFind and FAF won’t find files the fast way on APFS volumes right now. I don’t understand why FSCatalogSearch doesn’t work, though - it’s supposed to simply call the lower-level searchfs function, which on HFS+ volumes does still work fine. Unfortunately, Apple has declared FSCatalogSearch deprecated a few years ago, even though there’s no replacement function offered by the more modern NSURL based API. Because of this deprecation it’s unlikely that this will get addressed.

Swift 4: Key-Value Observation

Skye Freeman:

One of the most exciting additions to the Foundation library in iOS 11 that somehow flew under my radar was the new Swift syntax for key value observation. It’s long been known that the KVO API was one of the more obfuscated and confusing in Cocoa, which makes this change so exciting. Not only is it type safe, but also terse as hell[…]


let observation = foo.observe(\.string) { (foo, change) in
    print("new foo.string: \(foo.string)")

A Rift in the NTP World

Bruce Byfield (via Matthew Green):

First designed in 1985 by David L. Mills, the [NTP] protocol has been coordinated in recent years by the Network Time Foundation. Today, it develops a number of related standards, including Ntimed, PTPd, Linux PTPd, RADClock, and the General Timestamp API. For most of this time, the primary manager of the project has been Harlan Stenn, who has volunteered thousands of hours at the cost of his own consulting business while his NTP work is only intermittently funded.


However, the collaboration did not go smoothly. According to Stenn, Raymond contributed one patch and had several others rejected, but Stenn’s ideas and Raymond’s and Sons’s were out of sync. […] The efforts to collaborate finally collapsed when Raymond and Sons created a fork they called Network Time Protocol Secure (NTPsec).


Sons has publicly described the NTPsec interpretation several times, including in a presentation at OSCON and in a podcast interview with Mac Slocum of O’Reilly. In the podcast, Sons depicted NTP as a faltering project run by out-of-touch developers. According to Sons, the build system was on one server whose root password had been lost. Moreover, “the standard of the code was over sixteen years out of date in terms of C coding standards” and could not be fully assessed by modern tools. “We couldn’t even guarantee reproducible results across different systems,” she added.


NTPsec depicted NTP as being in a state of total disorder. However, in communications with me, Stenn offered a radically different story. In Stenn’s version of events, NTPsec, far from being the savior of the Internet, has misplaced priorities and its contributors lack the necessary experience to develop the protocol and keep it secure.

Stenn denied many of Sons’s statements outright. For example, asked about Sons’s story about losing the root password, he dismissed it as “a complete fabrication.” Similarly, in response to her remarks about older tools and reproducible results across different systems, Stenn responded: “We build on many dozens of different versions of different operating systems, on a wide variety of hardware architectures […] If there was a significant problem, why hasn’t somebody reported it to us?”

Mark Atwood:

We were not happy about having to fork from NTP Classic, and did so with regrets.

The main point of contention that caused the fork was BitKeeper vs Git. Harlan insisted on staying on BitKeeper. At that time, BitKeeper was still closed source, proprietary, and was a huge barrier to recruiting contributions, large and small. Even now still, the official Git repos for NTP Classic are out of date with the official BK repos, and are lacking tags. And the official public BK repos are out of date from Harlan’s internal working repos.

A Favorite Hack

David Smith:

During the introduction of iOS 7 one of the random side effects of the wide reaching changes to the iOS user interface was that app icon badges started to get truncated whenever they got above 4 digits long.


So I then set out to alter the numbers that were displayed so that if I thought it would get truncated I would replace the least significant digits with 1s until it would no longer be truncated. After a bit of experimentation I found that I needed for a 5 digit number to contain at least two 1s in it in order to be assured that the number wouldn’t truncate. Usually, but not always, the first of these would be the leading digit since getting above 20,000 steps is quite a full day of walking.

It’s not clear to me why he had to remove the badged app icon feature.

Update (2017-07-20): Apparently, App Review recently changed its mind and asked Smith to remove the feature.