How much does it cost to design an app?
post by kjz · 2021-01-20T17:40:34.476Z · LW · GW · 2 commentsThis is a question post.
Contents
Answers 20 lincolnquirk None 2 comments
I'm not a programmer, so I have very little idea of how much it costs to, for example, write the code for a website or app. Suppose I wanted to hire someone to design a very simple, secure, and easy to use app - how much should I expect to pay in terms of time and money? To work with a concrete and timely example, suppose I wanted an app that would do the following:
- Let people enter the minimal amount of information (or use a series of questions) to help them figure out which phase of Covid vaccination they qualify for in their region (e.g. age, occupation, pre-existing conditions, etc.)
- Connect them to the correct website(s) for them to schedule an appointment if they are qualified, or give an estimated timeframe for when people in their phase might be able to get vaccinated.
- Allow for notifications, appointment reminders, updates if the rules in their region have been changed and what they need to do instead, etc.
Note that I'm not suggesting that such an app would make much of a dent in the logistical nightmare that is our healthcare and political systems. I'm using it as a hopefully easy to understand example of the level of complexity I'm thinking about.
As a follow up, how much additional cost would be needed to process payments through an app? (Again, not thinking of this in terms of the vaccine example app, but asking about apps in general).
And finally, if I did want to eventually hire someone to write an app, what would be the best way to go about it? Would people in this community be willing to help?
Answers
This is a hard question and software people will typically not want to be pinned-down on specifics without consulting with you extensively, because the depth of requirements for software projects vary dramatically. You're asking for very little functionality (which is great!) but the bulk of costs of software construction are not in the core functionality, they are in polish, bug-fixing and edge-case handling, which you included in your requirements ("simple, secure, and easy to use") but would need to be a lot more specific about, in order to get a result you'd be happy with. It's really hard to give these kinds of estimates without those conversations.
-
To just satisfy the requirements, I could imagine doing the non-payment-processing version very cheaply using Typeform or another "survey builder" for the UI, and a simple backend that just pulls the results out of Typeform and sends notifications. I could imagine throwing a prototype for this together in a few days of time for someone like me (so less than a few thousand $) but it would probably not work well, be reliable, etc. at that level of polish. Also, few freelance developers of quality will take on a project like this at that price point, because they have "seen it all before" and know that the edge cases and polish are likely going to result in a 10x cost inflation at a minimum.
-
Payment processing increases the cost a bunch because it adds new requirements for security, ease of understanding & debuggability, etc. You can often outsource the actual UI for it to e.g. Stripe Checkout though so it may not make a huge impact.
-
I don't think you've given enough information to answer "what would be the best way to go about it?" For example it sounds like you need software help, but you might also need graphic design help, product design/UX help, etc. For software help I know that freelance developers will bid on your projects on various sites (I'm not familiar with which sites are currently considered reputable and I haven't done this myself so I don't know how hard it is to figure out which bidders are any good). But it's unlikely you'll produce a "simple, secure and easy to use" product without getting help in other domains as well. It is sometimes possible to convince people to work with you for free if they like your idea (and you).
↑ comment by Ericf · 2021-01-20T18:37:45.012Z · LW(p) · GW(p)
What they said. Also, for the specific example given, consider:
- In the time it takes to code & deploy, how much will the rules change? How long will it take to find 50+ different sources of data, make them conform to a single format, and make them available, and will the data from the 3rd source change while you're finding the 50th? (Hint: the answer is yes)
- Who is the customer for your app, how many of them are there, and would they be likely to have already used Google and/or Excel to solve the problem?
↑ comment by kjz · 2021-01-20T22:33:32.612Z · LW(p) · GW(p)
Thanks for the very useful feedback. To answer your questions:
- For the vaccine example, I agree that would be a huge problem and probably make it totally unworkable. Your hint is right on. For my real example, the "rules" wouldn't change much at all, or only very slowly (on the timescale of months or more likely years).
- The customer is any individual with disposable income. There is not a way to use Google or Excel to solve this problem. As for how many there are, it's either something that would never take off and fizzle out and die, or it could become a service that millions of people find invaluable. Hard to predict in more detail than that.
↑ comment by Ericf · 2021-01-21T03:31:00.860Z · LW(p) · GW(p)
Nobody spends income just to spend it, they only do it for some combination of:
- To get something they need to stay alive
- To save time and/or energy on a task they do often
- To get something that makes them happy (eg entertainment, nicer versions of things from category 1, etc.)
Hint: apps are never #1, so are you saving people time on something they are already doing, or are you giving them something new that makes them happy?
In either case, you need to decide what kind of person would be interested (eg people who care about getting vaccinated as soon as possible), and where they fall on the https://www.nngroup.com/articles/computer-skill-levels/ ranking. That will inform the level of polish your app would need. And if there are enough people who would want it.
Replies from: kjz↑ comment by kjz · 2021-01-20T22:21:12.741Z · LW(p) · GW(p)
Thanks so much for the quick and detailed reply! I agree I haven't provided enough info yet to let you (or anyone) answer the question well. This is mostly because I came up with my real idea very recently, and I'm a total rookie in this field so almost everything is an "unknown unknown" to me at this point. Also, for now I want to avoid giving too many details, until I've worked out the idea more fully.
But to address some of your points and provide some additional info that may be helpful:
- It's great to know that edge cases and polish result in a substantial cost inflation. This is something I wouldn't have predicted. Providing a simple and intuitive user experience would be crucial to this idea, and I would be willing to spend extra time and resources to make the user experience as seamless as possible. In my (admittedly naive) mind, I'm imagining making a fairly optimized and well designed user interface, letting test users play with it and give feedback, then ultimately releasing a very professional and intuitive final version to the public. As you mentioned, I'm sure I would need a lot of help with graphic design and product design, since I've never done this. (Side note: is UX user experience?)
- I'm not in a rush to get this to market quickly - as I said I think it's more important to prioritize quality over a quick rollout.
- I also plan to give users very limited options for how to interact with the app. Simplicity and making it obvious how to do what they want to do is key.
- Regarding payments, I would need to be able to accept payments from individual users, and make payments either to other users or to companies. The idea is to provide a service where individual users would sign up for an automatic monthly subscription by whatever method is easiest for them (credit card, Paypal, etc.)
Hope this helps and I'd be happy to hear any further suggestions!
Replies from: Ericf↑ comment by Ericf · 2021-01-21T03:43:10.972Z · LW(p) · GW(p)
"And make payments" implies network effects, which has a chicken+egg problem of needing both payees and payers in sufficient quantity to warrant signing up (or N times more work to interface with N different payees existing payment front ends without their help) Not recommend for a "first good idea"
Also, too, your kernel of an idea isn't that special. Probably half the people on LessWrong could have thought of it, if they gave 5 minutes of thought to whatever domain its in. All the value is in coordinating the execution, not in coming up with "hey, what if you could pay some rando who was already going downtown to drive you downtown, instead of (trying to) hire a cab?"
Replies from: kjz↑ comment by kjz · 2021-01-21T14:20:02.921Z · LW(p) · GW(p)
Also, too, your kernel of an idea isn't that special. Probably half the people on LessWrong could have thought of it, if they gave 5 minutes of thought to whatever domain its in.
Totally agree. But remember - the vaccine app isn't my real idea. It's the idea I came up with to use as an example after 5 minutes of thought :)
I really appreciate all your comments and taking the time to engage with this. They're helping me think about the actual idea I have in mind much more clearly and in more detail. Thank you!
2 comments
Comments sorted by top scores.
comment by Shmi (shminux) · 2021-01-20T20:12:26.015Z · LW(p) · GW(p)
You may want to read the tweets by Patrick McKenzie about his call for something similar and how it worked out: VaccinateCA.
Replies from: kjz↑ comment by kjz · 2021-01-20T22:38:43.082Z · LW(p) · GW(p)
Thanks for the recommendation - very glad he is doing this. My favorite part was this paraphrased dialog with a pharmacy:
Us: How would someone make an appointment with you?
Pharmacy: Go to the county website at...
Us: You know you're not on that, right?
Pharmacy: WHAT.
Inadequate equilibria at their finest. I wish him all the best in his efforts to make them more adequate.