Live data from Hacker News

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

blog.acolyer.org

171–180 of 243 posts

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

#171
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.

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!

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

#172

Earlier quoted context omitted.

I've been working on PhotoStructure (not so much to be an imgur replacement, but as a way to automatically organize and share my large (many tb) and disorganized (due to failed photo apps and cos) pile of photos and videos. I'm releasing to a new wave of beta users soon if you want to sign up and try it out. It's a self-hosted solution with a web UI. https://blog.photostructure.com/introducing-photostructure/ As one…

> It's a self-hosted solution with a web UI That sounds great, thanks! Is there an easy way for me to distinguish photographs from my photography work from snapshots I took with my phone? By the way, your "Get early access" button does nothing on Firefox beta with uBlock/Privacy Badger. > People post pirated, abusive, and generally bad things Oh ugh :( I was hoping this would be curtailed by the fact that this servic…

> Is there an easy way for me to distinguish photographs from my photography work from snapshots I took with my phone?

Yeah! You can browse by camera (and by lens).

Thanks for the heads-up on the get early access button issue! The link just scrolls you down to the bottom of the page where the login form is. I use FF with privacy badger and ublock (and a pihole) on linux and android, and both of those work. What OS are you using?

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

#173
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 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...

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

#174

Earlier quoted context omitted.

> Also desktop apps are becoming super slow and bloated now thanks to electron. I can't quite get this point. From my perspective software engineers love/adore electron applications. Look at VScode as the example: - electron based javascript application - telemetry included - proprietary build with "open core" It is literally the most popular code editor right now (p.s. I don't use it). Why as a tech savvy user you w…

As a user of VSCode, I use it in spite of it being based on Electron because there are no other good alternatives. It is noticeably very slow on many tasks, and has a large startup time. I recently had it basically become unusable when opening a 2MB yacc file and had to switch to Sublime Text to edit the file. I much prefer Sublime Text in terms of speed, but VSCode simply has more and better extensions for different…

I was a strong supporter of VSCode for a long period of time. Now I realise there is always an alternative.

After taking time to learn my tools I can't use vscode anymore because of how inefficient and restrictive it is now for my workflow. I mainly prefer tools that can last a lifetime and time you've investend now can yeld much better results across several decades of usage.

Here is short list of tools I can't live without: magit, org-mode, undo-tree (actualy it was a feature request and vscode team said it's too compticated for broad audience), ability to hack your code editor as you wish. Ability to work all day without touching a mouse once.

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

#175
The Holo / Holochain project was founded with this principle as a primary goal:

https://holo.host

We’ll be implementing CRDTs soon, but the concept of local control of all data, authenticated and encrypted communications, etc. is implemented.

One fundamental difference between apps that support this and those that cannot: agent-centric vs. data-centric design.

Strangely, many “distributed” applications (eg. Bitcoin) didn’t make the “leap” to agent-centricity, and thus missed out on some key enabling optimizations.

As a result — they are forced to implement “global consensus” (expensively), when they didn’t need to, to achieve their goals: a valid global ledger, in Bitcoin’s case.

It turns out that, to implement things like cryptocurrencies, you don’t need everyone, everywhere to agree on a “total order” for every transaction in the entire network!

Agent-centricity, FTW!

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

#177

I may be biased as the maintainer of PouchDB but you can do all this today (and for the last 5+ years) with PouchDB. The comment about CouchDB and the "difficulty of getting application-level conflict resolution right" I am not really certain how it applies, You dont have to handle conflicts in Pouch/CouchDB if you dont want to, there is a default model of last write (actually most edits) wins but you can handle them…

Hi Dale, I'm one of the local-first paper coauthors. I'm a fan of PouchDB (thanks for that) and the whole CouchDB lineage--the CouchDB book[1] was an early inspiration in my exploration of next-gen storage and collab models.

I've been down the CouchDB/PouchDB path several times with several different engineering teams. Every time we were hopeful and every time we just couldn't get it to work.

As one example, I worked with a small team of engineers to implement CouchDB syncing for the Clue Android and iOS mobile apps a few years back. Some of my experience is written down here[2]. After investing many months of engineering time, including some onsite help from Jan Lehnardt[3] we abandoned this architecture and went with a classic HTTPS/REST API.

Other times and with different teams we've tried variations of Couch including PouchDB with web stack technology including Electron and PWA-ish HTML apps. None of these panned out either. Wish I could give better insights on why--we just can't get it to be reliable, or fast, or find a good way to share data between two users (the collaboration thing is kind of the whole point).

[1]: https://guide.couchdb.org/

[2]: https://medium.com/wandering-cto/mobile-syncing-with-couchba...

[3]: https://neighbourhood.ie/couchdb-support/

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

#178
I wrote documentation for configuration files in xsd with the idea that I could use xslt to display them in a browser on any system and use the same files for validation. This worked a year ago.

Now browsers consider local files that access other local files suspect and will refuse to load anything unless beaten. So I now use a python script to run a simple local http server to view my local files from a single "origin". However http itself is already considered suspect and many claim it should be deprecated for https.

In the future I will have to provide a lets encrypt signed https server with valid domain so anyone can view those files on their browser without having to mess with about:config settings or their own certificate cache. The cloud is the future, do not dare to build something that runs locally.

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

#179

Nearly all of Apple’s first party software works this way. Notes, Reminders, Pages, Numbers, Keynote, Voice memos, etc All using iCloud APIs to synchronize what is essentially local-first software. You could even count Mail, Contacts, and Calendar, although they rely on more established protocols to sync.

Apple Health and Activity also seem to work this way, although they also sync to iCloud.
Post reply on HN