17 ms·
Ask HN: Anyone making a living off of desktop applications?
I have this side project that has been stuck for quite some time, because I can't seem to make up my mind if I should go with a desktop or a web application. Is any single developer or small team making a living of desktop apps, and are they still relevant?
My side project is a kind-of productivity application, and my target users are not really technical people and will probably have one computer, but as I'm a "lonely" developer (working alone) I have to think about the future, and so I have to try to make the right choice on this..
It would be great to hear both successful and unsuccessful experiences made by single or small teams of developers..
- partisan 10y agoThis type of analysis paralysis will kill your project. > I have to think about the future, and so I have to try to make the right choice on this.. You don't have to make the right choice right now. For now, focus on getting something complete so that you can prove the idea out.
- codecamper 10y agoseparation of concerns. Just write the logic in a fairly portable language.
- jventura 10y agoI do have it in Python! I've successfully build some frontend experiments with Android (http://joaoventura.net/blog/2014/python-android/ http://joaoventura.net/blog/2014/python-android/), Web (with Flask) and Qt (PyQt5 and pyotherside). My problem is with the choice of the best frontend approach, and since I'm only one guy working on this, I am trying to find my "best" decision..
- Retric 10y agoGenerally, if it works as a website use that. Desktop apps are for things you can't do with a website. EX: File system tools, AAA FPS, etc.
- stcredzero 10y agoIt's not about making the ultimate right choice. It's about not getting trapped in a dead end, or in a situation where you can't change your mind.
- partisan 10y agoThere is virtually no dead end corner that the OP can paint him/herself into. They could pick literally any language or approach, platform or format, and create a successful business from it. The risks come from not being able to _easily_ make changes, but those risks are mitigated by the choices you make in developing the software, at an architecture level, using proper design and weighing out the realistic possibilities, not the universe thereof. Concretely, if you create a web-based API, then you can put any front-end on it. If you layer the application correctly, you can move some of the layers closer to the client as needed, adding caching for performance. If the problem is one that can only be solved through a desktop application, then the whole question was moot to begin with. I've seen enough Excel-spreadsheets-as-million-dollar-business to know that the only thing standing between you and your completed product is yourself, especially when you have technical skills to actually do the work.
- stcredzero 10y agoThe risks come from not being able to _easily_ make changes In my experience, this is pretty much the same thing as being unable to change your mind.
- partisan 10y agoIf you are a developer and good at what you do, you will layer your application to buffer against changes. If you aren't then just write the code the best you know how because building a business AND learning how to be a good coder at the same time is not the most efficient path. That path is littered with constantly rewritten, half-finished, failures. Get a product out and then figure out where you could have done better.
- 10y ago
- ComputerGuru 10y agoObviously people still are, or else commercial desktop software would no longer exist/be maintained. Not being snarky, just saying it's a non-question (and that our company certainly is a "we do" response to your post).
- ralmeida 10y agoI believe OP would like to know about solo operations or very small teams, side-project-sized operations.
- ownedthx 10y agoWe have a desktop application that uses QtWebkit for the UI. We had no choice technically-we need to use audio APIs on Win/Mac to get our job done. Based on my experience, I would not recommend building a desktop app unless there is a technical reason to do so. Data storage, building installers, signing your app for target OS's, and dealing with auto-update are all technical problems that I'd prefer to avoid if I could. Building cross-platform code is also a pain and, while totally doable, will slow down a team that is not familiar with it, I think. If I really needed to build a desktop app in the future, I'd investigate building building a headless app that hosts a websocket, and use the user's browser to connect to a localhost websocket to communicate with it. (i.e., a technical choice freeing my from Qt)
- aaronsnoswell 10y ago+1 for using a wrapped-web stack approach. We've recently taken another look at the Electron/NodeJS/WebSocket stack - it allows you to build a native app using web technologies, even calling native (WinAPI) calls. This space has really come a long way recently.
- pabloski 10y agoHi, if I can ask: "why QtWebkit instead of Qtquick?".
- jventura 10y ago+1, I'm wondering if anyone is using Qt Quick for productivity-like desktop applications?
- arpaG 10y agoThere are still financial desktop applications. Some old school people insist on using them.
- uhtred 10y agoI can understand some people not wanting to send sensitive financial data across the web.
- longzheng 10y agoI've published a desktop Windows app before with a freemium strategy. It was developed by a team of 3 after hours. We didn't make a living out of it because we wanted to keep it as a hobby project but it paid out well enough to be considered a small business. I don't have any advice on whether your app should be a desktop or web, it all depends on what is the app, who your users are, where are your users using it, what are your competitors, what is easier to develop, etc. All I can say is that desktop apps can still be profitable in recent years, but I can't say it will be profitable for your project.
- dejv 10y agoI make living off desktop app in construction industry. The app is 21 years old and is still written in Delphi 5. I still actively maintaining it and it runs fairly well on modern Windows OSes, but there were some low level problems in recent years. We are team of two: I am sole developer and there is another person doing sales, support, training and all the rest of stuff.
- danieltillett 10y agoWhat are the low level problems you have been running into?
- dejv 10y agoThree main things: - memory space for printers and sound cards changed in Vista, so when you have some constellation of printers and you change the printer in dialog whole program just crash, because it is trying to touch restricted memory or something. - running Paradox in network is quite difficult. Whole database was written in 80s before things like tcp/ip was thought as a good thing and all the networking part was hacked inside and it shows. Because of weird architectural choices made 20+ years ago I am not able to migrate out to sane database without rewriting whole application. (250+k lines of code) - BDE could be quite unstable in various scenarios and you spend quite a lot of time fiddling with memory space, memory size and other variables to make it work.
- stcredzero 10y agoThree main things: - memory space for printers and sound cards changed in Vista, so when you have some constellation of printers and you change the printer in dialog whole program just crash, because it is trying to touch restricted memory or something. Can this functionality be separated out into a different process, or called from a DLL compiled using Visual Studio?
- dejv 10y agoProbably not: the application has around 100 printouts (with tons of spaghetti logic behind it making it impossible to count all variations) and it will be very hard to switch to new reporting framework. The big problem with legacy software without huge user base and limited space for growth is that it just don't make sense to invest huge amount of time and money in it.
- i336_ 10y agoFrom a desktop-application standpoint, the Web provides something very useful: easy upgrading. Like, you go to a URL, and if you aren't seeing the latest production revision of the site code, that's a bug. IMO, if you think you'll ever have edge cases where users might struggle to stay connected to the Web, think about doing a desktop app - but even then, consider using eg Electron/QTWebKit/similar so you can continue to use HTML. The only situation I would shy away from using the HTML/CSS/JS approach with new general-purpose PC-centric applications is supporting older hardware - I like my apps to remain snappy, but sadly even Webkit tends to lag (generally speaking) on anything older than an i3 or so.
- windowsworkstoo 10y agoYet the same feature can be a pain in the ass as you don't control your upgrade destiny. I know, I know, git orf mah lawn! But when you see normal folks totally confused because the developer decided to "upgrade" their experience in a way that was totally out of the users hands, it can be cringey.
- i336_ 10y agoYeah... that's very true too, I hadn't considered it from that angle. I will admit that I far prefer software that runs fully locally; if I don't like the direction a particular program has gone, I can either just use an older version. And I do also find it jarring to open an app and be met with some new layout or design, or discover a new feature buried in a menu that wasn't there before. It would be really nice if app design was at the point where we could go "okay, here's a bunch of new features, click this button to switch over!"...
- danieltillett 10y agoI do, but I use a SAAS sales model. I think trying to use a one and done sales model is hard these days.
- GnarfGnarf 10y agoYes, I am thriving with a niche C++/Win32 graphics app. Web apps are a long way from having the responsiveness and control of a desktop app. Do you really think users will be doing Photoshop and AutoCAD in a browser? No matter if you have a fibre op connection, the lag is always there. Recently the main player in this domain moved to Web apps. There was an overwhelming protest from its customers, who insisted they prefer the desktop version.
- AshleysBrain 10y ago> Web apps are a long way from having the responsiveness and control of a desktop app. I don't think this is the case. Facebook never needed desktop apps, did they? The web worked great for them.
- wslh 10y agoBut they have a native mobile app where the FB main consumption happens.
- gcatalfamo 10y agoI don't think you can compare the way you use Facebook with the way you would use AutoCAD or Photoshop...
- AshleysBrain 10y agoMaybe not for those cases, but a lot of apps aren't as demanding as those. So I don't think you can say in general that the web can't compete with desktop apps, maybe only just for specialist cases. The web is good enough that it didn't stop Facebook becoming a billion-dollar company. Mobile is a different matter, but think on desktop how many services are fine to work web only on desktop with no desktop app (especially if they have a mobile app).
- fekberg 10y agoDepends on the audience and the application. As Photoshop and AutoCad are both mentioned, I think that's the benchmark and not something like Facebook that wouldn't benefit as much from running as a desktop client. On a side-note, didn't Facebook just release a new UWP app and didn't they regret going the HTML5 route to start with (not focusing on native apps)?
- asimuvPR 10y agoOh, the future. The land of what ifs. Listen, you described your market already. Non technical people go to Google and type in facebook.com. A simple desktop app that they can just click will do. Still worried about future proofing it? Put it inside a webview and move on.
- dorfuss 10y agoOff topic - googling facebook.com drives me nuts. A couple of days ago I went to an administration worker at a university and asked her to help me with getting the vpn to connect to the net via university wi-fi. She told me to google the vpn to download it. I said: well, this is the very problem, I want to connect to the Internet, I cannot google it while I'm offline. People no longer distinguish between the address bar and google search, searching for files on your local drive or looking for them online. It's become one blob of "computer stuff". And you might think that when we moved from command line in DOS to Windows that was creating a new kind "stupid user". There is the next level, certainly.
- asimuvPR 10y agoThe whole UI/UX has been app-fied. The most common device an average person uses has a touch screen interface. Writing on an address bar is old. Google is now their personal assistant and facebook replaced their tv.
- d--b 10y agoThere are many ways you can actually not ask yourself that question. 1. You can package your web app into electron or similar 2. You can use a portable platform like QT or Xamarin But more importantly, you should chose the one that will help you conclude that this is a good idea sooner. You'll probably end up rewriting the tool once you get feedback about where it rules and where it sucks. So I'd say that unless you want to do that side project to learn something new, stick to what you know best (and what you know will work). That'll get you to the point where you can decide whether this is worth pursuing faster.
- jventura 10y agoThat is the tricky part, is that I know how to make web apps (used to work as backend web developer), desktop apps (did my fair share of them), and can also play a bit with Android (did some small experiments and patches for Cyanogenmod). It seems that I just need to commit to something and work from there..
- AshleysBrain 10y agoOur startup develops a HTML5 game editor called Construct 2, which is a Windows desktop app (Win32). We've been running about five years successfully with that. I'd say depending on the market it can still be relevant, but I don't know for how much longer - Windows in particular seems to be trying to drag developers away from Win32 and the new Windows Store UWP apps. Note that Windows Phone and "Windows RT" can only run Windows Store UWP apps, with poor support for Win32. MS continue to push UWP hard and I'd expect to see more MS hardware in future with no Win32 support, which is a little worrying, but doesn't seem to be happening fast enough to cause any kind of panic. I'd add while mobile seems to be the trendy place to start a startup, most productivity apps are still easier and faster to use with a keyboard and mouse. So desktop-first can make sense sometimes.
- wslh 10y agoOne of my two small companies develop Windows development libraries for use in desktop and server applications and I see the native desktop apps doomed, except if you are targetting the enterprise (best in niche markets) and you know how to sell to enterprises. Rule of thumb #1: if you can build the same application for the desktop or the web, choose the web. Don't think more. My company does Windows drivers and some other operating system internals stuff that is impossible to offer as a web app and this is the reason I can't follow this rule. My last suggestion is trying to attach your app to other revenue streams such as trainings, customization, integration with other apps, and any other service that make you escape from selling individual (and probably cheap) units of your product.
- jventura 10y agoThe application that I want to build is for a niche market (but not for companies), that is why I am in doubt between desktop and web. One thing that makes me want to stay way from web is that if this thing does not work, I would like people to continue using the application, even if I don't update it anymore. If it runs on a server, I will not be able to stop the server until everyone stops using the application for some time. I know some people kill services without thinking too much, but this is a very small niche and my name is relatively known there.. The other reasons of wanting to stay way from web-only is that then I have to take care myself of everyones' data (think application data, settings, etc.); front-end web developments is a pain for me (too many options, none good) as I'm mainly a backend developer; and then there's the latency problem. As I think I said above, my application is something like a productivity application, where everyone does his own thing and there's no intrinsic need for "social" or "sharing" things. The only reason I can think for web is discoverability, hence my doubts, if "discoverability" beats everything else (for desktop apps)..
- wslh 10y agoHow long will it take to develop your desktop application? If it is just a few weeks or very few months go for it and test the market. If it doesn't work after spending some marketing efforts move away. Indeed nobody can predict your success. Again, I think it is very difficult to attack the desktop market even if you target a niche market for end users. Enteprises uses are a different story. One more thing if you insist: look at the OSX desktop market too because the dynamics of the end user consumption are different from Windows.
- suhastech 10y agoI've been developing Horcrux Email Backup[1] over the years. The application had to be desktop by the nature of it. I'm not a living out of it but it is a very good side income. Given the fact that I live in a third world country helps too. [1] http://thehorcrux.com/ http://thehorcrux.com/
- ommunist 10y agoVery nice programme, that saves a lot of bacon. Please keep it maintained, I beg you.
- DizzyDoo 10y agoI'm making video games for PC, Mac and Linux (like this one - http://store.steampowered.com/app/386900 http://store.steampowered.com/app/386900), it's a very traditional release cycle, I work on a project for x months, and then I release it, moving onto the next game after a few weeks of post-launch support. PC games are generally seen as more valuable than mobile games, so I don't need to sell a terribly large volume in order for me, a single developer, to make a living.
- ownedthx 10y agoMind sharing your stack?
- DizzyDoo 10y agoNot at all. Unity is the engine I use, these engines are immensely valuable to developers like me, I can't invest years into building my own stable core right now, and although it has its rough edges and problems, it suits my projects very well. Builds to all sorts of targets, too. For my latest project I'm using the FMOD middleware for positional 3D audio. On the graphical asset side of things, I paint everything in Photoshop, and animate it in the amazing animation software Spine (which has an open source Unity runtime).
- ownedthx 10y agoThanks!
- fitzwatermellow 10y ago+1 for Spine. Will literally change your perception of what's possible in sprite animation and illustration ;) Check it out: http://esotericsoftware.com/ http://esotericsoftware.com/
- DizzyDoo 10y agoOh man, Spine is amazing. The latest 3.0 release has some great new scale features, and the fact that you can browse all the runtimes on github and submit patches is just the best. And the community is great too, lots of support on the forums, and bugs I've reported were fixed in days. So yes, Spine is absolutely worth the investment.
- user_0001 10y agoI sell desktop software to individuals (not business / industry) at a cost of $50-$100. I have tested SAAS but have seen that: * People trust a desktop app more. * People value a desktop app more as they feel they "own" it and will pay more YMMV
- mherrmann 10y agoI'm just launching a file manager (https://fman.io https://fman.io). In general I'd say use web / SaaS whenever possible. If you do go with desktop, you may be interested in a blog post I just wrote about the technologies we ended up picking: https://fman.io/blog/picking-technologies-for-a-desktop-app-in-2016 https://fman.io/blog/picking-technologies-for-a-desktop-app-....
- jventura 10y agoI read your blog and it seems that you have something similar to my case, at least as technologies are concerned. I also have my business logic in Python and one of my ideas is PyQt (or Qml through pyotherside). How are you shipping the application to users without Qt or Python installed? Are you using something like cx_freeze?
- mherrmann 10y agoI haven't fully decided yet but was thinking of using py2app. I have to see.
- kowdermeister 10y agoVery good idea, if you can pull off what sublime did to text editors, then take my money :) I'm still using Total Commander, but I definitely see the need for a more focused app that help my directory browsing habits. Subscribed, rooting for your project.
- mherrmann 10y agoThanks! :-)
- kidproquo 10y agoVery cool. Subscribed. Waiting for a decent alternative to FAR Manager.
- AlikhanPeleg 10y agoFor more than 3 years now I am making a decend full time income with a desktop cross browser testing application ( http://www.browseemall.com http://www.browseemall.com) It is for a rather small customer group but still works great and is growing modestly.
- jventura 10y agoVery interesting case of subscription based desktop application, am I right? How do you manage things such as a person being offline, do you require the person to connect to the internet so that you can manage the subscription? How does your users react? Have you already started with a subscription-based approach?
- AlikhanPeleg 10y agoGenerally people will need to get online to get the latest version (which is necessary frequently to get newer browser versions). During this time the licence is also checked. In my experience the customers expect a subscription based pricing especially with an application that required high-frequency updates (I release a new version once or twice a month).
- edgytech 10y agoIt really depends on the usage of the application. What does it do? What features does it provide? What are the requirements of those features? You may need to consider a hybrid app, that has both a desktop component and a web service. If you can implement one or more of the features as a service, it will allow you to update them more easily. Also, keep in mind that a desktop app limits your install base to an OS, depending on its implementation, while an HTML5 application can be run almost anywhere.
- jventura 10y agoFor my application there's no intrinsic need for "social" or "sharing" features. It's supposed to be a productivity application where each user does his/her own thing. The target user are mostly non-technical people which probably will not have the need for have it on more than one device, so "sync" of data between devices may not be a relevant for them.. If I go the desktop way, I will probably use Qt (PyQt5) so there's some degree of freedom for cross-platform.
- WA 10y agoI run a web app and am happy with it. Advantages: - no update process - support is easier, because you don't have to dig in the users specific setup - monthly subscription model might be easier to accept for people, if they don't have the feeling of "owning" the software like with traditional desktop apps - no multiple platforms (although people want apps, but at least, you don't have to also provide Linux and OS X versions) Disadvantages: - no offline mode (some people want that) - some people want the feeling of ownership and privacy I think as a one-man business, it's easier to maintain a web app than a desktop app.
- Mr_Noodle 10y agoSolo developer of a productivity app for the Mac for quite a number of years now. Yes, desktop apps are still very relevant and at least on the Mac, plenty of people willing to pay good money (unlike, say, the mobile market). Whether to go desktop or web really depends on the application itself. Don't try and shoehorn it into one or the other. Ultimately, you'll need to find the right niche. Like in most industries, most people will fail (you usually don't hear their stories) and success will most likely not be immediate. Doing things solo is tough so some general advice: - You are going to be wearing many different hats but if you can afford it, contract out what you don't do well (like design, for many programmers). - You have fewer resources but also a lower bottom line. Don't expand without taking that into account, not just for the moment, but for the long term. It will affect how desperate you get with your revenue model. - Don't undercharge (especially if you go desktop). As mentioned, people still appreciate the value of desktop software. Probably a lot more but those are the main ones plus I have support emails to deal with.
- SyneRyder 10y ago> Don't undercharge (especially if you go desktop). This is incredibly important advice! Marketing & actually finding customers is the hardest part of the business, so if you only need a few customers, you'll be way ahead of the pack. I know someone who is selling a Photoshop Plugin for $100 and seems to be doing okay from it, even though that's more than the price of Photoshop Elements itself! If your product is valuable enough to your customer, they'll pay for it. If they're earning $100/hour & your product saves them even two hours of work, it's a no-brainer. > ... plus I have support emails to deal with. Don't forget this when considering your pricing. Some percentage of your customers will always need support, and you need to account for all those 15 minute blocks where you're helping people. If you're selling a $2 app, a single support email wipes out your earnings from several sales.
- mattront 10y agoOur desktop app Pinegrow Web Editor (http://pinegrow.com http://pinegrow.com) is build with HTML / JS / Node.js packaged with NWJS/Electron. Three years ago I started by myself, now we're three working on the app full time and making a comfortable living (mid six figures in yearly sales). Choosing this tech stack lets you postpone web vs desktop app decision and keep both options open. While recurring web app revenue sounds appealing it requires servers and responsibility to secure user data. With desktop app you'll never receive a 3am call that your service is down. Btw. Subscriptions and desktop apps are not mutually exclusive. We give both options (one-time license purchase or monthly subscription) to our customers and the split is about even.
- phodo 10y agoI love pinegrow (paying customer).
- spdustin 10y agoHoly shit, that's a nice app. I have many (adult) students who would greatly benefit from its simplicity, any way to get a discount/promo code for them? You can reach me at my username @ gmail.com. Edit: this isn't a strictly "educational" setup - these are corporate students, not academic.
- bung 10y agoI'm not sure why it bothers me, maybe I'm just grumpy this morning haha, but I might have preferred "Enter your email for a free trial" rather than being forced to do it after I've already downloaded and installed and run it and can't use it.
- justncase80 10y agoTry making it with Electron http://electron.atom.io/ http://electron.atom.io/ Then if you decide later you want it to be a web app its not that big of a job to convert it. I have worked on a surprising number of desktop apps over the years, including Visual Studio and Internet Explorer. But even before that, a lot of businesses rely on desktop applications for a lot of their internal applications.
- anotherevan 10y agoThere's a guy called Andy Brice[1] who has been developing and selling desktop software for table seating plans[2] since 2005. He blogs[3] a bit about his experiences and thoughts. [1] https://twitter.com/successfulsw https://twitter.com/successfulsw [2] http://www.perfecttableplan.com/ http://www.perfecttableplan.com/ [3] https://successfulsoftware.net/ https://successfulsoftware.net/
- infinite8s 10y agoHe is also on this site - https://news.ycombinator.com/user?id=hermitcrab https://news.ycombinator.com/user?id=hermitcrab
- commentzorro 10y agoI have a couple Windows desktop apps (animal husbandry and event management) that have been around for years and still doing quite well. But I think these succeed primarily because they have a nice specific vertical and are particularly well suited for desktops. For me, a successful desktop application has the following traits: -- A nice specific vertical that is deep and complex to process, -- Complex entry screens with lots of necessary rules and data validation, -- Lots of manual data manipulation during the events, -- Substantial benefit from ability to take advantage of desktop level mouse and keyboard actions, -- Some complex grid based screens that can be tailored by each user, -- Fairly complex reporting after the events. These requirements are still too much for browsers to handle well. The grid based screens are especially horrible in browsers. And browser apps are still pretty horrible for complex data entry screens that want to be customized by the user. That said, I'm porting the first to a mixed mode where the engine will be internet based but the primary interface will still be the "normal" download and install desktop model. This is to allow some portions to be used in a browser, but the main application still keep the full desktop power. FWIW: my original apps were Delphi based, but the language long ago stagnated and had become tedious (comparatively). Since I'd switched to .NET for contract work, I started my rewrite in C#. But but I ended up hating the server deployment crap with .NET and also of got really tired the direction Microsoft is going in general. I've now switched C# for the desktop side and Google's Go language for the web/model portion. I picked Go primarily for the trivial single executable deployment. While I don't really get much enjoyment out of coding in Go, it is eminently practical for this type of work. (Note for Gophers: I don't think Go is bad either ... just sort of there. I do use it quite a bit these day and do get the "fun vs practical" trade-offs the Go team made.) But the future may be bleak with Microsoft moving to an app store. Why the F do I want Microsoft sitting between me and my customers. It adds no benefit to me and provides no benefit to my customers for a portable or unzip and go desktop application. Plus they, like Apple and Google, want to become effectively the worlds most expensive payment processors.
- rxlim 10y agoFirst, of course you can make a living out of desktop applications. In the echo chamber of HN you could maybe get the idea that they are no longer relevant, but out in the real world millions of people need to do real work, but don't have a stable connection to the Internet. Second, If you decide to create a desktop application, then make it native. I must strongly advise against using any of these "web frameworks" e.g. Electron, QTwebkit etc. to create desktop applications. They are slow, bloated and probably contain many security holes because of the huge complexity of browser engines. They only exists because many developers don't know anything else than web development, instead of learning new skills they created this abomination. One earlier post said that minumum an i3 was required for the apps to remain snappy, think about it, that is just ridiculous especially in a time where PC's are upgraded much less frequently than they used to be. I would NEVER install an application created using a web framework. I have good experinces with Rust and Golang when creating native applications for multiple OS.
- derefr 10y ago> They only exists because many developers don't know anything else than web development I know how to write native apps in C# with WPF, Obj-C with Cocoa, C++ with Qt, Erlang with WxWidgets, and even in pure Tcl/Tk. I still prefer using HTML5 to any/all of those. It's about multi-platform portability, where "the web" is itself one of the targeted platforms. > I would NEVER install an application created using a web framework. Do you use web apps in a browser? Gmail or Outlook.com, say? Why would them adopting more native UX controls make you stop using them, then? If it's about the cost in non-shared runtime memory (i.e. basically running 5 separate instances of Chromium for five "apps"), this can be fixed; look, for example, at how the Chrome App Launcher works in Canary. Window-mode Chrome Apps are basically equivalent to Electron apps, but run as sandboxes under a common single-process runtime (Chrome) rather than each being a process of their own.
- dvdkon 10y agoI use Gmail and other web apps, because I'm accessing remote data through them, and running remote apps to do so is a good idea IMO. However, I think "the Web" is not a good platform for native-like apps. It's not only slow and resource-hungry (I can edit pictures and video reasonably, yet web apps still stutter and hang up), it was also never designed for app GUIs. HTML is a nice text markup language, but it was never meant for GUIs. CSS is nice for styling text, but it's now used for much more. Layout is torn between HTML and CSS. And web apps don't "fit in" with their appearance, and I value consistency in desktop apps a lot. With Qt/GTK, I can change a system-wide theme, and all apps will fit in with each other, which is something web apps can't offer. And while creating new frameworks may help programmers, it doesn't solve the fundamental issue that the web is not meant for native-esque apps.
- cylinder 10y agoI can offer the perspective of the customer. I am a bit fed up with web apps these days, and would find a good desktop solution refreshing. You should include cloud backups and sync, however, that is key. But, web apps are getting slower and slower -- even the 1 or 2 seconds it takes to open a new link stresses me out when I'm in the zone and trying to work fast. I am even trying to move away from Gmail to Outlook now.
- tdkl 10y agoCheck out eMClient desktop email application, it's definitely faster then Outlook and supports Exchange.
- cylinder 10y agoInteresting. Thank you.
- lj3 10y agoWould you still choose a desktop app over a web app if the web app's response time was within the 100ms window[0]? In other words, is speed your only complaint with web apps these days? [0]: https://www.nngroup.com/articles/response-times-3-important-limits/ https://www.nngroup.com/articles/response-times-3-important-...
- cylinder 10y agoI think so, assuming the web app has full keyboard shortcuts. But if I notice response time, we're in bad shape - I'm admittedly ADD and will likely switch to another tab while waiting for the page to load.
- brokenmachine 10y agoI am the same, I have buttons mapped on my mouse for switching to the last-used tab (Ctrl-Tab), closing the current tab (Ctrl-W), etc. Usually I will middle-click any link to open it in a new tab, then immediately switch back to the original tab while that one is loading. Only when I see that it is loaded (text on the tab turns red) will I switch to it. All too often I see web-apps as a regression. We have super-fast machines now, but we're choosing to make ourselves dependent on the slowest link in the chain, the network. Might as well go to Pluto. https://blog.codinghorror.com/the-infinite-space-between-words/ https://blog.codinghorror.com/the-infinite-space-between-wor...
- lostmsu 10y agoFail story: I have SSD + HDD caching for Windows ( https://diskache.io/ https://diskache.io/ ). But due to lack of marketing skills, and, perhaps, lack of common store for system software for Windows, even free Beta version has been downloaded by like 3.5 people during 3 months of availability.
- amdavidson 10y agoFriendly comment, I read the name of this product as disk ache. I'm gathering that this is not where you were shooting. If you want to retain the name, I recommend looking into how you capitalize / kern / otherwise present the name to try and get you the association you're going for.
- wang_li 10y agoIsn't this what ReadyBoost does?
- lostmsu 10y agoReadyBoost does not cache writes at all. Windows Server 2012 R2 actually have similar feature, but it requires some PowerShell magic to set it up, and only available in Server.
- orf 10y agoYour link is grey for me, so I've seen it before. If it's been on HN you must have seen more than 3.5 downloads, what are your actual counts?
- lostmsu 10y agoI don't have exact download count, but only 13 people actually launched it.
- deleted 10y ago[deleted]
- nvader 10y agoSince this hasn't been posted yet, "Why I'm done making Desktop Applications" by Patrick McKenzie (patio11) is going to be a useful read: http://www.kalzumeus.com/2009/09/05/desktop-aps-versus-web-apps/ http://www.kalzumeus.com/2009/09/05/desktop-aps-versus-web-a... It seems that his customers share a lot of characteristics with your ones.
- jacobmarble 10y agoI interned for this company 6 years ago. Still kicking because it's so good. http://wenlin.com/ http://wenlin.com/
- cft 10y agoI suppose not many people do, but probably many people did in the early 90s. In 5 years people will ask this question about mobile apps too.
- cabbeer 10y agoAnyone here from the omnigroup? I'd love to hear some behind the scenes from those guys!
- k3liutZu 10y agoBuild it with web technologies, and if you need to ship a desktop app, package it with electron.
- ommunist 10y agoI remember the guy who just decided to keep Windows 3.11 on a Celeron laptop, because it was awesome fast on that hardware (still perceivably faster than your Win 10 notebook perhaps), and he just worked couple of years that way, until some SSL problems forced him to leave Win 3.11. But business applications were ok for him in that environment. The very idea of a desktop app is that it should be able to deliver value completely offline, imho.
- netman21 10y agoI would pick my app carefully. Things that are specific to desktops like AV, disk cleaners, performance monitors would have staying power. Also word processors for specific constituencies. Scriviner, for instance, is for serious writers and is still supported by its creator. Diagram creators, slide presentation creators, even a database with an easy to use interface would be popular. I personally would love to see an enhanced Activity Monitor for Mac. Something that would have an entry for every process running so I could just click it to figure out what it does.
- lstamour 10y agoThat's the problem with desktop software though -- it's expensive to build and often, there's a solution already out there or will appear in the next release of the OS. For instance in Activity Monitor, you can view every process simply by clicking the View menu, then "All Processes". It will even show them hierarchically. Which then leads to users often picking something that works and rarely switching unless an app fails on them somehow. Contrast this with the web, where we routinely "switch apps" because there's so little cost to install them, keep them up to date, commit to them and save our data in their format, etc. AV software is much less useful these days as systems ship more securely by default. Disk cleaners also have less utility as folks learn of free or built-in options, or buy larger drives than they need... About all I can say to sum up is, yes, pick your app carefully, but solve a problem you've researched and haven't found an easy solution to, and then ... see if you can build that into a business? :) It'd also be fun to build a meta-app: e.g. gamify learning about OS X, such as the activity monitor. Maybe it could be social, where you get points for being the first to get something set up amongst friends on the same wifi? That sounds like an incredibly niche market though...
- leecarraher 10y agovideogames are mostly standalone and viable, as are OS (less-and-less), and apparently steve gibson makes a pretty nice living off of spinrite which is a hard drive maintenance and recovery tool. Which I suspect gives insight on the viability of the standalone software space. Needing extreme performance and inately interfacing with the computer's hardware. As a maxim, if you can put it on the web without sacrificing anything significant, you probably should.
- khedoros 10y agoThere are a few things that make me value the desktop over the web, as a user. First, no surprising interface changes. If I install a new version and dislike it, I can go back to the previous one. Second, if it doesn't need a network connection by its very nature, it'll work fine without one, removing a point of failure. Third, local data storage with optional cloud synch is the best of both worlds. Fourth, a polished native program will have more predictable timing than a similarly-polished web app. Both have their place. I'll go to a web app for asynchronous communication (e-mail, forums, social media), for one-time reference or reference to things that change often (wikis, imdb), and things that I intend to use for a short amount of time, or which wouldn't be worthwhile to download and install on a couple machines. Putting things on the web has always felt to me like a compromise of usability and predictability in favor of convenience of access[0]. I like storing my data locally until such time as I explicitly decide to store it online. I like knowing that I can continue using the software, regardless of the fate of the developer. [0] Given internet connectivity and continued operation of the company providing the software
- azeirah 10y agoI've made an addon-program for game streamers, one day I decided to go "heck", why not ask some money for a license. I can't really say I'm making a "living" off of it but for a student I do have a /really/ nice income. It's a /very/ specific application though. It swims along with the bigger fish like Open Broadcaster Service and xsplit, when they go down, I go down.
- randhnuser 10y agoI'm currrently reading "Don't just roll the dice" which is a really nice and short book about software pricing. It's freely available too at https://www.red-gate.com/library/dont-just-roll-the-dice https://www.red-gate.com/library/dont-just-roll-the-dice What I want to say to you and the others in the thread is: maybe you can extract more money at a different price point by reading that book.
- azeirah 10y agoThanks for the recommendation, will have a look. I'm a little skeptical of price changes though. Partially because of ethics ("Why'd he have to pay 5$ while I have to pay 8$?"), and partially because of my target audience, mainly students and young adults (18-28) Regardless, it's interesting to look into
- taprun 10y agoHere's a cheat: When you raise your price, you can bundle something else in. That will automatically prevent people from asking "Why am I paying more?" It doesn't even have to be that impressive. Spend an hour and write an extra guide, checklist or something like that. Make sure that it's clear to buyers that this add on is new. Done.
- pnathan 10y agoI would suggest a desktop app on the JVM - C# possibly if you have access to that and your customers care - but nail down the upgrade story. Web Apps immediately invoke an entire side set of knowledge of sysadmin and management that, unless you're comfortable doing that - are a pain. There are reasons to do web apps, but I don't think ease of operating or development are one of them.
- stephenr 10y ago> I would suggest a desktop app on the JVM Is this a joke? Or possibly a comment somehow posted from 8 years ago? Unless you're doing what Jetbrains do (and ship an embedded JRE) relying on Java is adding a barrier to entry on top of "wtf, java? it's 2016 not 1999". In my career i've had reason to use a small handful of jvm desktop applications. In every case, it was because there is no good alternative, and they were used in spite of being jvm based - if a non-jvm alternative comes along, it gets an instant boost in any comparison, because it isn't tied to the jvm.
- MarkMc 10y agoYeah desktop Java gained a bad reputation because of a bloated JVM and poorly-designed Swing interface. However, if you ship your own JVM and use SWT instead of Swing, most of the problems with using Java on the desktop go away. stephenr - maybe the reason you've only seen crappy Java desktop applications is because you didn't recognise the good ones as Java? For example, here are screenshots of my Java desktop accounting application I've been developing for 9 years: Mac: http://www.solaraccounts.co.uk/images/screenshots/invoices_mac.jpg http://www.solaraccounts.co.uk/images/screenshots/invoices_m... Windows: http://www.solaraccounts.co.uk/images/screenshots/invoices.jpg http://www.solaraccounts.co.uk/images/screenshots/invoices.j... Java with SWT uses native widgets and makes it easy to call platform-specific UI code, so the result can be almost identical to a native application.
- pnathan 10y agoNo. I have had good experiences developing JVM apps and then using them. Age of technology has nothing to do prima facie with quality. If you're interested in shipping a reliable desktop application, you'll take the time to handle the runtime and the associated dependency chain. Similarly to the web, you have to understand your system to do the job well. Unlike the web, you don't immediately confront distributed system operation and maintenance problems. And, finally, I'd actually suggest Clojure/seesaw for the mode of desktop GUI development, not Java/Swing. And, of course, the customer doesn't care whether you hand-crafted it with magnetic tweezers or used Node 9 Ember Rock Stars. They just want it to work, and work reliably.
- arcaster 10y agoI've considered creating an app with node.js and electron to turn my current soundcloud archiving script into a desktop app. It makes taking essentially all of someone's soundcloud and archives everything with proper ID3 tags, also tracks updates to your playlists and likes. Initially I built this to archive indy music and prevent losing tracks that people removed from their soundcloud pages. This project would require some major legal hurdles, which is why I've never really built it as a proper desktop app.
- skiltz 10y agoI have a plugin for Outlook - http://appointmentreminder.info/outlook-calendar http://appointmentreminder.info/outlook-calendar Desktop apps make you think a lot more about the release cycle and minimizing potential errors before releasing.
- vizza 10y agoLook at the top desktop apps out there - they are <b>browsers</b>
- fatimafouda 10y agoI'm currently working on an AI customer service Desktop/Web app solution. We're a team of two. Initially, it was going to be only desktop, because we were targeting big enterprises who still rely solely on phone for customer service. So, pretty backward companies. A Desktop app would have been perfect and not too "revolutionary". But, then, we decided to not limit ourselves to that market alone, and have since made the transition to include web and even mobile solutions. My advice is to: Stop hesitating. Write code (MVP?). Run private and open betas. Collect feedback. Make predictions. Make decisions. Maybe your market will rejoice over your desktop app and maybe they won't. The point is, you won't find out until you actually test it. If it works then that's great. Now, you can focus on marketing and growth. But if the feedback that you get points that your customers would rather get web, then that's also great. Because, now, you've gained an important insight about your customers, and will have a choice of either to switch to web (if it's a true market need (also from customer feedback)) or to start something new. TLDR: Based on our market research alone, you CAN definitely make a living off of a desktop application; it depends on your customers, that's why it's paramount that real customers test your app asap. Don't worry about the future too much. If your desktop app is successful and somewhere along the line, customers demand a web app instead, you can always scale and adapt.
- hermitcrab 10y agoI have been making a good living selling desktop software as a solo developer for the last 11 years. I think reports of the death of desktop software are exaggerated: https://successfulsoftware.net/2013/10/28/is-desktop-software-dead/ https://successfulsoftware.net/2013/10/28/is-desktop-softwar...
- jventura 10y agoThanks for replying! Your blog was one of the "triggers" that made me decided to ask if more people have been having success with the solo developer/desktop developer strategy. I just wish more people shared their experiences on their blogs, because here where I live it is pretty hard to find someone working for themselves..
- hermitcrab 10y agoDesktop and web both have their plusses and minuses. Some solutions are a better fit for desktop. The key thing is to do a good job of solving the customer's problem. If you do, they won't care whether it is desktop or web. In fact, plenty of my non-techie customers don't even know the difference.
- walkingolof 10y agoAs a developer of both services and also in the past desktop application, I have to say that one big plus with desktop apps is that they do not need a 24/7 NOC operation, that uptime thing is putting a huge strain on founders and resources starting out....
- matheweis 10y agoI don't make a living, but I'd like to think I'm close (3-5x would get me there) Anyhow, my strategy was to make both the web app and the desktop app. The web app is free, which drives users to the site, a small percentage of which buy the desktop app. The strategy works well, in the sense that I can run everything on autopilot for a few months at a time if I need to. On the other hand, I sometimes feel like the relative profits are kind of low for the number of users that I have.
- rangera 10y agoPrograms like Nativefier allow you to quite easily (within reach of not-so-technical users) create desktop apps out of web apps. Unless your desktop app provides significant OS or other-app integration or additional features, you may want to reconsider your strategy.
- matheweis 10y agoIt does - that is the case for the upsell. :)
- Lordarminius 10y agoI posted a link relevant to this conversation a few days ago. https://news.ycombinator.com/item?id=11656443 https://news.ycombinator.com/item?id=11656443
- pellias 10y agoI know grc.com spinrite still runs on DOS and his last release was easily 5-6 years ago and it seems to be still selling well !
- jjp 10y agoThis feels to me like there are a few other questions to ask: - do your target users have a preference for desktop vs webapp? - can you achieve everything you want in desktop vs webapp? - How do similar solutions from competitors deliver? How would you differentiate? - do you have the skills/time/inclination to provide desktop support when a user can't get your software working with Win XP and a badly written printer driver? - What's the pricing model you will use with lone users? Sell once, sell once and then try and sell upgrade; subscription?
- Razengan 10y agoAs a user, I despise webapps, unless it's for social networking or news (like FB/Twitter/HN/Reddit/Imgur.) Even for social/news I prefer native apps to webapps when available. I mean look at the native mobile apps for FB and everything; I'm sure the majority of users prefer opening the apps to using the browser, so there must be something going for them. Webapps NEVER feel as responsive or powerful or fit into the look-and-feel of a platform, compared to native apps. To me, most of the alleged advantages of webapps just look like the excuses of lazy developers, not to mention also a bit of hypocrisy: Would YOU prefer most of your IDEs and development tools to be webapps, or native apps?
- cdennison 10y agoI wrote (C#) desktop apps for several years that did manufacturing QA analytics. We went the desktop route because 1) UI development was faster for us (C# vs. jQuery) and 2) Users wanted to interact with Excel in real time (e.g. export). My experience when I went to look for a job was that I got about 10 interviews and was turned down for all of them because I didn't know about JavaScript, Distributed systems (e.g. load balancers, HTTP caching), WebSockets, deployment pipelines, web services, etc. Don't get my wrong I spent a lot of time reading about all these types of things but until I built an actual API/website it was hard to answer questions about them.