[HN Gopher] My Return to Desktop Applications ___________________________________________________________________ My Return to Desktop Applications Author : samemail88 Score : 99 points Date : 2022-07-07 16:47 UTC (6 hours ago) (HTM) web link (ashlan.com) (TXT) w3m dump (ashlan.com) | [deleted] | ubermonkey wrote: | I have pretty much always hated web apps. I never used a webmail | client as my primary mail interface, even. It was Eudora, or | Outlook, or Mail.app. | | Local, _native_ apps are just better. They 're faster, they can | better respect platform interface and behavior conventions, and | you can use them on an airplane. | Barrin92 wrote: | Personally I don't see it as a general trend because its | uneconomical and I think the notion of 'ownership of data' is | confused. | | One issue is that local and online isn't an either/or situation. | People bring up keepass and self-hosting for example, but pretty | much any online pw manager stores your data _both_ locally and | online, and you can export it. Going local only or self-managing | my data has no benefit to me. | | Second point is about control. We have encryption nowadays. I'm | always confused when people hide their password vault or throw it | on a next cloud home instance or something. The entire point of | encryption is to enable the transport of secure data across | insecure or adversarial channels. You can either own things and | keep them secret, or encrypt them. Doing both kind of defeats the | purpose of the latter. | | Third thing is that empirically speaking, Google has a better | track record of not losing my stuff than I do, so I think there's | also a lot of illusions going on when people think that data is | more safe if they have close on hand. | mejutoco wrote: | > The entire point of encryption is to enable the transport of | secure data across insecure or adversarial channels. You can | either own things and keep them secret, or encrypt them. Doing | both kind of defeats the purpose of the latter. | | An scenario where encrypting locally makes sense is protecting | confidential data when an attacker has physical access. For | example, encrypting your disk so that losing your laptop in the | train does not expose all your local files. | gspencley wrote: | Google has a worse track record of not losing my stuff than I | do, but admittedly I don't use too many Google services. | | Two examples: | | I had a YouTube channel that was created before Google bought | YouTube and switched to using/requiring Google Accounts. That | channel/account became orphaned and I could no longer gain | access to it. I contacted YouTube support and the only remedy | they could offer me was to serve a DMCA notice to have the | content removed. | | I used Google Play and had bought music through the service. | When they shut down the service I lost music that I had paid | for. Meanwhile I still have a local mp3 library that has some | content in it that has persisted on various hard drives since | the 90s. | dewey wrote: | Running local offline applications made a lot more sense before | we had multiple devices (phones, tables) home computer, work | computer. | | If I want to use a bookmarking tool I want to use the same tool | to store entries in during my work day. I'd also want to check | something if I'm outside with a friend and want to show them | something I bookmarked a week ago. | gspencley wrote: | For those of us who don't like to be on our smart phones all | the time, who keep work and personal strictly separate, who | don't travel often (and when we do we leave our tech at home | because a vacation is to get away), who prefer to keep their | data local and outside the hands of 3rd parties, it has really | sucked over the last 10 - 15 years to see the entire industry | go all in on SaaS everything. | | I use Linux and FOSS mostly. I always have anyway, but it's | nice to be able to still be in control of things while the | Apple and Microsoft worlds keep pushing Cloud and SaaS on their | customers (last time I installed Windows on a dual boot I | needed a Microsoft account just to log in to MY computer ... | WTF?!?!?!). And for work I need an Apple ID to use my | MacBook... at all. WHY?! | dewey wrote: | > And for work I need an Apple ID to use my MacBook... at all | | Why? You can use the computer perfectly fine without an Apple | ID. | HeckFeck wrote: | Yeah while it is genuinely the substance of nightmares with | Windows 10+ with its insistence upon using a remote account. | But Mac OS will ask once and it's perfectly skippable. | | Of course, if you wish to access iCloud or the App Store, | it's required. But in fairness to Apple they don't push it in | the same sneaky way as MS. | samemail88 wrote: | Different use cases for different people. When I do real web | surfing, its usually on the computer. When I'm on my phone, its | light surfing (finding a restaurant address, etc). Also, if you | really want it sync between two computers, you can use | Syncthing or Dropbox. | vorpalhex wrote: | You can do sync via e2e and protect it from service providers, | or let users provide their own sync (which they can self host | or use a paid service). | GabrieleR wrote: | I enjoined the ending paragraph tone. Alien like remark on the | desktop app emergence and rising popularity after 2000. | | On my end: being born two years before 2000, makes me a desktop | apps powered man and frankly I've been moving away from them. I'm | seeking order and density so I've moved to the dark side of the | spectrum, towards clis. | | There's hope in TUI like apps: like cashiers softwares terminals | which displays some of both extremes. Until GUI are able to | visually convoy meaningful symbols without ever using explicitly | written characters, there's little gain in using them more the a | solely characters driven interface. | | Thise are personal considerations, | | Hopefully I'm just a maniac that enjoy that intimate vibe | interacting with a machine rather than clicking it. | movedx wrote: | > ... so I've moved to the dark side of the spectrum, towards | clis | | Do you mean the best side? CLIs are were the power is at, | because it's the only place you can convert human thought into | instructions the computer can understand. It's the only place | raw desire can be converted into a string of demands that the | computer can meet. GUIs offer a static sub-set of this | functionality in exchange for accessibility of the masses | (which is fine... Instagram doesn't need to be a CLI tool.) | | > There's hope in TUI like apps: like cashiers softwares | terminals | | When I worked in a Vodafone call centre many, many moons ago, | we had a system actually like this. The F1-F12 function keys | were critical and the entire thing was insanely fast. They | eventually switched to a web based solution and it was | terrible. | | Modern technologies favour the technologist, not the end | user... they just happen to like it because they have no | choice. GUIs, the shite they're built on, hold a monopoly. | layer8 wrote: | Most comments are about owning your data or running your own | server. But what's also important is decoupling the mechanism of | distributing or syncing the data (for access from different | locations/clients) from actually working with the data. | Basically, this is the separation between file system and | application. | | The separation has two benefits: One can work with the data | independently from internet access, and one can choose between | different applications that understand the data format, including | writing your own, without having to depend on a third party. | Controlling what is shared is then also independent from the | chosen application. | | Lastly, native applications can have the benefit of improved | usability by adhering to the platform conventions and having | better integration into native features. | black_puppydog wrote: | > one can choose between different applications that understand | the data format, including writing your own | | Which is arguably "just" a much deeper form of "owning your | data." One that I wholeheartedly agree with by the way. | | By the way, I think what the author should have phrased it as | is "local first" applications. | samemail88 wrote: | Exactly. It's like KeePassXC. It's a local app but the syncing | of your password file is on you. You can choose to sync it | however you want. You can choose to use Dropbox/Google | Drive/etc or choose not to sync at all. The benefit you have a | choice and you have complete control of the data/file. Nobody | can take that away from you. | TheRealNGenius wrote: | look dude, I don't care what you do or don't do | dragontamer wrote: | I think one of the major times to use Desktop applications is | when performance is critical. | | Video games are the key example: all video games are competing | against other games for what comes down to more complicated | physics calculations (often light-based physics: "more realistic" | shadows from Raytracing, or "cooler" shaders like Dragonball | FighterZ / Guilty Gear (very "unrealistic", but clearly requires | modern GPU-shaders to calculate). | | Though Google tried to get video games "into the cloud", it still | required data-centers full of high-end GPUs... and even then had | latency issues. | | Other performance critical applications include Stockfish Chess, | LeelaZero Go (and KataGo), Blender 3d modeling, etc. etc. Having | the user "spend the money on more compute" is economically a more | feasible move, than centralizing compute costs to a server | somewhere (especially costly GPU-hosting). | | -------- | | Good news! There's plenty of performance-critical applications | waiting to be explored. | | But if you just need to deploy a simple application with low | compute costs, centralizing the compute into a single server (or | even mild decentralization through the Javascript interpreter) is | good enough. | groby_b wrote: | Have you... read the article? Like, at all? | | They are specifically talking about the issue of data | ownership, not performance. They are talking from a user | perspective, not from a developer perspective. And they are | specifically not talking about how centralizing is "good | enough" - because it fails exactly at the data ownership point. | dragontamer wrote: | I have read it, and stand by what I say. | | Desktop applications shine in this performance situation. | Video games, 3d renderers, chess analysis, go analysis, deep | learning, compiling, video editing. | | ----------- | | If we're talking about "Data moving with you wherever you | go", that was a Floppy Disk back in the day. If you want | bookmarks to be portable in some kind of modern day setting, | you'd store it on your phone and connect that up with your | Desktop-app, or maybe keep it on a USB drive in your pocket. | gfxgirl wrote: | 3d renders might win in the cloud because the default could | be a render farm. | | they could also be running on the top GPUs where you might | locally have some low-end notebook. | | I haven't used it but as one example there is Clara.io and | even if Clara.io isn't perfect it at least shows a path | ezekiel11 wrote: | sorry but the convenience is way too much for the vast majority | of people to have to download desktop and access it. everybody is | content being able to do it through the phone. | sirjaz wrote: | People would download the desktop app and content if it existed | rather than using a webapp. Look at mobile, people want actual | apps not webapps | diego_moita wrote: | Wrong. | | The real issue isn't Desktop vs. Web, it is "people don't want to | run their own servers". | | Take email: with Dovecot, Postfix and SpamAssasin anyone can | build their own email server. Almost no one does. | | With Syncthing or Owncloud anyone can build their own Google | Drive, iCloud or OneDrive. Very few do. | | There are alternatives to WhatsApp/Telegram where you'd create | your own server (e.g. Matrix). Almost no one uses them. | kitsunesoba wrote: | I ran my own email server for a while and to be frank, it was a | pain in the butt. Even though I spent a lot of time reading up | on the proper way to set things up and tried to apply that as | well as I was able, there was this lingering feeling that | something somewhere was misconfigured, if not from a mail | authentication/anti-spam standpoint, then from a network | vulnerability one, and of course it needed to be continually | maintained with patches, config updates, etc. | | Eventually I gave up and moved to Fastmail. The few dollars per | month are worth it. | | Syncthing on the other hand I found pretty reasonable when I | still had need for it, with my only gripe being that the only | UI surfaced by several clients is a webpage which feels a bit | janky. | rufus_foreman wrote: | Many people run their own NAS which is the non-cloud | alternative to something like Google Drive. | | Running your own email server is a pain, having a client that | pulls down your emails and stores them on a NAS so that your | email is only briefly stored in the cloud is not a pain. | | Never used WhatsApp or Telegram so no idea what the alternative | for those is. | black_puppydog wrote: | You're taking applications that are pretty inherently network- | connected, like chat and sync. Yes, those make very little | sense without a server. Although syncthing in particular will | work just fine actually. | | But a lot of things don't require internet connectivity at all, | not inherently. They largely stay on one device and that's | fine. If they're to be shared between people or devices, _very_ | often attaching them to an email is better than "share this | link with your friends (all they'll have to do to see it is | sign up for our service so Growth can report those sweet sweet | activations)" | RajT88 wrote: | These are server apps. This guy is talking about end user apps | more. | | Example: I prefer to run Google Earth desktop instead of Earth | in a browser. It's faster, has more features and doesn't suck | up as much memory. | | I use Notepad++ instead of google docs for most note taking. | | I use Kusto Explorer desktop instead of Azure Data Explorer. | | Outlook desktop instead of OWA. | | There are exceptions. The facebook messenger app I prefer in a | browser, because, do I trust Facebook software to _not_ scrape | my screen and send it back to FB servers? I would much prefer | it to live in my taskbar as a discrete app otherwise. | asnyder wrote: | Unfortunately as far as email is concerned this is not so true | anymore. Many years ago I used to do as you described but | eventually switched to hosted services due to the likelihood of | any messages being sent from said self-hosted server being | flagged as spam in the best case, or never received in the | worst case as you'll receive an undeliverable message due to | the sender requirements of many organizations. | | As with most nice things the bad actors (spam, phishing, etc.) | in society will abuse things to the point that we can no longer | have them. | jrm4 wrote: | Correct, the _real_ issue is - the most beneficial thing for | users is to only share data as needed, but what scaled and was | profitable was "leak everybody's data everywhere all the | time." | | Now, the cracks are showing in this approach, mostly because of | the ones who do it poorly. Perhaps the ones to watch out for | though, are the ones who do it well, e.g. Google Apps? | dingosity wrote: | I don't need to run a server to run a local email client. | | I also don't have the requirement for anyone to be able to join | a project-specific IRC channel I'm hosting. In fact, quite the | opposite, I DON'T want just anyone to join it. | | For secure communication, I still use S/MIME (I may be in one | of the last clusters of people to do so.) | | It's entirely possible this article was not intended for you. | It sounds like you have different requirements than the OP. | abruzzi wrote: | I tried and tried to get co-workers to use S/MIME. I was | reliably able to get one other person on board, but no one | else wanted the go through the hassle (and its not that much | hassle!). So the two of us eventually abandoned it. | [deleted] | ajsnigrutin wrote: | You don't actually need to run a server for bookmark management | (his example). | lucasgonze wrote: | After hunting for a desktop and mobile Gmail replacement for a | while, I have settled on Bluemail for both. Along the way I tried | Mail.app, Thunderbird, and various open source thingies. None | were close enough to the quality level of Gmail. | | This new situation is probably good enough to keep me off gmail | for good. | vorpalhex wrote: | Taking a gander through their privacy policy it doesn't seem | like it's anymore private or secure. | tconfrey wrote: | I think there's going to be an increasing push for people to own | their own data, from whatever application it is they are using. | Tim Bernes-Lee's Solid [1] is aiming at that idea and a lot of | the new personal knowledge management tools like LogSeq [2] and | Obsidian [3] can work from a local file. My own browser | bookmarking plug-in BrainTool [4] reads and writes plain text (in | org-mode format) from a local file. BTW I'm advocating for org- | mode as the universal exchange format for productivity apps [5]. | | [1] https://solidproject.org/ | | [2] https://logseq.com | | [3] | https://help.obsidian.md/Obsidian/Obsidian#How+we're+differe... | | [4] https://BrainTool.org | | [5] https://braintool.org/2022/04/29/Tools4Thought-should-use- | Or... | newaccount2021 wrote: | pacarvalho wrote: | Good point! The tricky thing is that even desktop apps today tend | to have online backends to store data and analytics. So it would | be a matter of building/searching for apps that are 100% local. | samemail88 wrote: | Thats why I decided to build my own. My bookmark manager is | 100% local. It even caches pages I bookmark using chrome | headless. The data is stored in a sqlite file which I can sync | using Dropbox, Syncthing, etc if I use multiple computers. | severak_cz wrote: | Why not hosting it on some cheap hosting if you are already | using PHP? | | (I also build an app which is basically bookmark manager and | it's based on PHP and SQLite.) | samemail88 wrote: | This is on the assumption I want to host it online. I don't | want the task to maintain a web server and pay for its | cost. I just want to be able to it use it locally. I want | to be able to send it to a family/friend and they can run | it themselves. | sitzkrieg wrote: | that would need the internet, kinda defeating the point no? | mrleinad wrote: | AFAIK, dropbox also needs the internet to work, doesn't | it? | samemail88 wrote: | I only mentioned dropbox if I wanted to sync my database | on multiple computers. I don't need to, so I don't need | dropbox. | layer8 wrote: | But you don't need the internet to work at the same time | as you use the local application with the data previously | synced via Dropbox. Of course, in the case of a bookmark | manager, the usefulness is limited when the internet | isn't working. :) | bmitc wrote: | > Electron and PHPDesktop might be considered the future of | desktop development as they allow rapid development of desktop | like software. | | And unfortunately also Flutter. | | I am developing my own cross-platform, desktop-only GUI system. | It is rough going for me, but the ideas in it are really not that | hard. What surprises me is that no company has stepped up to fill | the gap left by GTK, Qt, wxWidgets, and the OS-specific | frameworks other than Flutter and Electron. Flutter and Electron | can't even manage multiple windows. It's a shame. Because for a | team of competent folks, I really don't see any massive barrier | to creating a cross-platform, desktop-only GUI framework. And for | some reason, academia doesn't seem to be interested at all in | GUIs and other such things, despite there being a lot of | interesting and difficult problems. | warning26 wrote: | > Because for a team of competent folks, I really don't see any | massive barrier to creating a cross-platform, desktop-only GUI | framework | | Here's one: cross-platform GUI apps will, without exception, | feel subtly _wrong_ on every platform. Each platform has its | own "way" of doing things. | Macha wrote: | Right, but the alternative is rarely a native app for each | platform, it's Electron in most cases. | | I imagine you could make something that at least gives you as | much opportunity to fit in as electron, with accessibility | support, and some new ideas, be it from a development | paradigm, inbuilt widget sets, or something else. | ryandrake wrote: | I mean, the better (for users, maybe not for developers) | alternative is to buck up and build a native client for | each platform. Share as much code as you can portably, but | you'll have a small platform-specific shim around the edges | to call into the shared business logic and implement the | platform-specific window management and bling. | krapp wrote: | Electron isn't that revolutionary - it's basically just | shipping applications in containers. It just happens that | the container is a web browser, but it could just as well | be the JVM or any language runtime with a GUI layer. | krapp wrote: | >Here's one: cross-platform GUI apps will, without exception, | feel subtly wrong on every platform. Each platform has its | own "way" of doing things. | | You're stating as an objective fact what is you own aesthetic | opinion. | | Yes, different platforms are different, and the same app | behaves differently on different platforms. But most people | don't switch platforms or use the same app on different | platforms routinely, and it wasn't an issue prior to | Electron, when the most likely manifestation of this would be | the use of the same browser on different platforms. | karencarits wrote: | But is subtly feeling wrong a massive barrier? And feeling | wrong for who - I would guess that it is mostly people who | would have done fine without a GUI that would notice, for the | others (or us all?), most GUI apps would feel slightly off | anyway | jventura wrote: | You got my curiosity. Any links to share? | wooque wrote: | >Flutter and Electron can't even manage multiple windows | | How so? I use multi window Electron apps, VS Code is one of | them | makeitdouble wrote: | Do your VS Code windows interact with each other? | | I think parent is thinking about a behavior like the tool | panels in Photoshop. | sleazebreeze wrote: | I work on an Electron app that has multiple windows | interacting with each other in all kinds of ways. It's | quite possible. | karencarits wrote: | So true. I love tools like https://tiddlywiki.com/ that *just | works* - across platforms, can be shared without problems, and | is flexible enough to make all sorts of simple tools without | having to use a terminal, add n dependencies and compile | things. Please share if you know similar software! | 323 wrote: | > _I really don 't see any massive barrier to creating a cross- | platform, desktop-only GUI framework_ | | Developer adoption is a big one. Why should I trust your NewGui | to still be updated and improved 5 years from now? | | Even Microsoft has a whole graveyard of dead GUI frameworks | (WinForms anyone?) | siraben wrote: | This paper, "Local-First Software: You Own Your Data, in spite of | the Cloud"[0] is a great read on how to evaluate software for | local-first properties and provides interesting case studies and | ideas on how to achieve it, for instance using CRDTs instead of | centralized storages. | | [0] https://martin.kleppmann.com/papers/local-first.pdf | cwales95 wrote: | What's old is new again. | | I liked the article and agree with the sentiment. I myself have | trouble trusting my data with companies nowadays. The constant | cyber attacks, misuse of private data, and the monetisation of | user data deeply disturbs me and makes me think a ton before | using a new service. | | I'm currently building my own budgeting tool for myself and my | partner. The pros: all the data is mine, never leaves my own | network unless via my home VPN, and I build the features I want. | The negatives: I have to build it myself, won't have as much | fancy features and nice UI. | | This certainly won't be for everyone, and is not viable for most, | but there's a not a lot of viable alternatives at the moment. | butz wrote: | Not sure if running an instance of web browser for each little | desktop application is THE solution. I personally prefer Python | ant TKinter. Yes, it looks ugly, but applications are small and | use same runtime. For web developers I might even suggest trying | GJS (GTK bindings with JS). | samemail88 wrote: | I understand not everybody likes PHP, some prefer python, java, | go. PHP is my go to language for tinkering on my personal | projects. Also, I don't need to run an instance per each little | desktop application. I can run one instance and "host" all them | on the same instance. | labrador wrote: | I prefer Blazor, which doesn't require embedding a browser. | Running the server portion to serve my pages and json is just | like running any other app, so I don't get the "People don't | want to run their own server" meme. No one wants to run their | own mail server, I get that. | abirch wrote: | What about paid web apps? E.g., Office 365? | layer8 wrote: | What about it? | abirch wrote: | The future of apps. The article was saying running Electron | Apps locally for privacy, I predict those that care about | their privacy will go for paid for web apps that protect | their privacy. | layer8 wrote: | > Websites get hacked and people's data get stolen all the | time. Also, do I really control and own the data I generate | on these sites. | | Unless legislation forces application providers to be | accountable for privacy breaches, with tough penalties, I | don't see why privacy-sensitive users should forego | applications that work with local files, moreso if those | applications are free. | | Unrelatedly, the author explicitly states that Electron | apps aren't real desktop apps. So he's talking about native | apps. | mbreese wrote: | This pendulum will keep swinging. All of this has happened | before and will happen again. The question that I got from | the original article is not if there is pressure to move | back to local applications (there is), but _if_ we 've hit | the maxima for remote (webapp) applications. Eventually the | remote-first momentum will wane and we will cycle back | towards local applications, data locality, and local | processing. We've been pushing so far with remote, web | based applications for many years now. Email was first, but | then came video and office applications. | | Mainframes -> microcomputers -> appliances (phones, | tablets) -> whatever's next... (home servers?) | | At some point it will swing back. It won't look exactly the | same, but the industry will swing back. It might not be for | speed, but as you say, for privacy. It's easier to protect | data that is physically close to you. | | We will probably also swing back from microservices with | HTTP APIs towards monolithic applications. But that's | another thread! | samemail88 wrote: | Why use Office 365 when you can use Office locally (assuming | you need/want to use Office)? | dingosity wrote: | I'm happy other people are doing this. I gradually started doing | this a couple years ago when there was one specific feature of | Lotus Manuscript I couldn't find in google docs. In addition to | using local apps, I'm also using more apps in the terminal. I've | even come to terms with Lynx. | wizofaus wrote: | That anyone would consider Google docs et al a suitable total | replacement for a desktop word processing app does my head in. | They have their uses, but even as someone that doesn't need to | write up especially complex documents I can't imagine opting | for a web-app to craft them in. Nothing to do with data | ownership, as I keep the documents in a hosted managed service | (usually Onedrive these days). | gfxgirl wrote: | I can't imagine using a destkop app for this. Google docs is | great! I can open the same doc on my desktop, my two laptops, | my tablet, and my phone, and if I need to share it it's just | a couple of clicks to share a live version. I can't imagine | using a desktop app for this | | From like 1993 To 2008 i used microsoft office. Bought new | versions often, etc... When I started using google docs I | haven't touched office since. Zero desire to go back. | | There are plenty of other apps I'd consider for web only if | good ones existed. For example I'm not a super fan of Google | Slides, just because I find the feature set lacking. But | seeing it and similar sites work it's clear to me someone | could make a vector drawing app for the web that I'd be | perfectly happy to give up Affinity Designer for. | kjellsbells wrote: | Seems to me that 1 user can store their data in 1 or N local or | remote silos. classically each local app had its own data store, | so 1:N. Web apps were the same except that each of the N | providers could monetize your data and lock you out. Google and | FB are using SSO to abstract the N behind one front door but | really thats just so they can monetize the data instead of the N | vendors. | | Having 1:N but the user controlling where those N are stored, and | that storage being portable between backends, seems like the | right choice. Bonus points if apps can share data between | themselves M:N style, although that is fearsomely hard to secure | (exhibit A: windows registry). | | A localized database stored in a non proprietary single file | format that can be moved around and rsynced, dropboxed etc at | will, plus a common, network independent access protocol so that | open/read/write semantics work whether the thing is local, at a | URL, etc just work would seem to be very desirable and possible | with todays tech. ___________________________________________________________________ (page generated 2022-07-07 23:00 UTC)