HACKER Q&A
📣 lostintangent

When and why do you choose to use a desktop client vs. a web client?


For apps that have rich clients for both web and desktop (e.g. Slack, Teams, Zoom, Discord, Notion, Outlook, Spotify, etc.), when and why do you choose to use one vs. the other? For example, do you prefer desktop clients because of feature superiority and/or better OS integration? Do you generally prefer web clients when you're performing an ad-hoc task and/or need on-to-go/quick access to something?

I'm curious to learn more about folks workflows and how they incorporate web vs. desktop clients into it effectively. For folks that are using web clients, I'm also really interested to how how many of you are installing PWAs when available.


  👤 cblconfederate Accepted Answer ✓
Always web. Mainly because all those apps contain links, which open in the browser. So it makes more sense to use them in the browser.

Twitter on android is a PWA (i think). When you try to add a twitter home screen shortcut, it creates a shortcut to the twitter PWA, which opens in its own fullscreen chrome wrapper, not in chrome like other web links . But that's NOT what i want, e.g. i want the links i visit to stay in my history, and to be able to switch between different tabs. So i end up not using the PWA either.

That said, twitter's web app is good because it doesnt try to do too much. Every app that pretends it can handle animations/loading/fancy ux on the browser just fails because of the choppiness. I think SPA web app makers do not test their apps beyond localhost so they dont see how bad it can perform in real world conditions


👤 poletopole
When there is a true native and solid/stable desktop version of an app I usually end up using that over the web client. The reason for this is because as a web developer I know what can go wrong with web apps, so it’s partly an irrational fear I suppose.

About a year ago I decided to splurge and upgrade my development process with native apps like Ulysses, Git Tower, Kaleidoscope, CodeRunner, TablePlus, etc and discovered that native desktop apps can actually be well worth the money, so I never looked back since then. There are always exceptions to the rule: for example if 37signals had not closed Backpack down I would still be using it and Jira’s native client is crap compared to their web app version.


👤 the_only_law
I generally go with a desktop app eventually because it ends up doing something that I just can't do in the browser. In the case of discord, I can never get voice to work well over the browser. Maybe it has to do with all those fancy acceleration options not being exposed via a web browser, or maybe not and its something else.

I do stick with webapps when I'm a device other than my main desktop because I'm often too lazy to install something. The exception is mobile where mobile browsers and sites almost always piss me off to the point of installing a native app. I also will stick to the web app if the desktop app offers no advantage.


👤 simonblack
If your system depends on the Web always being available, then you're going to have times when you can't do anything because you can't access your data. When the Web isn't there, your data does not exist.

I'm usually an early adopter, but I had some severe problems with the 'Cloud' very soon after I stated using it. I then went the other way, making it my policy to store as little as possible on the Web. My mail is still stored on the Web, but if I could work out how to easily back that up or store it totally locally, I would.


👤 amadeuspagel
I always prefer the web client. I might use a PWA.

👤 arleny
I almost always prefer the desktop app over the web client because my browser is so polluted with random tabs nowadays. Also google chrome has programmed me to feel that web clients will be slower and resource intensive (even though this probably isn't always the case).

👤 alexmingoia
I prefer Web apps.

- I can access from any device.

- I don’t need to spend time downloading, installing, or updating.

- I don’t need to trust a new binary. The browser is already a sandbox, with a better security model than most apps.

- I can block ads (Twitter or YouTube being a good example).

I would use a non-web app only if there’s no alternative, which is the case for end-to-end encryption (messaging), games, etc.


👤 coddle-hark
I prefer desktop apps. I have a nice desktop environment with windows and a tray and split screen support and so on. There’s a chance that the desktop app isn’t just a chromium wrapper so I might get better performance and/or battery life.

👤 lol636363
I prefer web clients because I don't want bloatware on PC. Only when desktop client has some feature that I really need and I trust the company, then I install desktop client.

👤 spacefiish
I prefer desktop apps in almost every scenario. I like being able to map specific applications to keyboard shortcuts so that I can bring it up in an instant with just a few keys. This doesn't work with browsers, as I would have to either use a browser for one thing only, or having multiple apps running long term in one browser. The latter requires me to either have multiple windows or multiple tabs open at once, increasing the amount of time + keystrokes I need to get to the thing I'm looking for. I also like to show and hide windows pretty frequently, as well as move applications around a lot both within and across monitors, so this 1:1 mapping of "application" to "window" is very important to my workflow.

For example, I keep a Brave window open at all times that has a bunch of pinned tabs for my favorite myNoise[1] generators, as well as a dedicated window for Oryx Live Training (when it works) that helps me remember my custom keyboard layout [2]. Even if I pin all of them so I can't close them out by accident, I have to use my Brave shortcut and then tab through the open tabs and windows to find what I'm looking for, which can be annoying at times.

This specific usage pattern is why I like nativefier[3] so much. I've used to turn ProtonMail and ProtonCalendar into their own "native" Electron apps, so I can treat them as "regular" desktop applications and can control them as such. However, it doesn't work super well with multiple tabs (or at least last time I tried it didn't), so I haven't adopted it for things like GitHub and YouTube where I like to open most things in new tabs so I can switch back and forth as needed.

You alluded to this as well, but in every case I can think of, the desktop version of the app is also more fully featured and has more options, and I'd rather have easy access to those features (even if I don't need them often) than just use the web app and be constrained by its offerings.

That being said, if anyone has workflows for easily working with browser tabs and windows that are intended to be long-running, I would love to hear about them. Being able to have dedicated windows for myNoise, GitHub, Reddit, HN, etc would be awesome.

[1]: https://mynoise.net/ [2]: https://configure.ergodox-ez.com/ergodox-ez/layouts/DZWqE/la... [3]: https://github.com/jiahaog/Nativefier


👤 zzo38computer
I would prefer protocol specification, myself.