Live data from Hacker News

Local-first software: you own your data, in spite of the cloud

blog.acolyer.org

201–210 of 243 posts

Re: Local-first software: you own your data, in spite of the cloud

#201

Earlier quoted context omitted.

Centralized identity management was the grand promise of OAuth. It seems that somehow ended up, in most practical applications, as a "login with Facebook" button. There are a number of startups working on simplified or "passwordless" auth, but it seems that none have substantive traction. I'd love to be proven wrong, here, though!

Before that there was Microsoft Passport. Federated login for the web is a “problem” various parties have been working on for 20 years.

There's a fundamental problem of "I want my credentials to be validated by some central service, but I don't want to give some big faceless company my information." The centralized login service can be used to track your activity all across the net. It's a lot of power to give to some people you don't know.

Worse, people's fears in this area are completely justified. Precious few companies have proven themselves to be contentious with our personal data. Some go as far as to repackage and outright sell said data for personal gain.

A decentralized blockchain-like system might work for this, but as far as I know it has not been attempted.

Re: Local-first software: you own your data, in spite of the cloud

#202

Earlier quoted context omitted.

Yeah. I was definitely very AdHoc. A typical grocery store here in the US has about like, what, 20k SKUs? But I personally only really deal with maybe 200 of those, so at the time I just managed the data manually. (Plugged that USB scanner into a laptop and scanned every item into Excel --Scan, type. Scan, type. Then imported that into MySQL.) I looked into data providers mostly because I wanted item photos. (Ultimat…

I like systems I've seen in Europe(eg Carrefour) much more, where you get a handheld scanner and scan your items as you put them in the cart. When it comes time to pay you just put your scanner back and swipe your credit card.

I totally agree. Scan into cart is my favorite self-checkout method I've used. They had trial runs of a system like this in my community but phased them out soon after.

We also tried a couple home delivery services, but it was too unreliable.

What is popular around here is pickup at the store. Submit an order and a "picker" does the work. You either get curbside delivery (small grocery chain) or pickup at a dedicated counter inside (Walmart).

Re: Local-first software: you own your data, in spite of the cloud

#203
post #139

I spent a lot of time with photos (Picasa) trying to do this peer to peer - this is what we built in the 2002 era. Here are a few issues: 1. Identity is hard to do on the LAN, so any sharing ends up using the cloud to figure out who has access. Similarly, identity is hard to move around, so representing your Facebook comments feed outside Facebook is difficult to do. 2. Any time you have a "special" server that handl…

With regards to identity management, maybe there should be a formalized integration between browsers and password managers such that the concept of "registration" goes away and new logins just automatically create user accounts with default permissions, according to email address.

For true P2P identity there has been research happening for years on distributed PKI, resulting in specifications like DID[1] and the Sidetree[2] protocol.

1: https://w3c.github.io/did-core/ 2: https://github.com/decentralized-identity/sidetree/blob/mast...

Re: Local-first software: you own your data, in spite of the cloud

#204
post #196

Earlier quoted context omitted.

Yeah. I was definitely very AdHoc. A typical grocery store here in the US has about like, what, 20k SKUs? But I personally only really deal with maybe 200 of those, so at the time I just managed the data manually. (Plugged that USB scanner into a laptop and scanned every item into Excel --Scan, type. Scan, type. Then imported that into MySQL.) I looked into data providers mostly because I wanted item photos. (Ultimat…

Self checkout machines in the US are primarily a way to have someone working multiple registers. Working retail, you'll regularly see an entire line stop flat while payment gets processed or a problematic item/customer comes through. Self checkout stones this problem by only requiring a single employee be available for up to four registers (in my experience) while customers do the work themselves. Another advantage i…

One of our local hardware stores (Home Depot) went completely self-checkout a couple years ago. It was terrible and the employees hated it. I haven't been back. I might be the minority though.

I'd argue there is also a societal effect as well. Those employees are trained on how to spot theft, and not about being helpful to the customer. I'm not interested in being treated like I'm in a prison. :) I'm fine waiting in a checkout queue with my kids. They enjoy shopping with me, but it's a small nightmare trying to do it all by myself.

This will invariably lead to people like me having to pay a premium for an actual employee of the store prepare my bill of sale. --Which, when that time comes I'll pay.

Also, I really don't want the liability of performance on me. I scan a wrong barcode or I miss something and then I'm in a small room talking to a police officer having to explain myself. No thank you. :)

Re: Local-first software: you own your data, in spite of the cloud

#205
post #139

I spent a lot of time with photos (Picasa) trying to do this peer to peer - this is what we built in the 2002 era. Here are a few issues: 1. Identity is hard to do on the LAN, so any sharing ends up using the cloud to figure out who has access. Similarly, identity is hard to move around, so representing your Facebook comments feed outside Facebook is difficult to do. 2. Any time you have a "special" server that handl…

SSB (Secure Scuttlebutt)[1] has solved all of these problems except the encryption of data using the same key forever.

The apps all currently use one identity per device but it's not actually hard to use the same identity on two devices and multiple apps share the same identity commonly.

Old versions could of software could be a concern but really that's what Versioned APIs are for. It's a solved problem.

The only notable problem with local first dev that I'm aware of currently is storage requirements being confounded by the limited size of SSDs on most people's computers.

[1]: https://scuttlebutt.nz/

Re: Local-first software: you own your data, in spite of the cloud

#206
I've been building apps that meet this criteria for several years now. It's nice to see the concept getting some attention here.

The only thing I'll point out is that CouchDB getting rated "partially meets the idea" seems pretty weak to me. They reference v2.1 but the latest version is 2.3.1 and here's link to the docs on how conflict resolution is dealt with:

https://docs.couchdb.org/en/latest/replication/conflicts.htm...

If finer grained control is needed it would be up to the developer to implement it, and it really shouldn't be difficult to do that.

In my case, I use PouchDB to perform a "live sync" with all connected users so they all get the latest updates to a document. If a conflict arises it's easy for any one of the users to fix and push it to everyone connected.

Re: Local-first software: you own your data, in spite of the cloud

#207
post #12

I've been trying to document my "local-first" approach to managing photos. I've made it a ways through but am not sure when I'll finish. Posting here since it is relevant. A Pragmatic Photo Archiving Solution: https://docs.google.com/document/d/1JzqT-DJFlS2e8ZC00HrsQITq... It's the culmination of software I've written [1] + a workflow that's resulted from it [2, 3, 4, 5]. [1] Elodie - https://github.com/jmathai/elodi…

Just read through your google doc, interesting! But what about additional family members, with their own cameras, and no interest in any clever workflow activities :) I'm currently using Google Photos as my main service, and it's working good enough for now: each family member has the Google Photos app which uploads pics automatically, to their own account. We all share our Google Photos with each other. This way I (…

I also rely mostly on Google Photos as my viewing and sharing app. This includes sharing photos with family which is done through Google Photos shared albums.

I'm really the only one who cares about archiving photos so I'll transfer the shared photos from Google Photos to Google Drive (using the "share" functionality from the mobile app).

This kicks off a workflow that simultaneioously organizes the shared photo into my library and copies it too Dropbox and uploads it to my Google Photos library [1]. (I use Google Drive as a transport mechanism to get photos off my phone and onto my Synology).

Not ideal but once I got it set up it's worked really well.

[1] https://github.com/jmathai/elodie/tree/master/elodie/plugins...

Re: Local-first software: you own your data, in spite of the cloud

#208
post #12

I've been trying to document my "local-first" approach to managing photos. I've made it a ways through but am not sure when I'll finish. Posting here since it is relevant. A Pragmatic Photo Archiving Solution: https://docs.google.com/document/d/1JzqT-DJFlS2e8ZC00HrsQITq... It's the culmination of software I've written [1] + a workflow that's resulted from it [2, 3, 4, 5]. [1] Elodie - https://github.com/jmathai/elodi…

elodie looks amazing! I definitely need to try it out it was just the thing I was thinking of building recently as it was getting really tiring to manually organize photos one extra idea that I had: there's a cool project that would enable offline geocoding[1], which would help get rid of API limits while making the reverse geocode queries almost instant (the included dataset is pretty limited, but it's not hard to e…

I had looked into local geocoding databases but did not want to add a database file in the git repository. reverse_geocoder looks really interesting though and I may have a look at adding that.

For the time being, elodie does cache responses from the MapQuest API. And to reduce the number of API calls it does some approximation by seeing if an entry exists in the cache within 3 miles of the current photo --- if so, it uses that instead of looking up the location. [1]

[1] https://github.com/jmathai/elodie/blob/75e65901a94e14e6fd1ff...

Re: Local-first software: you own your data, in spite of the cloud

#209

Earlier quoted context omitted.

Just read through your google doc, interesting! But what about additional family members, with their own cameras, and no interest in any clever workflow activities :) I'm currently using Google Photos as my main service, and it's working good enough for now: each family member has the Google Photos app which uploads pics automatically, to their own account. We all share our Google Photos with each other. This way I (…

> I use the Google Drive interface to backup all my photos to my local linux storage I thought this was killed recently[1] (this = google photos appearing in google drive) Does it still work for you? If yes, how? :) [1] https://www.blog.google/products/photos/simplifying-google-p...

Uploading to both services is still supported through the Backup and Sync app. But once uploaded they are independent copies and deleting from one doesn't delete from the other. I also expect that this support will be deprecated at some point in the future.

Not keeping Drive and Photos in sync really killed it for me. I ended up switching from Google Drive to Dropbox but I still use Google Photos.

I have photos added to my library in Dropbox automatically added to my Google Photos library and this has worked well so far. [1]

[1] https://github.com/jmathai/elodie/tree/75e65901a94e14e6fd1ff...

Re: Local-first software: you own your data, in spite of the cloud

#210
post #130
post #128

Article mentions the following tweet: What was the last app you used on your laptop that wasn't: Terminal VS Code Web Browser OS settings That guy must be living in a very limited / imaginary world world. I use boatload of local software

Which are your favorites?

I do not have favorites. I use various tools for various activities. Mechanical design, electronics, software development, video, photo, data analysis etc. etc. Way too much to list all. Some apps are being used very rarely but I still need those when the time comes
Post reply on HN