4 ms·
A local first tool, for me is one that works for most productive purposes without any network connection after the initial page load. Having just returned from
by atoav 3y ago
A local first tool, for me is one that works for most productive purposes without any network connection after the initial page load.
Having just returned from a multi-day hiking trip without a lot of network coverage I think people don't realize the utility to such things.
- nixpulvis 3y agoI really like this way of thinking about it. I try to advocate for internetless development, so it meshes nicely with that. It also helps me understand the scope of the frameworks. They need to maintain local state akin to saving files locally. It’s just funny to me how we had this as the default mode of operation many years ago, then lost it because everything went to the cloud, and now we’re realizing that was kinda a mistake and we’re trying to fix it in the new environment.
- erhaetherth 3y agoI think most of us knew this was a mistake instantly. Internet was even shoddier 10 years ago.
- tantaman 3y agoThe reasons why everything left an "internetless model" seem to be getting lost to time but I explained some reasoning here in this comment: https://news.ycombinator.com/item?id=37500449 https://news.ycombinator.com/item?id=37500449
- SkyMarshal 3y agoExactly. A great working example is Obsidian. Every version of it - desktop, android, iOS, writes locally first and then syncs to remote (if you’re subscribed to the Sync service, otherwise just writes locally). Other than Sync (and some other optional services like Publish), it is 100% functional without network connectivity.
- atoav 3y agoCall me old fashioned, but why would anybody ever think doing it differently was a good idea? Having it run locally and only sending requests when really needed is a way to make your app feel reliable and snappy. If every ailly button of your app sends out requests that means the snappiness of your whole UI will depend on the mercy of the network gods. Maybe it is the thrill of the gamble?
- BHSPitMonkey 3y ago> Call me old fashioned, but why would anybody ever think doing it differently was a good idea? Most would probably agree, but then you're adding a layer of complexity on top of what could be a very simple client/server application that satisfies 80% of your users. There is more "cheap" software out in the world than robust, complex software because most software doesn't make it far from MVP.
- eternityforest 3y agoI think people spend more time debating what features to include or leave out than the do implementing... It's a layer of complexity but not necessarily a difficult to add one, or one all that likely to cause performance trouble or bugs. Obsidian does perform pretty badly though.
- SkyMarshal 3y agoI don’t think there’s any one reason. In the early web days there were no client-side data stores, just server middleware and database that did all the work, generated and updated web pages with a little bit of JavaScript on them. It wasn’t until Web2.0 and iPhone that web and mobile began to have the ability to do the write local then sync model. But the old client-server model was still easier to develop for, had the momentum, and internet speeds were fast enough. Nowadays there are services like Firebase that make it super fast and easy to develop full-featured apps. They provide everything an app needs - user accounts, sessions, data store, etc. All of which is still more work to replicate in the local first model. Afaik there’s nothing like Firebase for local-first.
- developer93 3y agoOrganicmaps & co ftw