It’s interesting that you did the experiment, and I appreciate you sharing your results. It all seems reasonable, even if a bit depressing.
What I think a lot of people are missing is that the difference between supporting corporates who spend up to millions per year on your product and supporting end-users who are literlly counting every cent they spend is a huge gulf in terms of expectations, technical ability, professionalism.... the list goes on. It's a completely different game.
I thought the article was a brilliant summary of why you simply can't help all the users all the time. It's a hard lesson to learn in the world of Tech Support. We all want to be the knight is shining armour solving customer problems, but the skill to be able to say "no" in the right way is not universal.
To those ragging on the author - there are huge numbers of people who, even if you paid them to use your software, they would still complain and swear at you. It's just life. And dealing with the competing interests of customers, time pressures, personal sanity and many more is almost exactly the job description of Tech Support.
I have integrated a simple feedback form into the app, with the option to send anonymously. That seems to help.
> had I known I'd get 10K views and 100 comments
Is that still the case, after being frontpaged on HN (but most comments are probably here)?
I don’t really care whether or not I get many views (spoiler: I don’t -too many words). I write for myself.
It's a great account for people to reflect on. I've immediately sent this article to several early-stage founders who are burning astounding amounts of time on undesirable customers.
Idealism doesn't survive contact with reality.
Your support strategy is missing an outlet for needy users to ask questions, effectively blaming customers for a structural flaw in your own setup. You could easily spin up a forum where power users help each other and devs can occasionally jump in to help or note pain points. Furthermore, your development and QA processes clearly need scrutiny. The reason bug reports feel like a ‘waste of everyone’s time’ is likely because you don't have the right error logging or telemetry built into the app itself. Having to wait for a manual bug report from a user is already a failure.
It’s completely okay to define your product however you want and to reject feature requests, but to say you’ve singularly thought through every problem in an armchair, in comparison with the distributed minds of the rest of us, is pretty arrogant.
> but to say you’ve singularly thought through every problem in an armchair, in comparison with the distributed minds of the rest of us, is pretty arrogant.
Somehow incredibly ironic when applied to you comment itself...
And for some subscription situations, you can probably offer them a price that works for both of you.
There's a 'PhotoSync' app that offers a premium option for either $1/month or $24 for life. Presumably because they looked at the average subscription duration and found it was in the region of 2 years. Modulo the time value of money and per-transaction processing costs.
Personally I much preferred the one-off purchase, even though it's not clear I'll be using the app in 24 months, because it fits a lot better with my (somewhat chaotic) way of managing my money.
There is no such price, because there is no way to sustainably develop a product without subscriptions. You can't go to a local bakery and pay $24 for life to get fresh rolls every day.
Every one-time price is a gamble, where somebody is betting on something. It's a way to close your eyes and pretend ongoing costs do not exist.
This is clearly incorrect given that there are plenty of software developers who offer lifetime purchases. In fact there was a time that subscriptions for software were virtually unheard of.
On a lower level, all that matters is the numbers. If your average customer stays subscribed for 24 months, then charging a lifetime fee equal to 24 months is equivalent to a subscription model. At that point it's irrelevant what's "sustainable" since 24 months is the max you can expect to charge on average anyway.
If I buy version 2 then it's mine and I can continue to use it for as long as I want, if I'm happy with the feature set. I can ignore version 3 or choose to buy it. If I buy it then I now own two products instead of one. Sometimes the older version might even be better (e.g. features I like have been removed or made worse).
With a subscription model I'm forced to pay again and again even if I'm perfectly happy with version 2.
If it’s sustainable at $1/month, and a customer is willing to prepay $1200 for a 100 year subscription, that sounds sustainable to me.
The gambling goes both ways. Your $1 subscription price is betting that you can convince each user to keep on paying that subscription forever, their $24 lifetime price is betting that customers are going to churn after a year on average.
Your gamble is perhaps slightly safer, in the sense that if subscriptions fall so too do the ongoing costs. But there is a floor to costs (i.e. you need to keep paying your team), so both approaches are pretty dependent on the sales funnel bringing in new subscribers
But I have run a bakery for 5 years, and you get better day by day, you introduce new techniques, find different flours, optimize bake times for fluffiness, crispiness, and taste. The croissants we make today are much better than what we made during our first month.
We improved our product just like how software improves, but we did it without a croissant subscription, but by selling its own version as its own thing day by day.
What software companies need to do is sell versions, where the life time of the version usefulness is actually limited. In the physical world, we have wear and tear, or in the case of croissants, decomposition or consumption which limit customers from using the same product forever.
Can the same not be found for many software products?
To use iOS as an example, the OPs app Castro charges for night mode, but night mode via OS controls didn’t always exist in iOS so a theoretical Castro v1 could have been released without before it, and v2 would include that new feature. Or when inevitably, v1 no longer works on new iOS versions, people would have to upgrade.
I agree that paying a one time price and expecting continuos updates and new features is not reasonable.
A great example for me is the Xodo app on Android. It's by far the best PDF editor that I've found on Android, particularly for annotating with a digital pen. Some features are locked. If I want to unlock them, it's $5 a month. I get nothing out of that which isn't already in the app. I'm happy to pay a one-off fee for the work the developers have done up to that point. I'm definitely not happy to add another $5 a month to my pile of subscriptions.
For me the boundary is this: (1) If I get something of value every month (e.g. use of a cloud server, or something which obviously needs regular updating like Netflix) -> subscription justified; (2) If I just want to use what I can already see in the app -> very unlikely I'll ever subscribe unless the product is absolutely essential to me and there are no competitors.
A good example of the latter is Skritter. I don't care about new functionality, but there literally isn't another app which can do what it does, so I pay the subscription.
- Subscriptions are marketed as being a lot more than just bugfixes - new features being the big one. But there's usually no cheaper "bugfix-only" subscription, which means that someone who doesn't care about new features has to pay for them anyway.
- To be honest - yes, I do expect bugfixes for free if I've paid to buy the product. After all, a bug is a defect, and products are usually sold with the expectation that they will be fit for purpose. That's the principle which applies to physical consumer products, so why should it be any different for software? If I bought software that calculates my taxes for me, and it turns out a bug means that it applies the wrong tax rules, then I haven't got what I paid for. Why am I expected to pay every month just to make my software do what it was supposed to do in the first place?
- The developer is still incentivised to fix bugs in order to attract new purchasers.
- Subscriptions aren't a magic solution financially anyway, because there's an average limit to how long a customer stays subscribed for.
The only reason I routinely need to update most software, is that Apple/Google keep changing device screen resolutions/cutouts and they keep killing off old APIs
Yes. On the exact major OS version you signed up on.
Yes and no.
You want enough logging and telemetry that you can roll out an update to 2% of users and know if something is terribly wrong before you roll it out to the other 98%.
On the other hand, you probably don't want enough telemetry to detect that customer Jim Smith has trouble with WebRTC when joining calls without a microphone while using Firefox and Cloudflare Warp with split tunnels enabled.
Which is exactly why HN's anti-telemetry stance is so unjustified.
The difference is that email / online support has no “human downtime moments.” At the bakery, I usually would talk to people while we were waiting for their order to be finished heating up / cooking / etc. So there was a moment or two people standing around waiting, which naturally leads to a conversation. Or at least it did a decade ago when cellphones weren’t quite as omnipresent.
I wonder if having a monthly Zoom “open office hours” type thing would replicate some of this feeling in a software context. Probably not, but it might be better than just answering emails.
When I was in a product leadership position I liked to spend time doing some of the customer support work. This is a common experience. Customers who write angry emails do not care about your reasons. They want something from you (cheaper rates, a specific feature they need, a discount, a freebie) and they do not care about anything else. It’s the digital version of the “I’d like to speak to your manager” customer who thinks that if there’s a 10% chance of getting what they want by being a jerk then it’s worth pushing as hard as they can.
Some times you’d get a little satisfaction from someone who realized there was a person who cared on the receiving end of that email address. Made it feel worthwhile.
Most of them are just doing some transactional game where they think that they can exercise some power over the company if they complain loudly enough.
This also has a lot of cultural differences. Some of the customer contact we’d get from one of the countries we served were out of control mean. There were casual threats of violence from time to time and 90% of them came from one country, which I’m not going to name but I’ve added it to my mental list of places not to visit. It was weird that it was so consistent.
Throw those people out immediately. Not only are they bad customers themselves, they also drive away the good ones.
genuinely curious. Which country was it?
I’m sorry all the airchair geniuses in this thread feel compelled to express how they’re so much smarter than you and would never fail… or at least, never admit it.
I think it's fairly well understood that vocal users aren't necessarily representative. The bulk of your happy users will never contact you for support. But they are some of the most important users to talk to to improve the product.
You need to build your own model of who your users are to provide a basis for interpreting user requests: is the support request signal or noise? if the request is coming from someone in your target market, and expressing a pain point, that's potentially an important signal. If the request is to charge only 20% of your current price, that's only useful if you're prepared to consider restructuring your offering (receiving many such emails might signal an opportunity for a budget product with specific feature subset) -- otherwise: "Thanks for your email, we don't have any plans to change our price right now." move on.
By the way, I'm impressed that this is even a conversation for a developer selling through the App Store. I always felt that Apple killed the ability to maintain customer relationships by injecting themselves into the process. Never published on the Mac App store myself.
It's really not possible to avoid that when, at the end of the day, you're doing it to make a living for yourself and your employees, not doing charity work in your free time because you enjoy it.
> The bulk of your happy users will never contact you for support. But they are some of the most important users to talk to to improve the product.
Yep, but that's then called market research, not customer support.
I’ll tell you even more, in enterprise b2b saas, usually the company paying few thousand per month would have less questions and requests than the one paying few hundreds.
As a user, if the CEO/founder is answering my questions, I honestly will wonder if this is a one man fly by night operation that will be gone next week.
Also, a satisfactory support experience may not be the fastest one. If I ask for something, L1 says "no", but then escalates to sales, sales say "no", but escalate to the founder, the founder says "yes", the user may feel more "heard" and has a better sense of achievement than if the founder is the L1 who says "yes" immediately. The outcome is the same, but one will feel "earned".
The answer might often be to understand the users' needs better in order to design for it. But OP seems to have a clear idea of how the app should work already. So...unclear.
- we don’t care about your pricing feedback. We’ve thought a lot and won’t change our minds
- we don’t care about your vaguely described bug unless it’s been reported multiple times (go use something else, I guess?)
- we don’t care about your easily reproducible bug either, unless it affects a significant % of users
- we don’t care about feature requests, we already know what’s best
This would be a standard approach for an enterprise product, but for a small independent app it’s not surprising it would fail to build rapport with their user base.
(note: I am not a user of this or any other podcast app)
> We have heard this before, but we cannot see it or replicate it. The user gets to do work for us and/or get no resolution
Well, if you're not willing to resolve individual customer's problem then don't expect to build goodwill with just prompt reply on support!
Maybe if your product would get more valuable if you were connecting users together and you were moderator of the community, it would've been different, but it is quite different product to sell.
Also, I think that we want to communicate with a company (Human or AI), and not a person, quite often. As you’re supporting a business transaction, not making friends. There’s a certain anonymity that comes with the business transaction. I wouldn’t ask for a refund from a friend.
I would even be happy to talk to a bot if it was fine-tuned to speak like a regular person instead of a corporate drone.
Building rapport is not the reason for doing this. Being liked by everyone is an impossible goal. And yes, there is a class of customers who are power users who think their input should dictate the development roadmap. And yes, there are users who become psychologically reliant on you as their personal Geek Squad. And yes, there are non-technical people who encounter hard to reproduce bugs, who it's worth taking the time to work with if they can help you isolate the problem.
But doing it for "likes" is a terrible idea. I was once put out as a coder to be a public face of a big AAA game, on their dev forum, to interact with fan requests, and I think that was catastrophic both for my own sanity and for the company that chose to field fan mail that way.
With your big fans, you see what you can do about their feature requests. Never promise anything. With people who encounter real bugs or otherwise provide signal, try to turn them into sleuths and get them to beta test your next release. Draw boundaries. Letting your users be your testers is enormously valuable, so respect them and don't stop listening to their feedback. But the overarching goal here is to get value out of the process. Explicitly not to waste your time on being "liked". Because the kind of people who become obsessive over your CS responses are actually the worst customers who don't want to pay for anything anyway, and expect everything to be free.
What I'm saying does not mean to pull back on customer service, at all! It means that the goal is to improve your product, not to suck up to all those categories of customers in the hopes they'll like you more. They will or they won't like your product, and in the end, whether they personally feel that affinity for it is based on their enjoyment of it. If it's based on their sense of importance at being able to order you around, they're not your real customers anyway.
I turned out that customers are not ready to pay for support. Cognitively, paying for a service and paying on top for this service to work well is not consistent.
As a result, people have minimal support and complain. But they don't value good support either.
NB: companies do pay for (insurance) support, especially for swift resolution. But consumers or small businesses don't want it.
Hey, I got promoted from customer to Customer Support at _my_ $dayjob!
Let's review some common areas.
- Pricing: everyone is always looking to get a better deal. That's their right but I'm unlikely to give one. Saying no here is just another (emotional) cost of doing business.
- Bug reports: broad agree on all four points but not necessarily the conclusion. Users who are willing to go down the debugging rabbit hole with me are golden.
- Pathological customers: I like to call them "frequent flyers". Enough said.
- Feature requests: we're not necessarily as "opinionated" so we rarely give a hard no, but this is why we have a "feedback board with upvotes" approach.
- General usage questions: I have an attitude of fresh eyes often being the best eyes for usability testing. If it's not obvious, what can we do to make it so? We also use Intercom Fin to handle a lot of these level-0-support questions though.
The difference is that my customers are mostly engineers in small to medium sized businesses. They understand that 1) ongoing development costs money, hence subscriptions, 2) there are no magic wands and things are indeed more complex than they seem.
This is one of the reasons why I don't want to get into B2C. At a first approximation, people just don't want to spend money, hate subscriptions, have zero appreciation for how much ongoing development costs, do not understand that the money has to come from somewhere and that $5 purchase 6 years ago really doesn't cover the costs, and do not understand the complexity of software and product development.
Even here on HN, if you read the comments, there is so much blind hate against subscriptions, with little (if any) consideration for a sustainable software business.
Incidentally, I thought personal support would be a competitive differentiator, but I don't think it really works that way. Yes, customers do appreciate it a lot, but so what? Business customers don't talk to each other much, you won't get "viral" recommendations. And new potential customers have no idea how your support works, they think it's the same AI chatbot and knowledge base search as anywhere else.
Having maintained and done tech support for both B2B and B2C products, as a small shop and often solo, B2B customers are far more predictable and less inclined to load you up with nonsense. And your weekends are always free. However, when they do complain, you're up at 6am on a Sunday. When you have a consumer complaint, you're welcome to sleep as long as you want.
This may seem trivial, but it's a proxy for saying that your feet are constantly to the fire with B2B deployments, in a way that you are not held accountable with B2C apps. I personally work better with the B2B stress and motivation... but it's not without its mental overhead.
This is correct thanks for the comment. You will enjoy my next post which is about exactly this. (HN will not enjoy it)
Personally I don't think hope is a good strategy. What did you hope for? What was the measurable outcome you wanted? It reads like a big investment with unclear goals.
I've often heard stuff like "telecom provider support sucks" or "IKEA furniture breaks easily."
When you ask people whether they researched support quality before deciding on a provider or whether they considered a $3,000 heavy-wood furniture the boomers had, they immediately sense the accusation in the question: It was their decision to suffer these fates. They then tend to get mad fast.
People like to save 3 cents on their monthly internet bill and to disassemble their furniture in 5 minutes. It's exactly why everyone is optimizing for it.
It's rarely 0.03 though in my experience. More like 10 a month or even more between the cheap options with bad support and the better ones. Even if you have one issue every year (sounds high to me), that's over a hundred per support phone call. Makes you think twice about the trade-offs.
This is a podcast app. It's in no way essential, how did you use to explain this to your customers ?
It’s not too late to change the first sentence to:
> I had an idea when I bought [Castro](whatever_the_url_is), a XXX app, that human support…
I think you meant "I can think of exactly one customer in two years who was NOT surprised that software costs money"?
> I have already thought about this a great deal. I am not changing anything based on your email.
> User can provide details for us, but if others aren’t experiencing it, it’s unlikely to be prioritized.
> We know about this, but fixing it is a decent amount of work or low-priority because it’s not a big deal or few users see it.
> a human response detailing why I am unable to solve your problem today and am not even going to try is about the worst thing a user can receive!
> Good in theory, sometimes useful, but often the same small, unrepresentative segment with strong thoughts.
> Castro is an opinionated app and I’ve thought a lot about what we’re building and what we’re going to work on next. It’s unlikely I’m going to implement the request.
Your support policy seems to be more along the lines of "you may e-mail me for an explanation of why I'm not interested in your thoughts" than an actual commitment to support for paid customers. You aren't interested in comments on the payment model, bugs, or feature requests.
> why software lends itself to subscription so well [...] no matter how carefully or kindly it’s explained, the reply will be more negative than the initial email
Especially when you're using it to justify scummy practices, it's no wonder that no matter how kindly and carefully you piss on your users, they know it's not raining.
You mention early in the article that you intended to base this approach as a response to your own subpar user experience with support in other products. But does your user experience with other products tell you that you want to subscribe and be nickle-and-dimed for the rest of your life for every last thing? Especially when you're promising to users that while you're still working on the software and that's why they need to pay every month forever, you won't work on the bugs nor features they want? Subscription works "so well" for software because it makes you a lot of money, but it doesn't work well for the users its being forced upon who don't actually want the updates you're working on.
As far as I can tell, your software is not significantly based on ongoing maintenance costs, ergo it does not inherently justify ongoing payments to use. If you let greed stop clouding your eyes, you could adopt the approach that many ethical independent developers use: an option to pay once per major version and keep it for life, with optional subscriptions to try the waters and keep up with the latest and greatest version.
This was the biggest (1) complaint for me - in light of what you discovered from your actual support experience, why was your expectation so off?
Was it that you expected support to be full of "how do I do this complicated thing?" questions that can be answered by an expert? That's an unrealistic expectation, but I guess now you know.
Or was it that you really thought that customers would be happy if you just took the time to explain your pricing model to them (also unrealistic).
It is kind of obvious from the types of emails you get, and the types of responses you give that it was not going to lead to strong customer relationships. If all you're doing is writing a 100 words to say "No, I'm not going to do what you want" that's not going to make things better.
(1) Actually 2nd biggest - the biggest was talking about "buying Castro" but having no explanation/links about who the author is, what Castro is, or how/when/why it was bought.
I guess I didn't think about it enough, but if someone emailed in with a feature request, or with an opinion that this tab should behave differently or whatever, I thought giving explanation would be helpful. "I actually tried it that way, but it didn't work because X, and Y, and I didn't even think about Z which breaks the whole concept, etc etc." As a dev, these types of explanations would seem meaningful to me. But in reality, these conversations are mostly not helpful for either party. That was the point I was trying to make in the post.
Fair point on 2, I honestly didn't expect anyone to read this tonight and had another post planned I thought might get comments on HN, but I just put this up for now until I could finish that one. I will do better at giving context next time.
There absolutely is. I fully engage with any user who is willing to put effort into helping me identify the problem, even if I can't reproduce it myself. Many users are cooperative and will go to great lengths to assist. If they don't, then sure, put it on the backburner as "I literally don't know how I can solve this". But I value my users and fix every single bug I'm capable of fixing.
Is it the most efficient use of time? No, I doubt it. I would probably make more money if I didn't do that. But that's the crux of the issue, isn't it. Software development is already extremely lucrative because the cost of reproduction and shipping is effectively zero, so you have ~infinite margin on every sale after the initial development cost is covered, with a potential market size of ~the entire connected world. Yet so many of us are always chasing more, more, more. It's not enough until you make $500k/yr or sell out for billions.
Don't say "it's not possible". Say "I don't want to do it because I can make more money by not doing it". You're allowed to make that decision. But then you're at least being honest with yourself, and you'll clearly understand why your customers are angrier after communicating with you than before. I can proudly say that my users are happier after communicating with me than before.
Even just oodles of debugging for a particular customer's build can go a long way.
People are however consistently willing to regularly make one-off purchases to get something they can "own". I've bought way more lifetime licenses for software than I've taken out subscriptions. When you consider that nobody stays subscribed for life, there's always a number that you can charge for lifetime which is in fact functionally equivalent to a subscription anyway.
It seems to often boil down to the fact that paying customers are paying to solve a problem so they don’t need to deal with it. Whereas developers are more interested in writing code than solving said problems for customers.
How soon is it? Tomorrow? Next week? 10 years?
People are so sure that LLMs will change everything >>soon<<.
Every line item there has a solution. Even if it is just 4 different email addresses.
Definitely feels like some form of video might be superior vs email, which is easiest in some ways but also seems to be a bit of a barrier in thoughtful communication.
Personally I'd guess this is a big part of the issue. If this is a glorified side project, you really don't / can't care _too_ much about everything. I don't mean that as a criticism, it's just if you have little time to give the product will improve little, and the customers will get a just-ok experience. It's not surprising that translates poorly to customers. People like devotion; luke-warm commitment is dissapointing.