3 ms·
Desktop software is superior to web in virtually every way except: (1) Collaborative features and syncing are easier to build when all the data lives in the cl
by api 5y ago
Desktop software is superior to web in virtually every way except:
(1) Collaborative features and syncing are easier to build when all the data lives in the cloud. There are currently no easy ways to build collaborative decentralized apps that scale and perform well and don't lose data. The best compromise solution today is probably cloud syncing, which is the Apple approach and keeps most of the brains local while using the cloud as a cache and a relay... but that tends to lead toward more and more stuff going to the cloud over time.
(2) The cloud is the only DRM that works. Cloud software can't be pirated because the user doesn't even have most of the software. At best the user gets the UI frontend in the form of obfuscated JavaScript or WASM.
(3) Due to #2, it's possible to easily collect recurring payments. "Recurring revenue" is the holy grail of virtually all businesses. Some VCs don't even consider non-recurring revenue in valuing a startup company. If your company collects $1M in one-time licenses and $100/month in subscriptions, some investors will literally chalk you up as having $100/month MRR.
(4) Cloud SaaS is a political loophole around free-as-in-beer ideology. The "information wants to be free" ideology tends to poo-poo commercial software and insist on the freedom to pirate everything, but cloud SaaS gets a free pass. Even better: with cloud SaaS you can use FOSS software without giving anything back! ... unless the license is AGPL, BSL, or Commons Clause, but those are not "true" FOSS licenses according to the FSF. (The AGPL sort of is, but it's also not strong enough to really prevent SaaSification.)
(5) Last but not least: shipping software sucks, especially on Windows. The Windows MSI installation subsystem is a horror from the deepest smoldering pit of hell. Be sure your company offers mental health benefits for PTSD treatment if you have to ask an engineer to deal with it. Mac and Linux are a little better but they are collectively only about 1/4 of the desktop market. The web offers a zero-friction "install" process that makes adoption and updates seamless and easy.
If those problems can be addressed, we can see a renaissance for real software that serves the user and doesn't have 100+ms latency for every action.
- fouric 5y agoI don't think that (1) is true at all - you have the same problems in building a collaborative application using a web app as you would desktop software (e.g. let's say that you want to do multi-user real-time collaboration - you're going to need to use CRDTs no matter if you're writing C++ or JavaScript). (2), (3), and (4) are true (they're why I've stopped making my tools available to others), although from a business sense, which is separate from a pure quality sense. (5) can be addressed with some basic tooling and meta-tooling. I don't think that these are that hard - and, more importantly, the web has a complementary problem, which is that you have to do a lot of engineering to get things you get for free on desktop (most notably, persistence - compare the ease of setting up a database service for your cloud app with just writing to a file on desktop).