18 ms·
My return to desktop applications
- pacarvalho 4y agoGood 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 4y agoThats 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 4y agoWhy 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.)
- sitzkrieg 4y agothat would need the internet, kinda defeating the point no?
- mrleinad 4y agoAFAIK, dropbox also needs the internet to work, doesn't it?
- layer8 4y agoBut 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. :)
- samemail88 4y agoI only mentioned dropbox if I wanted to sync my database on multiple computers. I don't need to, so I don't need dropbox.
- samemail88 4y agoThis 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.
- tconfrey 4y agoI 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/ https://solidproject.org/ [2] https://logseq.com https://logseq.com [3] https://help.obsidian.md/Obsidian/Obsidian#How+we're+different https://help.obsidian.md/Obsidian/Obsidian#How+we're+differe... [4] https://BrainTool.org https://BrainTool.org [5] https://braintool.org/2022/04/29/Tools4Thought-should-use-Org-for-interop.html https://braintool.org/2022/04/29/Tools4Thought-should-use-Or...
- ocdtrekkie 4y agoI find SOLID frustrating because I feel like it's chief selling point is that Berners-Lee is pushing it. I think it's a fundamentally flawed design: It still relies on apps which are hosted by other parties and can hence disappear, or of course, do evil things. Retaining your data is important, but so is retaining the application. Google Takeout is a great example: You can download all your data but literally nothing ingests most of it and makes it at all useful, so it's mostly pointless to download a bunch of JSON files.
- abnercoimbre 4y agoDo you know of alternative efforts besides SOLID? Would love to research this some more.
- ocdtrekkie 4y agoI think a far better approach is to just self-host your own applications, instead of just your data like a SOLID pod. Several solutions assist with this with varying levels of security isolation and open sourceness. I use and contribute to Sandstorm.io, but also on the open source side there is also YunoHost, and on the proprietary side is Cloudron and Umbrel. Self-hosted applications can still be closed source, but hosting them locally means you can monitor their behavior, and they should continue to work even if the developer shuts down and abandons it.
- rkagerer 4y agoWelcome back, I never left
- kjellsbells 4y agoSeems 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.
- diego_moita 4y agoWrong. 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.
- dingosity 4y agoI 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 4y agoI 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 4y ago[deleted]
- ajsnigrutin 4y agoYou don't actually need to run a server for bookmark management (his example).
- black_puppydog 4y agoYou'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)"
- abirch 4y agoWhat about paid web apps? E.g., Office 365?
- layer8 4y agoWhat about it?
- abirch 4y agoThe 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 4y ago> 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 4y agoThis 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!
- dingosity 4y agoI'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 4y agoThat 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 4y agoI 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.
- wizofaus 4y agoMust've improved dramatically since I tried it a few weeks ago then!
- dewey 4y agoRunning 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.
- samemail88 4y agoDifferent 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.
- gspencley 4y agoFor 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 4y ago> 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.
- bbkane 4y agoUnfortunately (and this was my experience a couple of days ago, I could be wrong), when I wanted to download XCode to develop a native app, the site made me log in with an apple ID and accept terms and conditions. So, if writing software for Mac counts as using the Mac, you do need an Apple ID
- layer8 4y agoMost 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 4y ago> 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 4y agoExactly. 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.
- newaccount2021 4y ago
- butz 4y agoNot 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).
- labrador 4y agoI 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.
- samemail88 4y agoI 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.
- ocdtrekkie 4y agoPHP is still a great environment for toy projects. I write nearly everything web-based in PHP if I have no outside constraints because I can get started with it quickly every single time.
- butz 4y agoBefore learning Python I used PHP for simple command line utilities, no complaints here.
- deleted 4y ago[deleted]
- lucasgonze 4y agoAfter 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 4y agoTaking a gander through their privacy policy it doesn't seem like it's anymore private or secure.
- siraben 4y agoThis 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 https://martin.kleppmann.com/papers/local-first.pdf
- Barrin92 4y agoPersonally 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 4y ago> 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 4y agoGoogle 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.
- ezekiel11 4y agosorry 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 4y agoPeople would download the desktop app and content if it existed rather than using a webapp. Look at mobile, people want actual apps not webapps
- GabrieleR 4y agoI 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 4y ago> ... 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.
- dragontamer 4y agoI 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 4y agoHave 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 4y agoI 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.
- groby_b 4y ago
- bmitc 4y ago> 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.
- jventura 4y agoYou got my curiosity. Any links to share?
- bmitc 4y agoLinks to my GUI system? If so, it's early days, and there is nothing public. I am using F#, my own bindings to GLFW, and SkiaSharp, which is an existing .NET binding and library over Skia, to prototype things. At this point, I have a basic windowing system down, and now I'm trying to figure out the right interface to the events that can be sent out to whatever wants them and also basic "widget" elements. But I am considering multiple windows from the start, and I have that working do a decently satisfactory level right now. Things will definitely keep evolving as I learn things though. To be honest, I never wanted to create this. I originally wanted to experiment with making my own desktop programs but found the existing solutions too unsatisfactory or complicated. I also do not want to use C++. The closest I got was using Racket's GUI toolkit, but I found I was going to have to be writing a lot of custom widgets anyway, and I was also dealing with bugs and slogging through terse documentation.
- wooque 4y ago>Flutter and Electron can't even manage multiple windows How so? I use multi window Electron apps, VS Code is one of them
- cwales95 4y agoWhat'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.
- quickthrower2 4y agoYou will find thousands of open source budgeting tools if you want a head start. It is a popular hobby category for devs.
- ubermonkey 4y agoI 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.
- TheRealNGenius 4y ago
- whartung 4y agoI've been dabbling with a desktop toy application. I have it finally "done" and am in the process of working out packaging it so folks can use it. It's written in Java with JavaFX. Short term I'm reasonably comfortable with folks downloading a "fat jar" and then grabbing the JDK on their own, and, perhaps, firing off a .sh or .bat file to run it. Mostly because I don't have a Windows box to try the whole jlink or jpackage process. But then I started packaging it up for delivery. JavaFX has platform dependent shared libraries, all of which would need to be bundled in the fat jar. After building it, the result came out to 48MB... .. . This "app" is a pane with about 20 controls on it and a GO button. It's less then 2000 lines of code. And the deliverable is 48MB. I know, I know, that fancy animated GIF icon on that forum for someone's Avatar is probably 48MB. But that doesn't mean it doesn't chafe me to do so. That's not even including the JDK. I shouldn't care, but it was soul crushing. On total whimsy, I tried Flutter. I downloaded it, and built "Hello World" for macOS. Not only did it take an eternity to compile (on my modern, SSD enabled, eleventy gigablip iMac), the result was 108MB. And that was just for the Mac version, I'd need 2 others for Linux and Windows. The compile time was glacial (I know, its got hot reloading to speed things up). I'm sure the Electron vesion artifact is similar. I should just shut up and take it, but it rubs me the wrong way. I'm currently exploring the possibility of doing it as a PWA targeting Chrome, dunno how well that will work, but apparently with Chrome you can save and load local files (which is something I want to do). But I can't see my large vision being done as a PWA. I should put my head down, blinders on, and push on through. But for the moment, I'm irked.
- wdroz 4y agoMy production docker image with flutter web (frontend) and Actix-web (backend) is 13 MB.
- doodlesdev 4y agoHey if you are so desperate to the point of considering a PWA (I like them, but the support isn't good and the UX isn't good either, it's also not even supported by a few major browsers such as Firefox) check out Tauri at https://tauri.app/ https://tauri.app/ which uses the system web view and generally yields binaries of around 2MB (except if you use AppImage which is a bit larger of course).
- nyxtom 4y agoThis is a great incentive to build desktop apps for fun :)
- sys_64738 4y agoWhat is the lightest cross platform toolkit to make apps in? Is is WxWidgets?
- doodlesdev 4y agoIt depends on what you define by lightest, are you looking for smaller binaries, smaller memory footprint, smaller CPU usage. It also depends on the system you are shipping to and how. For instance a Qt application on Linux is going to be just a few kbs since you can just use the system libraries, but you will probably want to ship the lib with your application on Windows which means around 40MB or more. In this case if you are developing for Linux then Qt is lighter, but if you are developing for Windows the you should use Tauri (which will have a binary of around 2MB, but much more memory usage due to the webview).
- rahen 4y agoFTLK.
- synergy20 4y agomy cross platform desktop plan has been a http-server-in-golang(or other languages) with a browser as the front end, for many browser is the only desktop application they need these days so no learning curve on the UI. even Adobe is moving towards browser-based solution, unless you have a very special niche market that must be addressed by Qt/etc, I feel browser-UI is fine as a decent desktop UI app at least for my taste. browser, like it or not, is the new cross-platform UI now.
- EVa5I7bHFq9mnYK 4y agoDesktop apps declined in popularity largely because of security concerns - you could download a virus that would steal data from all your other critical apps, like password managers or Bitcoin wallets. Browser apps are somewhat better isolated. Is there a way to prevent downloaded exe's from installing key loggers and root kits?
- toomanydoubts 4y agoIs this still a problem in 2022? This is a solved problem in the linux world, with each distro having their package managers and vetted repositories. Of course, security issues still can arise, and sometimes you have to skip the official repositories to find what you need, but still much better than always downloading random binaries from the web. Doesn't windows offer something akin to that?
- t0bia_s 4y agoChocolatey. But still you need download some exe's here and there.
- EVa5I7bHFq9mnYK 4y agoYes, windows has an app store now. Still, I wouldn't trust any app store, look how many Android or ios apps are compromised. And npm libraries have been compromised. App store "vetters" just can't find all exploits, it's mathematically impossible.
- beagle3 4y agoHas there been a trojan found in the Debian, Ubuntu or RedHat repositories? If so, I haven't heard about it, and neither did Google -- and I've been using these one way or another for 27 years now. I suppose Arch/AUR might have had one. But there's a huge difference between a Windows store, which publishes author-provided executable files as-is, and Debian / Ubuntu / RedHat repositories which are all built from source.
- chasinglogic 4y agoI've felt this way a few times. But whenever I think about building some of my personal apps as desktop only to reduce the hosting burden I remember that I want to access a lot of that data on mobile too and getting sqlite to sync around to my mobile device is a real pain (not to mention now having to build a mobile app to read it). Web apps are just real convenient on the usage side even if I loathe building them most of the time.
- amadeuspagel 4y agoYou can make web apps that work offline today[1]. You can use IndexedDB to store data locally, in your browser[2]. [1]: https://web.dev/progressive-web-apps/ https://web.dev/progressive-web-apps/ [2]: https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_A...