4 ms·
I'll be honest: I make a concentrated effort to avoid these apps that are just a website stuffed into a (usually quite gigantic) executable for a number of reas
by ToucanLoucan 3y ago
I'll be honest: I make a concentrated effort to avoid these apps that are just a website stuffed into a (usually quite gigantic) executable for a number of reasons:
- They always feel sluggish. Animations are jittery. Text input that does things (contextual search for example) jitters and jumps instead of smoothly performing it's task.
- Scrolling, especially scrolling that loads content, is also often jittery and laggy, if it doesn't just stop working abruptly and require a reload.
- I can't help but feel it's incredibly unnecessary for these apps to be as MASSIVE as they are. Usually several hundred megabytes at a go. I know storage is cheap these days but I own several games on steam that aren't that pudgy on the disk.
I just don't like them. Every time I download a new app and I realize it's electron or node or react or whatever the new shiny framework is everyone likes, I will remove it unless I absolutely 100% need it to perform a task. And I will likely be groaning and complaining the entire time as I listen to my PC clock up it's fans to deal with running 150MB of bloody javascript to show it's UI.
I know this is largely a me problem, I'm aware of that. But I just don't like them. And especially given that a whole lot of these apps aren't built by scrappy underdog devs but massive firms that could extremely easily afford native developers... I dunno. It rubs me the wrong way.
Like I don't know how else to say this: If you want to make software, make software. If you want to make websites, make websites. Stop trying to make software out of website tools.
- loremchecksum 3y agoI sometimes wonder what the total emission cost of these non-native developments amounts to.
- mble 3y agoHuge most probably. The fact that we need to upgrade our hardware every three or so years, not because our workflow changed, but because every app is written as cheaply as possible shows how much of an impact it has.
- JSavageOne 3y agoSome benefits of websites as apps - Instantly supports all operating systems and mobile devices - No need to download/install some .exe files (or your OS equivalent) with all the associated security risks - A web app will likely get updated more frequently since it's easier to develop and update I think VS Code proves that web apps can deliver
- ehutch79 3y agoIn order to use websites as a desktop app, i would think you need to download a binary and run it. Otherwise it's just a normal web app?
- JSavageOne 3y agoWith a Progressive Web App you can just download it as a desktop or mobile app by clicking on the download app icon in the URL bar
- jonny_eh 3y agoBut that isn't what was shared on HN. Why are we talking about PWAs?
- toddmorey 3y agoI think web tech (even as resource hungry as it tends to be) is the right abstraction until your product & team is big enough to properly staff and develop for each platform. Looking at you, Slack. It's time to step up to native. I look at it this way: Any app deploying to four platforms (web, Mac, Linux, Windows) is going to involve some level of non-native abstraction. (Whatever Adobe seems doing for their UI kit is equally terrible if not worse.) Also: Websites are indeed software in 2023. I realized the other day that my favorite design app is Figma, and I NEVER thought I'd say that about a non-native app. I think the optimization here is to have browsers themselves make the "desktop mode" experience much better, removing the need for Electron style projects. You shouldn't have to re-bundle the entire browser to get to it. You shouldn't have to pay $250/mo to have a reasonable installer. There should just be an install for desktop button on the web app. I believe Safari is headed this direction in the upcoming Mac OS release.
- bentt 3y agoAgreed that this is on the browser makers. Not sure how the incentives align if the desktop version is actully an offline experience. Advertising and tracking might be compromised?
- literallyroy 3y agoTauri does exactly that — uses the bundled browser instead of packaging a new one.
- gwbas1c 3y agoThis is a consequence of poor desktop APIs: Windows / Mac installer APIs are awful; and Windows / Mac have no good "common denominator" API so everyone is stuck with HTML / CSS / Javascript. HTML / CSS / Javascript work great for documents, but are horrible abstractions for the kind of things UIs need to do. Personally, I think we need to figure out a better cross-platform UI API. I'm still surprised that almost 30 years into the Windows / Mac duopoly that we haven't figured out yet.
- leononame 3y agoIsn't that by design? What interest would MS/Apple have in supporting this even in the slightest? For them, a walled garden is much more valuable than people potentially jumping off (especially because a common API would make Linux much more viable for everyday use for most people)
- gwbas1c 3y agoMicrosoft / Apple didn't design HTML / Javascript / CSS. It happened organically.
- asoneth 3y ago> And especially given that a whole lot of these apps aren't built by scrappy underdog devs but massive firms that could extremely easily afford native developers I understand why someone would think that, but in my experience the economics for product owners aren't significantly different between scrappy underdogs and massive firms. First, most new products start as a web app. If the product is profitable (or convinces someone with money that it will be profitable) the product owner is granted additional headcount to allocate. In my experience, adding more user-requested functionality almost always has a higher expected return on investment than making fully native versions of the product for iOS, Android, or Windows. (I have no experience making software for Mac.) As much as I like using native apps myself, there are plenty of cases where I couldn't make a case that creating native versions would have a positive return on investment at all. In summary, the number of products that are profitable enough to afford native development teams is small, and the number of those products where the native development team would pay for itself in increased profits is smaller still. There are plenty of exceptions like games, legacy software, realtime systems, libre software, low-level utilities, Mac-only dev shops etc. But otherwise the economics don't seem to work out.
- ToucanLoucan 3y agoI mean, we had software for a good long time before Electron and it's contemporaries were an option. Somehow we still had prototypes, somehow we still had companies churning out native platform-specific software because there wasn't another way to do it. Now we certainly have more options but like, what good is more options that suck? I would personally love to have more software that is more expensive, is updated less frequently, and is made by people who use proper tooling to create and maintain it rather than an avalanche of programs that all do the same thing, badly. The fact that slack runs worse on an M1 mac than MSN messenger did on a Core 2 Duo in 2007 in my bedroom is a travesty and everyone involved in it should be ashamed of the product they're turning out.
- asoneth 3y ago> because there wasn't another way to do it Precisely. In some domains most customers will always choose the cheaper option. In those cases web apps resulted in a race to the bottom. Companies in those domains simply could not afford to cling to native software if they wanted to remain competitive. But of course you still find lots of native software in domains where a critical mass of customers are willing to pay more (or sacrifice functionality) for qualities like performance, security, reliability, etc. For example: games, fintech, military, virtual reality, video production, realtime controllers. I've worked in a couple of those domains and in those cases I am confident that web apps are a very long way away from displacing native applications. > everyone involved in it should be ashamed of the product they're turning out Before judging people for their decisions it's worth understanding why they make them. I know many developers who take pride in writing extremely performant software. All of them have either shifted to work for companies that are willing to pay them to do that or they've swallowed their pride to feed their kids and they scratch that itch by tinkering with open source or game dev on the weekends. > Now we certainly have more options but like, what good is more options that suck? I am not arguing that this situation makes your life better. It doesn't. I sympathize with your frustration and I also like using (and making) performant software. What I am trying to do is explain how we got here because I think it could help us find a way out. We either have to make performant software significantly cheaper to build or we have to convince customers to pay significantly more for it.