The Mac App Store already supports both in-app purchases and subscriptions, and we currently leverage that to offer free trials of two of our apps (OmniGraffle and OmniPlan) and will soon extend that to the rest of our product line (OmniFocus and OmniOutliner).
I shared more details about this on our blog a few months ago:
What's your plan when you release the next major version of OmniGraffle? You will create a whole new App Store listing for it? Or you'll somehow have a single listing for OmniGraffle on the App Store, and people who have purchased v7 but not v8 will be able to unlock v7 but not v8 within the app?
The latter sounds like an unholy mess, the former is very annoying as a developer, since you lose all of your reviews and history, and customers generally don't really understand how to download apps they've purchased which are no longer listed on the App Store, and presumably you'd pull OmniGraffle v7 from the App Store.
Also, right now in the U.S. Mac App Store, you have 3 reviews on the current version of OmniGraffle, and 2 out of 3 are 1 star reviews complaining about the way your free trial is presented.
Yes, we'll create a whole new App Store listing for it, just as OmniGraffle 5, 6, and 7 have each had their own listing.
I agree that it's sad to lose all our previous reviews, especially as our earlier apps had very high average ratings. But the bigger issue is combating confusion, which leads to bad ratings when people miss a feature that the app actually has, or are confused when a "free" app actually costs money. I'm hopeful that being able to reply to confused customers will help to clear some of that up!
The problem with this approach is that it's impossible to provide discounts to users who had the previous version, which is a long standarding practice (and a valuable one).
I agree that's a valuable, long-standing practice, but that problem has been solved: by offering discounted in-app purchases, we've been offering upgrade discounts to upgrading Mac App Store customers since we shipped OmniGraffle 6 in 2013.
If you read my latest blog post on the subject (linked in my first comment in this thread), you can see full details on how we're offering upgrade discounts to all existing customers, free upgrades for recent purchases, and free trials so new customers can check out the app before they pay—all in the App Store.
The app itself cannot expire, but functionality unlocked within the app can expire so long as the app remains useful--or the app is based on subscriptions, in which case you can make the expired app do nothing at all.
In the case of OmniGraffle 7 the free functionality that it retains after the trial expires is that the app can continue to be used as a free viewer for OmniGraffle documents (in much the same way as people use free PDF viewer apps).
When we first shipped OmniGraffle 7, some people thought that perhaps we'd just managed to slip its free trials past some Apple's reviewer's radar. But we were very careful and intentional about designing the app to follow their guidelines, and we've shipped several updates that have passed review since then--and at the end of the year Apple awarded the app a "Best of 2016" App Store award.
So now that we know for certain that Apple is OK with this approach, we're in the process of bringing this model to the rest of our apps on both Mac and iOS.
Ah, that's very interesting. I did not realize that reverting the expired trial version to "view-only" mode was considered within the guidelines. Thanks for the clarification, I may have to consider this model for my own apps.
I assume Apple did not have a problem with your use of the "Free Trial" wording in the app? After the trial period expires, does the app display a launch screen directing you to purchase the full version?
No, Apple didn't have a problem with that term: we just had to make sure the description was clear about the functionality which was retained after the trial ended.
After the trial period expires, all documents are read-only with a small badge in the title bar that you can click on to bring up the in-app purchase choices.
A better example would be where changing the case actually affects the semantics of the filenames involved: for example, you might have files named "formE" and "ForMe" which you're unpacking from a UNIX repository where the original authors never had to worry about this causing some sort of naming conflict. It's really unfortunate when simply unpacking such a repository to your disk ends up having one of those files overwrite the other.
(My preference is to leave the root partition case-insensitive, since some apps require that, but to keep all my data and source code on a case-sensitive partition.)
Not being able to offer the same discounted upgrade pricing to all our customers no matter where they purchased is obviously disappointing for us. But it just means we're back to the same state of affairs as I outlined in my original blog post from the launch of the Mac App Store:
"The Mac App Store is the most convenient way to buy our software, letting you purchase, download, and install our apps with just one step, and easily update our apps at the same time as you update other apps you've purchased from the the store.
"But to be clear, the Mac App Store is not the only way to buy our software: we'll continue to offer direct sales and updates through our own website as well. Through our website, we can offer much more flexible terms and options: trial and beta downloads, upgrade pricing, and discounts for volume, bundle, and educational purchases.
"No matter which way you buy our software, you'll be getting the same product: all of our Mac App Store apps are exactly the same as the apps we sell through our website (except for a few minor changes made to work with the store). We'll also keep future updates to our apps in sync—apps you've purchased directly through us will continue to update themselves as they always have, while App Store updates will appear on the App Store (after a slight delay due to the App Store's review process). And either way, you'll have the same great support from our team here at Omni."
Can you offer any more detail on what you were specifically forbidden from doing? Is it that you aren't allowed to offer updates outside of the App Store to App Store purchased apps? Or is it the method you were using with OmniKeyMaster that was disallowed?
Do you think Apple would allow other ways of supporting upgrade pricing between two versions of an App Store app possibly through in app purchase or similar?
Rather than this being the start of an evolution away from Objective C (which to me seems both unlikely and terrible), I wonder if it could be the start of an evolution away from AppleScript towards a user-scripting language that is easier to sandbox, more portable, and is familiar to a lot more script writers?
The most interesting bit for the Hacker News crowd is probably the OmniPresence sync engine which is designed around open web protocols (so anyone can host their own cloud) and supports documents from any app, not just ours. (On Mac, OmniPresence is a separate app; on iOS, it's a library which will be freely available as open source.)
Hi Ken, this is Lu Dongxiang, I'm a journalist at Programmer Magazine in China (http://www.programmer.com.cn). We really hope to interview you and introduce the story behind the development of Omni products to Chinese programmers. Do you think this possible?
Yes, you need to be able to switch out the LGPL-licensed code, but dynamic linking is just the most convenient way to doing that—it's certainly never been required. You can also offer the rest of your combined work's code in a form suitable for re-linking (e.g., by providing .o or .a files for the rest of your app).
There is no requirement that end users be able to do any of this on a platform without becoming licensed developers for that platform. (At the time LGPL was written, many platform vendors charged hundreds or even thousands of dollars for their developer tools.)
I shared more details about this on our blog a few months ago:
https://www.omnigroup.com/blog/providing-the-best-possible-a...