3 ms·
This is the 3rd time in a week a "Local-First software" overview has been submitted and the 2nd time it's made the front page here. I'm pretty surprised about t
by oblib 6y ago
This is the 3rd time in a week a "Local-First software" overview has been submitted and the 2nd time it's made the front page here. I'm pretty surprised about that because I'm about to release a local-first, offline-first, option for an app I make.
This article also quickly moves past "local-first" software to conflict resolution which, in my opinion, is a distinctly different issue. It's certainly not reason enough to hold off offering users a local-first option.
At this point I believe that since it can be done it should be done. I'll even go so far as to say it's a necessity. At some point users will understand it's a necessity and demand it. All that really needs to happen to convince them is one big incident where they lose access to their data for an extended period of time, or worse yet, lose all their data forever, and it won't matter why or how.
Aside from that, as more app makers start offering local-first options and users begin to see the benefits of that they will begin to demand it. That could take some time, but I expect it's inevitable.
There are other benefits to a local-first approach for developers. Take a "Contacts" app for example. If we have a standard for saving contacts data on the client side that any app could access this would give users and developers options to create and use new apps and features that all use the same data.
CouchDB & PouchDB.js provide a pretty solid and easy way to do this right now. Installed on the user's desktop PC, CouchDB provides the missing link to a robust client side web app runtime environment.
There may be other ways of achieving this right now, but I am not aware of them.
- akulbe 6y agoDo you have a website where you talk about your stuff? I didn't see anything listed in your profile.
- oblib 6y agoI have a personal blog where I blabbered on a bit about using CouchDB on the client side back in May : https://azartiz.com https://azartiz.com And I outline the features on the new site for the app at https://cherrypc.com/home.html https://cherrypc.com/home.html That site is still under construction but there is a link to a demo of the app there. It doesn't run on a local CouchDB though, it uses the browser's IndexedDB. You only change one line of code to use the IndexedDB, the cloud based CouchDB, or the locally installed CouchDB. I did make a very simple demo of a "Rich Text Editor" app that runs on a CouchDB installed on your desktop pc though. After you've installed CouchDB and created an "Admin User" and password this page configures a user and a DB on your CouchDB: https://cherrypc.com/app/editor/setup.html https://cherrypc.com/app/editor/setup.html After you created your user you're redirected to the app and prompted to login at this page: https://cherrypc.com/app/editor/index.html https://cherrypc.com/app/editor/index.html After you log in you can CRUD & print rich text documents. It's a very simple app and all the code to make it is included in the source of those two html pages.
- rzzzt 6y agoUnhosted.org [1] mentions the remoteStorage protocol [2] as one of the options for storing user data separate from an application. [1] https://unhosted.org/adventures/7/Adding-remote-storage-to-unhosted-web-apps.html https://unhosted.org/adventures/7/Adding-remote-storage-to-u... [2] https://remotestorage.io/ https://remotestorage.io/
- cxr 6y agoremoteStorage is pretty cool, and it's a shame that neither it nor something like it has really taken off yet. The spec has some rough edges, though—in particular the protocol requires a smart server to handle the network requests, when it should be fairly straightforward to define a "static" profile that can turn most commodity dumb hosts (Neocities, GitHub Pages, etc.) into a user store. I'm convinced that this seemingly minor design tweak would give remoteStorage a new life and cause it to spread like wildfire. The spec gets periodically refreshed/resubmitted. It last happened a couple of months ago and is set to expire at the end of the year.
- galaxyLogic 6y agoHow does the user switch from using database in the cloud to using one on their desktop?
- oblib 6y agoRight now I just point them at a different web page. Basically I have a local.html and a cloud.html that call a different .js config file that points to either their local CouchDB or the one on my web server.
- cxr 6y ago> If we have a standard for saving contacts data on the client side that any app could access this would give users and developers options to create and use new apps and features that all use the same data. [...] There may be other ways of achieving this right now, but I am not aware of them. This is the content providers design that was heavily touted in the early-ish days of Android. https://youtu.be/QBGfUs9mQYY?t=352 https://youtu.be/QBGfUs9mQYY?t=352