Hacker News new | ask | show | jobs
by wbobeirne 1675 days ago
What would you recommend products that host the service and have ongoing upkeep costs to do?
1 comments

I would recommend the creators ask themselves if their software _really_ needs to be hosted or can it be sold as a one-off (self-host or desktop/mobile).
I don't think you should be downvoted for this, but I do think there are some reasonable responses to it.

First, supporting desktop/mobile software can be hard. Customers have all sorts of weird things on their machines. iOS cuts down on that, but you still lack access for a lot of debugging and that can cost a lot of money. Support is expensive.

Second, I think there's this idea that desktop/mobile software is a one-off. What happens when Apple removes an API that your program used? Do you tell uses "sorry, your $X doesn't entitle you to a working program anymore?" For better or worse, software requires ongoing investment. If software requires ongoing investment, it kinda requires ongoing payment - or operating on the idea that new users will pay for the improvements required by older users. However, that's a dangerous assumption. At some point, there are a lot more older users than there are new users. Many companies tried to operate pension schemes assuming that new workers would pay for older workers retirement benefits. At some point, there are fewer new workers than there are old workers and it collapses.

Software maintenance is important, but it can be hard to price. Do you tell users "you have a license for 2.0, but you'll need to pay $X to upgrade to 3.0...oh, and 2.0 won't be updated to support iOS 14 so you're basically forced to upgrade"? Do we tell creators "if you don't keep this software maintained in pristine condition for the next 20 years, you're being predatory"? That kinda just demands that they do uncompensated work.

Even if software isn't hosted, there are ongoing costs. Some of that can be priced into the initial purchase of the software. Some of it can't be. It's hard to guarantee that software will continue working for 2, 5, 10, 20 years when you have no idea what that might entail in terms of work. 20 years ago, Apple was shipping Mac OS 9. Since then, I may have needed to upgrade my app from Classic to Carbon, from Carbon to Cocoa, from 32-bit to 64-bit, from PowerPC to Intel, and now from Intel to ARM - not to mention the huge number of APIs that have been broken along the way.

Is the right model something like what JetBrains does where you get a perpetual license to the version you bought, but that version might just stop working given changes around it (like OS upgrades or new machines it isn't compatible with)? That doesn't force you to subscribe, but it does mean that you're likely going to need to upgrade. Programming languages move on and you're stuck with an IDE highlighting things as bugs or that won't launch your program because it isn't compatible.

Subscription-based pricing gives creators an incentive to keep investing in their program and it gives customers predictable costs. No one wants to hear "sorry, this won't run on M1 and we're not going to upgrade it for free for you so here's a $X charge that you have no way around given that Apple is abandoning Intel".

>"First, supporting desktop/mobile software can be hard"

I have Windows desktop software (my product with about 40,000 customers) that I support and I would not call it any harder than maintaining for example backend C++ servers I make for my clients.

>"What happens when Apple removes an API that your program used?"

No idea about Apple as I do not develop for their platforms but my yet another desktop software (uses DierctX 9 and DirectShow) that did release in 2003 and abandoned sometime in 2008 as the revenue had decreased still works like a charm.

>"Programming languages move on and you're stuck with an IDE highlighting things as bugs or that won't launch your program because it isn't compatible"

That DirectX program I just mentioned was developed in Delphi 7 (I use Delphi and / or Lazarus to develop desktop applications). This Delphi 7 still runs and compiles this software on my Windows 10 machine. Latest Delphi which I have compiles it as well with no problem (just checked).

So yes in theory you are right, in practice (as much as it concerns my products) it is however totally irrelevant.

Seems orthogonal. You can have subscription-based desktop/self-hosted, and one-time-payment hosted software.