This is a request for comment, more than a policy statement at this time, but I want to get some thoughts out there about Drafts and OS compatibility moving forward.
Every year, Apple comes out with new releases of all its OSes (which have become too numerous to list individually ).
Every year these new OSes enable new features and abilities through new APIs. Drafts has a history of being on the cutting edge of adoption of those new features and abilities, and I plan to continue in that direction.
Every year these new OSes also deprecate some APIs, fix bugs from previous releases, or simply change some behaviors in ways that are incompatible with previous releases.
These changes pose challenges to developers of how best to balance adoption of these new features with the needs of their existing user base, who may or may not be ready, willing or able to jump on the latest OS release as soon as it’s out.
From the developer perspective, continued support of older OSes is not free. It creates a significant burden to the app. In many cases logic and user interfaces need to be branched to make features available only where appropriate, workaround old bugs that have been fixed in newer versions, etc. It adds significant testing and quality control workloads.
I want to be as transparent as possible about how Drafts is likely to handle OS updates and compatibility so as to not catch people off-guard, so I thought I should publish a policy. Policy may be too strong a word, but at least a guideline on what to expect each year. So, I’m posting the below for comment.
I will likely update this based on feedback, but my current thoughts are as follows:
On each platform on which Drafts is available, it is our goal to fully support the current version of the platform’s operating system, while maintaining compatibility with the most recent updates to the prior major version of the platform’s operating system.
I don’t particularly like this wording, but hopefully it gets the idea across. So, that means that as I am writing this, Drafts supports:
- iOS 12.x and 11.4
- watchOS 5.x and 4.3
- macOS 10.14.x and 10.13.6
When the updates to the OS are released in the Fall, Drafts support will bump those specs up a major version on each platform.
I feel like this provides the best balance to keep the app moving forward without burdening it with too much legacy to support.
As I said, I’m open to comments, positive or negative. And, even if I publish a final “policy” it will be more of an expectation setter. Some years the updates to OSes do not make significant changes that make it compelling to drop support for older OSes as quickly - some years not so much.