Why we’re switching Ulysses to Subscription

Max Seelemann
Aug 10, 2017 · 15 min read

A tiny bit of history

Software purchases used to be very different from how they are today. Until not too long ago, you would purchase an application and get a physical copy on a bunch of floppies (or later a CD). The thing you got — that was it. No patches, no updates. Developers had to put forward an extreme amount of attention to get everything right, because once an app was out, development had to be done.

The “pay upfront” fallacy

Interestingly enough, the way we pay for software hasn’t caught up to that rather drastic change in development yet. We still pay for the product at the time of its release, meaning we’re still paying for its past development cost. However, we now expect the product to magically evolve over time, via downloadable updates, without a need to constantly pay for new versions.

Crunching the numbers

Let’s map this onto Ulysses for a moment: If you bought Ulysses at its launch in April 2013, you will now have received nine major feature releases. For free, at no additional cost. At least 80% of that originally purchased app have since been scraped and replaced. Its functionality has quadrupled during the same time.

Update for the heck of it

See, in order to get new users, you need to catch their attention first. This means media coverage, App Store features and so on. The only way to predictively achieve this, are new versions, obviously. Big point releases, like 1.5, 2.0 and so on. And yes, these would create huge spikes in sales, but after an initial period, revenue would drop considerably, because… no more coverage. So we’re caught in an unholy cycle of

Who’s the target?

As we have shown, we need a constant stream of new users in order to make money. This means a constant stream of new versions, in order to generate attention. Now… since only new customers will be paying for our development costs — for whom do you think should we optimize these new releases?

Paid Updates

There have been concepts to mitigate the above problems. The most common one being “paid updates”. Paid updates mean, that instead of improving an app for free forever, there will be a point where no new features are added to the current version. Instead, the developer will make a copy of the app in its current state, and add new functionality to that copy only. Nothing changes for new users, of course, but existing users will have to pay again, if they want to get the new features.

… mo’ problems

Now, paid updates need justification. You can’t just change a few small things, add a new icon and call for money. The update needs to add significantly to the current experience, or else there’s no reason to even update. So in order to create an interesting, pay-worthy package, multiple major features need to be bundled together. But… big releases take time, and the bigger the release, the more time it takes. You risk getting delayed, users will start to complain and probably look elsewhere — there’s a huge risk in depending on paid updates, if you can’t guarantee release dates. Which usually you can’t.

New is the new new

How many of us will resist updating our devices just to keep some previously purchased app running? Tendency: zero. We do get the new devices. We do update our OS. But the next major device or OS update will certainly introduce something very different to what there was before — a new screen size, modified system behavior, stricter rules for apps accessing user data, some features getting removed, bugs getting fixed (and new ones created), and what have you. Apps can’t “be ready” for that. They need to be updated. Kept up-to-date.

Not for us

Making paid updates work is definitely possible, as has been proven many times. It’s neither particularly stable financially, though, nor is it in the users’ best interests. There are workarounds for most of the issues, sure, but you’d be hard pressed to not just call them “hacks”: Keep old versions available somehow, introduce grace periods, update old versions until their usages falls to zero, etc. — but during our year-long discussions, we simply concluded that “paid updates” can only ever be a quirky bridge between the old-school “pay once” model and modern user expectations and behavior.

Ulysses and cross-platform updates

Let me side-step for a moment: Would adopting update pricing even work for Ulysses? Let’s just say we found viable solutions for all of the standard problems — would it even work?

Other options

Ok, so “pay once” and “paid updates” don’t provide a feasible outlook. What are our options?

Universal subscription

Going forward, our solution to all those aspects will be subscriptions. Recurring payments that unlock the full app. Cancel anytime, stop paying and the app enters read-only mode. Continue paying to re-enable editing texts. Export stays alive, as do all other features — just disable editing. Simple, right? Well, it is! 🎉

  1. Ulysses can now be downloaded “for free”, and we can offer a fully featured, time-limited trial across all platforms, with sync and everything. Which certainly beats a Mac-only demo.
  2. We can now offer multiple plans, instead of “get all or nothing at all”. Users can choose between a flexible monthly, or an overall cheaper annual plan. A few dollars for a monthly payment sure are a much smaller barrier than shelling out the full $70 at once.
  3. Subscriptions make the app more accessible to many more people. There are tons and tons of folks out there who just cannot afford a full purchase. But most of these folks will be able to pay a few dollars every month. Even better: monthly payments allow the casual user to subscribe only during their months of actually writing. Subscriptions adapt much better to on-off or low-budget users.
  4. On the heels of #4: We are finally able to offer student pricing! Having been students ourselves, we know how tight a student’s budget can be. Yet students must often write massive amounts of text, and are in a great need for a great writing app. From today on, we will offer students the full app at a considerably discounted price.
  5. Subscriptions set us free from the pressure of rolling out massive updates every year. We no longer need to combine an arbitrary set of features to create a fuzz or make a good reason for a paid update. We will still have updates, of course, but you will be receiving new features earlier and hopefully also more often, because we can just… stream them in.
  6. Subscriptions are also the only match for the way technology works these days. As explained earlier, operating systems and devices get overhauled every year now, and major new features come out even throughout the year. Think TouchBar on the new MacBook Pro, or think the iPad Pro’s 12.9” and 10.5” form factors. It’s why Phones get “bought” on a subscription now, and why most people get a new one at least every two years. But with each device generation come new features, so the environment for apps is changing at a rather rapid pace, and we need to keep up. Our users expect us to always perform well. All those adjustments, as small as they may seem, continuously take time and energy. Subscriptions are the only sensible match for these new cycles.
  7. One common issue with traditional software models is that the apps will at some point stop functioning. Users tend to update their computers first, only to then find out about the compatibility of their apps. As a consequence, files that have been created with apps purchased a couple of years ago will likely not open anymore — due to the apps having become incompatible with their device or OS. With subscription, however, even if a user stopped subscribing, the app will still get updates and it will be possible to open and retrieve all texts even in years to come.


So many upsides, and we believe there are very few downsides. App subscriptions are a bit unpopular at the time of writing, but we think they clearly are the way forward, at least for our kind of app:

Building Ulysses

A collection of thoughts and stories about app development, interface design, and the joys and hardships of going indie.

Max Seelemann

Written by

Co-founder and development lead @ulyssesapp. 2016 Apple Design Award Winner.

Building Ulysses

A collection of thoughts and stories about app development, interface design, and the joys and hardships of going indie.