I'm still chasing the dream of having a side-business and earning some side money, but with web apps it means mostly SaaS. Personally I hate rent-seeking behaviors (I'm not alone, it seems - "Tell HN: A Conversation Needs to Be Had over Subscription Software" [2]), so I'm trying to know what people are doing regarding desktop apps.
Are people still building desktop apps? More specifically, can you make a living (or earn some side money) in 2022 by selling a desktop app? Please share it with us, or are we doomed to build web apps and SaaS for the foreseeable future?
Although .Net went multiplatform years ago, my app relies on WinForms a lot so it's Win only, except through Wine. I would love to support Mac as well but the only realistic option looks to be Electron based, and it would be a significant step back for my Windows users. Maintaining two different GUIs looks like a problem for micro company.
The best thing about desktop software is it can't break for all the users at once like server-based app can. That gives some piece of mind when you're micropreneur. Sure, there are bugs, but they affect only users who downloaded buggy version. You can't crash all installed instances just like that.
The worst thing is, it's hard to ask for a subscription. Yes, I hate it as a user, but would love it as a business owner :)
We have a desktop app that processes DICOM data to do implant treatment planning (where to place an implant in the patient jaw). Output is a STL file to print a drill guide for the oral surgeon to perform a guided surgery.
Our desktop scanners for dental labs and our intra-oral scanners for dentists generate 3D meshes of the patients oral situation.
Those meshes are the input data for the CAD/CAM Software my team builds. It is a desktop app for the digital design of dental restorations. The GUI is in javaFX and 3D visualization is done with OpenGL 4.5.
Once the restorative Design is done, that app can generate many different output formats. Labs will feed the design files their local milling machine or 3D printer. Dentists can send it to centralized milling facilities of their choice to produce the crown or bridge or what have you.
Some impressions can be seen here:
The tech stack for this app is really interesting (to me at least, natch). Lots of native node modules that need finesse on both macOS and Windows. I don't yet support Linux because out of thousands of users, only 2 people have emailed about Linux support (probably both from HN!).
I really love building Electron apps. It's a total joy bringing something (albeit "inefficiently" wrt memory and "native" qualities) like this to market for a niche that's otherwise a dumpster fire of old and clunky 1980s-era Windows-only software.
As for licensing, Label LIVE is licensed per computer. I wrote a custom license implementation leveraging JWT. The JWT is signed by my license server and the app verifies the signature and that the contents match the "fingerprint" of the computer being licensed, expiration, etc.
It was a long way. I started in the Pro Audio niche and initially supported Windows, Linux, Mac. Over time, I learned the hard way that supporting Apple's constantly changing OS is very expensive, plus Mac users tend to act the most entitled when stuff doesn't look or feel like their native OS. And Linux just never sold a license, instead I got lots of Open Source bitching. So eventually, I dropped Linux and Mac support, doubled down on the new Windows APIs and then things got nicely profitable. Price is one-off $299 for the regular app kit with perpetual updates (so far). People use the apps for making movie sound effects.
Having been out of the web app development bubble for about seven years now, there's whole industries that work entirely in the pay-for-it-and-then-download model, and while games-as-a-service is more popular now than ever before there's still plenty of the old-school way of doing things going on.
I really like the simplicity. You can buy the thing, maybe from Steam or maybe from a DRM-free store like Humble, download it, play it. You can get a refund if you don't like it, or buy another copy and gift it to a friend if you do.
[0] - https://store.steampowered.com/app/386900/The_Cat_Machine/
[1] - https://store.steampowered.com/app/654960/The_Eldritch_Zooke...
It has this features:
* B2B in a niche market (TAM < 100K-200K users)
* Some viral component so you do not have to spend money on ads for growth.
* Sold as a subscription and only as a subscription. Don't innovate with licensing focus on product, this is important. When users have fewer buying options, they decide faster. That's why Steve Jobs reduced 50 Mac models to just 3.
* When the subscription ends, the application must stop working. This is also very important. You want your entire user base to be able to install the last version. You do not want to support older versions, you only want to support one.
* Has to have a very generous trial so that users have time to find use cases with your product. Better a trial based in actual usage instead of exploding trial base in calendar days. You want your users to actually use your product and depend on it.
Go onto any software listing site (eg. Softpedia or AlternativeTo), pick a not-a-brandname commercial product and chances are that it will be a single-person project. From things that are really well-polished and look like a team effort to pimped-up crappy weekend projects. Lots and lots are made and run by a single individual.
Whether they sell well is an altogether different question, but it's generally not hard to make several $k per month off a decently useful consumer desktop software. All depends on the size of the niche, the fit (read, specialization) of the product, its quality and the amount of marketing effort.
This business model is still often referred to as "shareware", so if you want to find communities of people that are involved in it, that'd be the keyword to search for.
That said, long-term, we expect to earn more from subscriptions for businesses, than we do from single-user lifetime licenses. But again, ATM, it's the single user licenses that sell well.
My latest product is a drag and drop tool for data transformation (merge, split, clean, dedupe etc): https://www.easydatatransform.com
Things have mostly moved to web, but desktop apps still have major advantages in some areas: -less latency -data kept locally -better development tools
Recut[2] is an app that basically does what Atomic Edits aimed to do, but actually succeeded. I think it's because it was a native Mac app which meant it had access to better libraries for editing videos. (That or I gave up too early on Atomic Edits.)
Orbital[3] is desktop app that allows you to search, filter, preview video files on your computer like YouTube. I posted on some subreddits and it had potential but I realized it wouldn't be enough to sustain me. It could've worked as a side-project (if I was working as a SWE) but being as my main source of income was from YouTube ad-revenue, it wasn't worth it.
VideoHubApp[4] is a desktop app that does what Orbital aimed to do and actually earned a couple thousand dollars. It was started a few years earlier and was built with a similar tech stack.
All that is to say, I made desktop apps that had potential, but didn't have the funds to see them to completion. Of course you could say it would be different if I had a SWE job + funds, but then I may not have had the time to learn React + Tailwind + Electron and complete these apps.
[0] https://github.com/SuboptimalEng/atomic-edits
[1] https://www.reddit.com/r/webdev/comments/ohbl6i/i_made_a_des...
I am planning to create another app that might generate a similar income stream. I've done 0 paid advertising - only some posts here-and-there; I would probably have more sales if I knew how to market my app better.
https://videohubapp.com/en/ - MIT open source: https://github.com/whyboris/Video-Hub-App
It begins with collecting ideas from websites and files, moves the ideas into an outliner, then supports organizing relevant ideas according to a report outline, and finally, supports reviewing relevant ideas while the user writes each section of the report.
I gave away 850 free copies that were good for a year and sold a couple dozen copies. I'm trying Reddit ads now. Zero success. It's daunting. I'm struggling and depressed. It's a damn good application, but I can't find a way to reach my audience.
Stuff like this, https://www.biotek.com/
I have done WPF and Windows Forms for companies using such kind of hardware.
Qt is the major alternative for these customers.
Also note that iPads and Android tablets with plugged monitors are a kind of desktops.
In my case a web app just wouldn't work very well (it's hard to connect a web app to things behind a firewall)
I'm also a firm believer in pay-once software, you still get recurring revenue unless you saturate the market, which a small company won't do anyway.
My perspective is Enterprise is hard to hit with SaaS. It's also hard to build an integrated (AD/Network/Data/Files) desktop solution. It still seems more viable to start with a standalone, offline, Desktop solution that individual enterprise employees might consider trying / e.g. something like an app that replaces excel with better efficiencies. Maybe while building some SaaS-like component (advanced processing in cloud, API integrations, etc) that still opens the door for non-enterprise users. Ultimately while building a portable/cots cloud based solution. Further letting you evaluate ways to pivot in either SaaS or COTs in the future.
Im still not confident that an MVP approach shouldn't just always accommodate seemless accessibility (SaaS) for a larger general market, and that I shouldn't discount enterprise requirements for non-corporate LAN user bases.
Many our customers specifically looked for an on-prem solution as they don't want to deal with SaaS and its privacy issues and use-based pricing. With an on-prem tool like ours they get unlimited runs, unlimited data volumes, unlimited use for a reasonable fixed price.
I believe SaaS is overhyped and in a few years the trend will change toward on-prem SaaS-like apps and platforms.
It being desktop-first makes it as easy to try out in a corporate environment as Sublime. The data never leaves your machine. Desktop-first is a big deal in devtools for this reason.
It isn't released yet, but I do have some loyal beta users, so I'm hopeful that some of them will buy the app once the last couple of issues are fixed.
There are a surprising number of "controls engineering only" shops, it's not clear to me how that kind of business works out logistically when so much of the software requires certain kinds performance from the hardware and vice versa.
Similarly, with software, I am more likely to purchase desktop software from the MacOS app store. I feel exposed giving my information to a company I may not have heard of before. I do buy a lot of useful looking desktop software on the Mac OS app store.
It must be tough converting enough customers though and pricing is not easy.
Tried to sell it for $5 home / $14 office, but only got a handful of purchases. I still personally use it every day and have probably collect 10k+ Snips across all my computers. I converted the entire program from VB.NET -> C#.NET over a year which burned me out and I've kind of just let it wither due to lack of interest.
I aimed for the "10x better" than free tools, but most people are fine with the Windows Snipping Tool. :shrug:, on to the next project. I recently added an achievement system and a screen Gif capture feature, but haven't found the energy to polish+deploy those.
- Mission Control Plus to enhance macOS' Mission Control: https://fadel.io/missioncontrolplus
- Batteries to see your devices' batteries from your Mac: https://fadel.io/batteries
Between public & private grants and the occasional consulting gig to add a feature or support contract, I can live :)
Tech stack is C++17/20 & Qt, I target Win / Mac / Linux (and mostly develop on Linux).
A lot of applications in the legal realm are like this, I was shocked to find out how many Judges won't allow the usage of wifi in their courtrooms, and that you can be hit with contempt for using the internet during a trial.
That and building applications that are specific to hardware devices, such as fingerprint scanners, and thermal imagining, it could be done via a service and a web front end, but at that point you are doing more work, for no real benefit.
For side-business it'll be a lot tougher than it was when I started 30 years ago.
Even if the company is planning to implement something web related in the near future, the business is on the desktop and there are no plans on taking it entirely to the web anytime soon. Mining companies prefer it that way, as internet connectivity is not something you can reliably find on site.
[1] https://iring.ca
My personal experience with selling other desktop apps over the years (many of which are now discontinued) has been that either people would pay for it (at all) or they wouldn't, after which it's mostly a matter of marketing to get more eyes on it. That is, I've had several other apps that didn't sell a single copy no matter how much traffic they received. And for the ones that do sell, doing targeted ad campaigns can definitely drive sales up, but in turn can be pretty expensive.
It has a healthy amount of discussion.
Lots of single person indie success stories there, such as "Papers please" or "Stardew valley".
Seminal example in this genre is probably Minecraft (which of course expanded to a team before acquisition).
Outside of professional work, I’ve jumped right back in to Ham radio over the Corona times, there are lots of desktop applications in use there (DSP mainly) but usability and support for hardware (both devices, and platforms) is hit and miss and I have a few ideas for making my own versions as side projects. Several of these are paid - so do you have any hobbies or niche domains you’re knowledgeable about that you could explore?
I’m building https://getmumu.com and the revenue is still growing strong over time.
And it’s been fun to make something that earns money yet people love the product.
I am using both Dolphin Smalltalk and Free Pascal/Lazarus. Both produce very good looking forms in Windows at least, which is my target platform. Both are easy and quick to develop in, particularly Dolphin. Both have powerful events systems, sane object systems, both very amenable to MVC. Both backed backed by SQLite3.
Selling point for users is that user data is retained locally and not sent to a remote server, execution speed, and familiar workflows.
Although today there are many online tools for help documentation writing, many users still prefer desktop software due to various reasons: from security and reliability, to better performance and better UX.
In the past, we offered only perpetual license with free upgrades within a major version (e.g. 5.1, 5.2, ... etc) Since July 2021, we offer 1-year subscription licenses. So, about a half of year is still required to see how the new licensing model works.
The profit is enough to support a small and agile team though our niche got a bloody ocean and we have to run faster and faster only to stay in the same place.
From my experience, desktop software still works well in vertical and professional niches. In B2C or mass market, mobile and web tread on.
What sets us apart from other software in the market ist our internal "workflow" engine with a graphical (flow chart like) editor. (somewhat similar to Node-RED)
Our customers can use it to program the reactions to the alarms (calls, mails, SMS, comparisons with states, user entry, reporting, etc.) individually to their (or their customers) demands. But some of them go further and use it to implement all processes of their company.
We also offer consulting, customizing and individual development for our software.
Often, german elementary teachers are facing the following situation:
Consider a typical class of children with only a half of them capable to understand german. The teacher then constantly switches between those two groups trying to help each child as good as he/she can. That can be very frustrating because the teacher simply does not have the time to help each child as it needs (because the non-german speaking children often really need a 1:1 care to learn efficient). The other half, the german-speaking children, will quickly come short as well.
So we developed a learning software which is so simple that every child can start learning with it instantly.
The problem we are solving with it: The non-german children are now able to learn for themselfs without the need to ask the teacher while having great fun and much better progress than before!
Once they are at a level where they unterstand the basic german words, they can follow the lessons much better which results in much higher quality of the lessons for them and beeing able to learn even quicker each time.
As our small two person team consists of a elementary teacher who is working every day with those children (and is therefore constantly improving our products as she's using it in her own class) we know exactly what those teachers want for their children and what is giving the best results and motivation for them to learn german!
It is a great joy to help all those children - it does not make big numbers in terms of revenue but it will enough for a living shortly. That's more we ever dreamed of as we started nearly six years ago :-)
Pros: - You give customers the magical feeling when the app reacts instantly because the front-end doesn't have to wait on a round-trip to the server to execute complex business logic. It actually blows customers' minds to realize how powerful their computers are when you use the hardware well and don't have to wait on the network. - You have a very low infrastructure bill. - The platforms/frameworks/libraries are pretty stable compared to the webdev world. You do less migration work and get to become an expert in something that will be around for a longer time. - It's easy to develop and test locally in a 'production-like' setting. I make sure my hardware reflects my customers' hardware. - You can trace every line of code after main(). It eliminates a lot of complexity and a whole category of service communication bugs (and introduces other categories of bugs :)). - Developers are usually more predisposed to thinking about performance (in my experience).
Cons: - You have to buy & renew code signing certificates, which is a hassle when you're independent or a small company. - You have to build/buy/maintain some form of installation/update system and be prepared to deal with users who refuse to update. - You have to deal with corporate IT departments & their security requirements (we're B2C). - You typically want to customize at least some parts of the UI/UX for Mac/Linux/Windows. - You run into bugs from clients that are hard to debug because "it works on my machine", and you don't have access to theirs.
It's definitely a trade-off. I can understand why most devs/companies don't choose to be on the desktop.
Was using Java Swing until very recently. Switched to Kotlin JS in browser, not sure it can count as desktop anymore.
I’m not making enough to quit my 9-5 job but I didn’t build the App with that in mind. Built it because I needed to scratch my own itch and figured others might find it useful too.
In Photography there are a lot of desktop apps that are custom. More now than in a long time thanks to Adobe going subscription based.
At least for the time being, in my opinion, a web-based photo DAW, editor is not practical.
I might be wrong on that already,
But enough photographers feel that way for now that there is money to be made.
The App store has some great independent desktop applications.
But only temporary. All the other contracting jobs and internal projects are Linux or baremetal firmware only.
The app is developed in .Net way back in 2006 and I keep updating it periodically.
Quickbooks for that matter as well.
I think what I miss the most are the really lightweight desktop applications that use very little resources but still help accomplish very large things. People love to rag on Windows for the fact that it maintains backwards compatibility but that has also allowed some fairly old but amazingly efficient applications to still be useful today.
My personal favourite example of this is a one man shop developer from Japan who makes some insanely reliable and useful tools on Windows:
FastCopy:
This tool has been around since 2004 and the original developer is STILL regularly updating and improving it. It blows away every other file copy tool on Windows out there (even the fanciest paid solutions) and the interface is dead simple and easy to use while still offering lots of advanced features. Many years ago I had to regularly move terabytes and terabytes of data to external drives that were then driven between VFX houses in Los Angeles. A lot of these outfits were basically smaller startups so often we would have multiple drives connected over USB to a single workstation with a 10gig link back to the storage server. I did extensive testing comparing every tool out there and not only was this thing a little faster than even the best CLI tools it also destroyed the others in terms of reliably transferring data over connections that were not always reliable. If the USB interface dropped for a second a lot of the other tools would fail or start doing a diff compare from scratch while this thing just happily chugged along. And once I had set it up and enabled the right click menu integration it was easy to train someone who was not very technical to use it. It even beat every Linux based solution I tried in reliability.
IP Messenger:
Same guy also makes IP Messenger which is a ridiculously light text chatting tool. It only works over LAN (hence the name) but requires NO central server, has tons of customization options (and can also be locked down in a business environment) and is pretty feature rich. It is also regularly updated and is end to end encrypted and will run on the slowest of the slow machines. And it has been around since 1996!
Both of these are free but I would honestly pay pretty good money for them if I was running my own business.
it was making some decent amount, i was a student at that time, so it was very satisfying experience; better than working for macdonald ;)