Sounds very cynical and short sighted to me.
Pros to customer: Nothing to install. Can be used on any operating system with a web browser. Updates and security patches are performed automatically. Can share documents and collaborate more easily.
Pros to developer: Easier to support multiple platforms. Easier to upgrade users and migrate data.
> So yeah, sure, if you were to build a piece of desktop software from a clean sheet of paper today, this is a really good guide on how to do that. But nobody is going to. Because it makes no business sense to do so.
Imagine having to install Trello, Google Docs, Slack etc. manually everywhere you wanted to use it, deal with updates yourself and ask people you wanted to collaborate with to do the same. That makes no sense in terms of ease of use.
That's the way things worked for years, and the way most software still works (except through app stores) and it wasn't a madhouse of anarchy and suffering, it was perfectly fine.
Installing software "manually everywhere you want to use it" implies installing it once in 99% of cases, maybe twice in most of the rest, where "install" is a trivial process. Businesses will require that everyone use the same set of installed software, so that's not even an issue to begin with. It's not unreasonable to expect people to have a PDF reader, or Adobe software if you're working in graphics, for instance, or for Windows users to be able to read Windows documents.
Plus... you do know native software can handle automatic updates and security patches as well, right? And if you don't think people can share documents or collaborate easily with native software, I mean, that's been a thing since Napster and IRC. FTP and USENET. SAAS didn't solve any of those problems, because they were never problems.
It's not trivial at all compared to "click this link (and optionally sign up) to start using the software". Especially with the landscape now, asking a likely non-technical user to download, install (potentially with security warnings) and launch software is a lot to ask and will impact your conversions if you're not an established product.
With the landscape now, installing and launching software involves clicking on it in the app store and waiting a few seconds for the installer to finish.
With the previous landscape, installing and launching software involved, for Windows, downloading an installer, double clicking on it, maybe going through some default settings, and waiting for installer to finish. For Linux, instead of downloading an installer, you pull it with a package manager, maybe go through some default settings, and maybe wait for the installer to finish.
It was never that complicated unless you were compiling all of your software from source, but that's an extreme fringe minority in the whole universe of software consumers.
The process of "installation" in the SAAS model is merely replaced with registration. Instead of downloading the program, you're uploading your credentials. The complexity is still there, because it has to be, but it was never that difficult for the end user to begin with. And the process of registering for a site is, arguably, more complicated than native software in many cases. I don't have to deal with individual passwords for each of my native apps, for instance.
Now days, you have to figure out which of the 10 download buttons is the real one. And then you have check hashes if you want to validate that you actually downloaded the installer that the publisher released.
I think that browser based software is a huge step backward in terms of richness of user experience. I can't believe that, in the year 2019, GSuite has usurped Outlook and the traditional native office applications in the corporate environment that i work in. But here we are.
But, there's no denying that any friction for the user getting the software will drastically reduce their likelihood of using it at all.
I'm sorry, but the fact that the dominant paradigm for software use has been, and still is native (I'm counting apps as native here, because they're installed, even though in some cases apps are just wrappers around a website) disputes it.
If people want to use some software, moreso if they need to, they'll put up with installing it. What you're describing is really only an issue for web services, and would maybe only =apply to native software that worked according to a subscription model, which most doesn't.
You are assuming that the software in question is both packaged for the distribution you use and that it is available from the default servers for your package manager (and that the packaged version is recent-enough for your purposes).
The software installation landscape for Linux is a lot more complex than this, and for rather a lot of software, these assumptions break down.
Here are the Linux install pages for just a few examples of popular end-user applications that are actually available for Linux:
Snap and Flatpak promise to simplify the provision of binary installers for Linux so that developers don't have to create both a DEB and an RPM, much less an install script that has to be run as root, but that ends up pushing users even further away from the package manager, not closer.
Even when it really is that simple, any extra steps are going to increase drop-offs.
> I don't have to deal with individual passwords for each of my native apps, for instance.
Single sign-on solves this and you can create web apps that don't require initial sign up to use. Any desktop software that allows collaboration is likely to require a sign-up process as well so the desktop solution is always going to be more complex to set up.
I imagine it's similarly easy with chef/puppet, etc..
One of my problems on Ubu is that it's so easy to install stuff that I can acquire a lot of unused cruft; mind you it's mostly a mental problem now with disk sizes as they are.
Desktop software works "forever" (as long as the underlying OS and drivers don't break support for it, at least) and the longer you use it, the more value you get for your money. SaaS works until the company that maintains it stops supporting it, and the value scaling is basically the reverse of desktop software.