Cheap instant all-terrain deployment trumps most other considerations, especially where technical onboarding is on the critical path to customer acquisition.
There are definitely advantages to companies. As an end-user, the only advantages I can think of are data centralization and device portability.
While we're talking about "webapps", generally, and not SaaS specifically... the two often go so hand in hand that it is the exception to see a webapp that is not also a SaaS product.. and as a consumer I kind of mostly hate SaaS.
With the above two advantages noted, lets look at the cons:
- Companies can, and routinely do, push unwanted UX changes on me without my opt-in. Pre-SaaS you would wait for a new version to come out and could see what the reviews were saying before deciding if you like the changes and want the new features. Now you're a guinea pig and get the new "features" whether they are a benefit to you or not.
- Forces me to have my data on someone else's computer
- The "other peoples' computer" issue means that if there is a software or a hardware failure that prevents me from being able to do urgent work that it is entirely outside of my hands and my ability to troubleshoot the majority of the time (though this is a double edged sword since for the average non-technical user it can be a big benefit)
- Can't work without an active Internet connection (though I'll concede that not having an active connection is becoming pretty rare these days)
- If the company goes out of business, say goodbye to your data in the majority of cases
- Often goes hand in hand with renting the software rather than paying a flat fee for a perpetual license. Given the choice, I will always opt for a perpetual license. I try hard to have as few recurring payments in my budget as possible. Utility bills are bad enough.
If, however, by "webapp" we just mean a desktop application that uses a DOM-based rendering engine then I couldn't care less. There are tradeoffs, but they are purely technical and rarely impact UX directly in the way that a general approach to software delivery and consumption does.
Except a lot of these are problems with so-called native apps too. My experience using MacOS for the better half of a decade ended with >80% of the software I paid for being unsupported. My options were to continue using a non-secure OS version or update to an environment where my software doesn't run anymore.
I think you're the last of a dying breed of users. The iPhone generation doesn't lose their internet connection, throw a hissy-fit when UX changes or even care all that much when data is on a remote server. They will pay for whatever is successfully marketed to them, and that company will be rewarded with success. This is what the App Store conditions users into wanting, if OnePass tells you to switch to their Electron app then you have zero choice in the matter.
My solution has simply been to never pay for software. Not native, not SaaS webapps, not Electron containers. It's all just one big scam when free alternatives to 99% of meaningful software exists if you're willing to eschew laziness.
I still have paid software from the 90s that I can run. And if things get really sticky due to OS incompatibilities, you can spin up an old version of an OS in a VM. The retro gaming community does really well at running software that is now 40-50 years old too.
I hear you about not paying for software. For most applications I use FOSS when possible. There are applications though where using proprietary is the lesser evil because the FOSS options - if they exist at all - are really bad.
And yeah, I might be in the extreme minority when it comes to users. I'm neurodivergent so that definitely contributes to my aversion to change. It doesn't mean my opinion isn't valid or that I don't have the right to complain though. What I want is software that won't change on me without my opt-in, and that will let me keep my data locally. Maybe most users don't want that, but there are those of us out there and that speaks to untapped niche. Maybe you won't get rich making software for us, but there are far more small mom & pop shops in the world than there are massive rich mega-corps. I'm happy giving them my money.
Because, relatively speaking, it solves the distribution problem. Distributing to your set of servers is easier than distributing to the set of desktops.
> At the cost of a generally worse end user experience and no offline ability.
Yes. This is a cost and a benefit you weigh according to the capabilities of your development team. If there is nobody to outcompete you, that is factor into the decision.
> I am glad Apple didn't do that and stayed native for nearly everything. This is a big selling point for me.
Right, but Apple also perfectly exemplifies the problem with that approach - their software is incredibly limited, and can only run on a ridiculously small number of computers. Even if the software is good, which ehhh, but even if it is - there are cons to that approach.
To expand, this also hurts the customer in a lot of direct and non-direct ways. You're forced to buy Apple hardware, and that hardware might not meet your capabilities. This further fuels anti-consumerist anti-repair behavior, because they know that their computers are the only ones you can use.
And, since they create their own market, they kind of have you in golden handcuffs. If their prices go up, which they do and already are high, you're along for the ride.
I didn't overstate them, if anything I was far too generous.
It's plainly true that Apple software locks you into Apple devices, which are more expensive than they should be. In addition, those devices are some of the most anti-consumer computers made. You can't repair them, they're locked down.
What Apple does is impressive, sure. But let's not pretend that making mediocre software that runs on 1% of computers is anything compared to the Web. They have fundamentally different goals, which is why native Apple software doesn't compete with the web.
It doesn't. I work across both Windows and Apple stuff and have zero issues moving things back and forth on a regular basis. Hell even their email is plain IMAP+SMTP. Try that with O365/Microsoft.
As for the repair? You can literally buy parts here and repair them yourselves. I have actually had to replace a USB-C port on my last M1 MBP and it was dead easy. https://selfservicerepair.com/ . I see this everywhere I go: parroting the same misinformed garbage about their repair situation.
You just dislike Apple and can't wait to tell everyone about it.
1. I don't dislike Apple, I have multiple Apple products.
2. Apple devices are uniquely difficult to repair and this is done on purpose. For a long time, you couldn't do it at all. Now, you can... if you use Apple approved tools and parts.
It's just plainly dishonest to say Apple does not engage in some of the most rampant anti-repair anti-consumerist behavior in the industry. They do, and they have been for a long time.
Also yeah, O365 sucks. You know what else sucks? Webkit on IOS, iMessage, SwiftUI, Mantle. Apple loves loves loves their software vendor lock-in on technologies that nobody actually cares about. Just use real standards for fuck's sake.
Which also goes to show how backwards Linux package distribution is at this point.
If you’re a small company, you can either build a web app which works everywhere; or you can deal with a distribution pushing out a buggy 3-year-old release against your will, with users harassing you about bugs.
Packaging on Linux for normal desktop apps was dead on arrival. It was never viable except for niche open source apps. The resistance to this fact makes the failure of the Linux desktop somewhat self-inflicted.
Sure, but this isn't particular to Linux. On what platform is it better? In terms of developer experience, web apps just beat distributing to the end-user device every time.
It's not better for developers on iOS. There are loads of complaints about the costs imposed on devs and the hoops they have to jump through to publish in the app store.
Linux repositories are objectively worse. Unclear guidelines, zero publishing control, patches against your will, removal of donation links or warnings if you anger the distribution maintainers, having to do this over and over dozens of times, I would take Apple any day.
And as you can see, 99.9% of developers took Apple’s route. Market share can only partially explain this, as even tiny platforms like Palm had better support than Linux.
> And as you can see, 99.9% of developers took Apple’s route
Um, well no they didn't, because most things are web applications. And most software actually targets Windows. And then most phone software that's big is cross platform.
Apples' model is cool, but it certainly has a lot of drawbacks, and in many ways they did not win. They, too, lost to the web.
Windows, Mac? Bundle your own updater. Or use Steam. Download one file and run with a click.
PlayStation? Nintendo? Submit it, wait about two weeks, and out it goes.
The Linux desktop is single handedly the worst distribution platform for an app developer, both in fragmentation and being unable to update your own software. The Linux desktop also had the arrogance to claim developers should do it their preferred way; and to harass devs for using tools like Flatpak. Then they wonder and complain and can’t understand why devs refuse to make Linux versions even for cross-platform frameworks.
The idea that someone like Adobe should make a package for each distribution, and negotiate with each distribution if they are sending out some ancient version of Acrobat, was a stupid power-trip philosophy on day one with none of the clout required. Even Apple doesn’t reserve the right to stonewall releases purely because of version numbers.
You're neglecting all the parts where you've got to sign your install binaries.
> Steam
This is a third party marketplace that exists specifically to solve this problem and it carries all the baggage of any other third party marketplace, in the abstract.
> Video games
I'm not really shipping in these environments but I doubt it's that easy.
> Apple
They will happily stonewall you on many other small issues, however.
> You're neglecting all the parts where you've got to sign your install binaries.
This takes less than 15 minutes when you know how to do it. Arguing with a distribution takes weeks. Arguing with dozens of distributions could take months.
You are approaching this solely as a solo indie dev would - which is why, with few exceptions, only solo dev software is on Linux.
> They will happily stonewall you on many other small issues, however.
You should see even a fraction of what developers on Linux have been stonewalled over. I will literally take Apple.
Also the native UX kits all suck and have done so forever. There i said it.
There’s a reason KDE looks better, has better consistency across apps, does theming at the os level better etc. Html/javascript/css for your native app frontend is actually quite reasonable.
The native UX toolkits wouldn't be so shit if everyone wasn't so greedy. We don't need to reinvent a better wheel every 5 years (windows) or force some proprietary garbage nobody cares about (mac).
It just needs to be reasonable, easy to adapt to other platforms, and long-lasting. The web isn't even that good, the competition is just self-destructive to a point it can't be justified.
When, why and how became this a good thing?