RemoteStorage
Dev tools
frontend state library
SHOW HN2024
How HN took it
7 positive, 15 neutral or asking, 2 mixed, 11 critical, out of 35 comments about the project. Thread score -0.08.
Idea: 6 for, 7 againstExecution: 0 for, 3 againstDesign: 1 for, 0 againstPerformance: 0 for, 1 against
The thread, comment by comment
Each row is a top-level comment and its replies, in HN's order. Select a cell to open that comment on HN.
positive neutral or mixed critical about another commenter or something else the maker
What HN said
What people liked
Simple API that feels like localStorage
From 3 comments
Your landing page at https://remote.storage/ is so good, I love the minimalism. Six lines of code tell me exactly what it does.
paulgb on HNI love the simplicity and kinda wish that was actually built into Chrome. I know it would probably break things but if Google could automatically sync local storage and IndexedDB…
matlin on HNThat's so cool ! I was thinking how I'd make work syncing my offline first app and this looks promising
simlevesque on HN
Fills a real need for cross-device frontend preferences
From 2 comments
I would state the opposite, the use case is huge. To add something new, that needs to persist, will not require going to a backend team and begging for a new API from them. A…
buro9 on HNThat's so cool ! I was thinking how I'd make work syncing my offline first app and this looks promising
simlevesque on HN
Objections
Writes are async, so existing sync code must change
From 2 comments
Very cool overall but the sync->async change means you can't always use it as a drop-in replacement. I assume it's making network calls in those cases which will take…
joshstrange on HNTotally fair point and I understand that as-is it’s way simpler than what I proposed. I just know there are places I have to change a whole chain of functions from sync to async…
joshstrange on HN
Conflict resolution and offline behaviour unclear or missing
From 3 comments
How are the conflicts resolved? Machine A is online and sets "x" to 1. Machine B is offline and sets "x" to 2. Machine B goes online. What the resulting state on A and on B? What…
eps on HNI see. The case in question is when the user switches between two devices, each of which may be sometimes offline. This can cause older changes hitting the server later than the…
eps on HNBased on the comments I think this is just, not yet implemented. But is one of the next steps for truly cross device storage.
valsk on HN
Name collides with existing remoteStorage.io protocol
From 3 comments
The name Remotestorage is already used for a protocol for portable user-controlled storage. See e.g. Remotestorage.io.
vidarh on HNhow is this different from remotestorage.io ?
airtonix on HNNot to be confused with https://remotestorage.io/
SushiHippie on HN
Backend needs its own auth and user ID, which is hard to get
From 2 comments
The bit about finding a unique ID for the user is the whole pain point though. The only way to do that really is for the user to create an account on some service that I host.…
stevage on HNCookies or passkeys? Seems very complex when you can use something simply to track state and identity. Passkeys sync across cloud storage, for example, even if you’re using a…
toomuchtodo on HN
Requests
Add JWT authentication
From 2 comments
On the authentication front - JWTs would be a great fit here! The developer's backend could issue a JWT, which is validated by the remoteStorage backend. Then, use the `sub`…
maxwellg on HNI like this but umm yeah I can roll my own pretty easily. If you had a simple auth solution built in I'd use it!
valsk on HN
Offline support and optimistic local writes
From 2 comments
Very cool overall but the sync->async change means you can't always use it as a drop-in replacement. I assume it's making network calls in those cases which will take…
joshstrange on HNI see. The case in question is when the user switches between two devices, each of which may be sometimes offline. This can cause older changes hitting the server later than the…
eps on HN
OpenAPI spec or API documentation
From 2 comments
What is special with the server? I was surprised you offered a community-hosted server. An OpenAPI spec should be enough, right?
shunyaekam on HNI think you should give an API specification so that people don’t bother using public API or hosting another service could implement it directly in the existing backend.
novoreorx on HN
Questions
How does this differ from remotestorage.io and PouchDB
From 3 comments
How does this compare to PouchDB[1]? [1]: https://pouchdb.com/
amadeuspagel on HNhow is this different from remotestorage.io ?
airtonix on HNAt first I got confused, because i thought this was a refreshed version of https://remotestorage.io ....but, i see now that its different/separate.
mxuribe on HN
How are conflicts resolved between devices
From 1 comment
How are the conflicts resolved? Machine A is online and sets "x" to 1. Machine B is offline and sets "x" to 2. Machine B goes online. What the resulting state on A and on B? What…
eps on HN
Alternatives named
PouchDB
From 1 comment
How does this compare to PouchDB[1]? [1]: https://pouchdb.com/
amadeuspagel on HN
remotestorage.io
From 2 comments
Not to be confused with https://remotestorage.io/
SushiHippie on HNhow is this different from remotestorage.io ?
airtonix on HN
ElectricSQL
From 1 comment
how does this compare to https://electric-sql.com/
internetter on HN
Triplit
From 1 comment
Your app might not need it but if you want partial replication or relational querying in addition to offline-first syncing then check out https://github.com/aspen-cloud/triplit…
matlin on HN
cr-sqlite
From 1 comment
I'm a happy user of https://github.com/vlcn-io/cr-sqlite/
AlexErrant on HN