Live data from Hacker News

Linear sent me down a local-first rabbit hole

bytemash.net

211–220 of 228 posts

Re: Linear sent me down a local-first rabbit hole

#211
post #208

Earlier quoted context omitted.

non-relational, document oriented pubsub architecture based on MongoDB, good for not much more than chat apps. For toy apps (in 2012-2016) – use firebase (also for chat apps), for crud-spectrum and enterprise apps - use sql. And then React happened and consumed the entire spectrum of frontend architectures, bringing us to GraphQL, which didn't, but the hype wave left little oxygen remaining for anything else. (Even i…

I'm the defacto maintainer of the Meteor MySQL integration. Since 2015, I've been involved in the design and maintenance of six different Meteor webapps for real-time geospatial applications built for B2B and B2C. Given this, I reject your assertion that Meteor is limited to MongoDB and "toy apps".

[deleted]

Re: Linear sent me down a local-first rabbit hole

#212
post #208

Earlier quoted context omitted.

non-relational, document oriented pubsub architecture based on MongoDB, good for not much more than chat apps. For toy apps (in 2012-2016) – use firebase (also for chat apps), for crud-spectrum and enterprise apps - use sql. And then React happened and consumed the entire spectrum of frontend architectures, bringing us to GraphQL, which didn't, but the hype wave left little oxygen remaining for anything else. (Even i…

I'm the defacto maintainer of the Meteor MySQL integration. Since 2015, I've been involved in the design and maintenance of six different Meteor webapps for real-time geospatial applications built for B2B and B2C. Given this, I reject your assertion that Meteor is limited to MongoDB and "toy apps".

[deleted]

Re: Linear sent me down a local-first rabbit hole

#213
Local first is fantastic. But something that I can't figure out is why the OG of local first, RxDB, never gets any love.

As far as I can tell, it's VASTLY more capable than all of these new options. It has full-text search, all sorts of query optimizations, different storage backends in both the browser and server, and more.

Re: Linear sent me down a local-first rabbit hole

#214

Earlier quoted context omitted.

If you could simply drop in a library to any of your existing SSR apps that: - is 50kb (gzipped) - requires no further changes required from you (either now or in the future) - enables offline/low bandwidth use of your app with automatic state syncing and zero UX degradation would you do it? The problem I see with SSR evangelism is that it assumes that compromising that one use case (offline/low bandwidth use of the…

> - enables offline/low bandwidth use of your app with automatic state syncing and zero UX degradation > would you do it? No, because the "automatic state syncing and zero UX degradation" is a "draw the rest of the owl" exercise wherein the specific implementation details are omitted. Everything is domain specific when it comes to sync-based latency hiding techniques. SSR is domain agnostic. > low bandwidth requireme…

And when your avian ISP dies, how do you make requests?

If everything you need - application logic, css, media, data etc... - is cached on your device, you can carry on.

You're being far too myopic about all of this. There's many different use cases and solutions, all of which have their tradeoffs. Sometimes ssr is appropriate, other times local first is. You can even do both - SSR html in the service worker with either isomorphic JavaScript, or WASM.

We can all agree, though, that React and it's derivations are never appropriate.

Re: Linear sent me down a local-first rabbit hole

#215

Earlier quoted context omitted.

it is my actual numbers from my house in the Philadelphia suburbs right now, 80 miles away from the EWR data center outside NYC. Feel free to double them, you’re still inside the 60hz frame budget with better than e-sports latency edit: I am 80 miles from EWR not 200

update, Friday evening now and my RTT to EWR is now 8.5ms (4.2 each way), up from 6 point something this morning. From Philadelphia suburbs to my actual Fly app in: EWR 8.5ms (NYC) SJC 75ms (California) CDG 86ms (France, cross atlantic) GRU 126.2 (Brazil) HKG 225.3 (Hong Kong)

Now try from Idaho or Botswana

Re: Linear sent me down a local-first rabbit hole

#216

Earlier quoted context omitted.

UI performance is "a weird thing to index on"?

Yes? If that's the primary selling point for a project manager versus being just a really damn good project manager with good visibility? I've never used a project manager and thought to myself "I want to switch because this is too slow". Even Jira. But I have thought to myself "It's too difficult to build a good workflow with this tool" or "It's too much work to surface good visibility". This is not a first-person s…

I urge you to try and set your display to 25 Hz. I don't quite feel it yet at 30 Hz, although the latter is more widely available as an option.

It all depends on what we do consider "good enough". 200ms total page render time would be "blazing fast" for me already. I've just clicked around Github (supposed to be globally fast, can we agree?) and the SPA page changes are 1-1.5s to complete.

To continue my example above, your computer peripherals are probably good enough. Have you considered what it would be like with a garbage-tier mouse? Similarly, maybe you wouldn't notice the difference to a better mouse. I do, because a standard office mouse is not the pace I'm moving at. (No, I'm not some the Flash, I am just fast and precise with my mouse.)

If anything, this gives us a glimpse of what's possible. The latency benchmark[1] of text editors has given us something to think about. In the past decade (already?!) that article was probably the sole reason for drawing public attention to this topic[2] . For example, JetBrains have since put considerable work into improving their IDEs (IntelliJ IDEA etc). They had called it "zero latency" mode.

[1]: https://pavelfatin.com/typing-with-pleasure/ [2]: small study from 2023 https://dl.acm.org/doi/fullHtml/10.1145/3626705.3627784

Re: Linear sent me down a local-first rabbit hole

#217
post #213

Local first is fantastic. But something that I can't figure out is why the OG of local first, RxDB, never gets any love. As far as I can tell, it's VASTLY more capable than all of these new options. It has full-text search, all sorts of query optimizations, different storage backends in both the browser and server, and more.

RxDB is the OG? I thought it was PouchDB.

Re: Linear sent me down a local-first rabbit hole

#218
post #213

Local first is fantastic. But something that I can't figure out is why the OG of local first, RxDB, never gets any love. As far as I can tell, it's VASTLY more capable than all of these new options. It has full-text search, all sorts of query optimizations, different storage backends in both the browser and server, and more.

RxDB is the OG? I thought it was PouchDB.

Fair enough, rxdb was originally built on pouchdb, but now doesn't support it anymore since that project has a lot of issues.

https://rxdb.info/rx-storage-pouchdb.html

My point/question still stands though - rxdb seems to be vastly more capable than all of the new tools that get all the attention. Very peculiar

Re: Linear sent me down a local-first rabbit hole

#219

Earlier quoted context omitted.

UI performance is "a weird thing to index on"?

Yes? If that's the primary selling point for a project manager versus being just a really damn good project manager with good visibility? I've never used a project manager and thought to myself "I want to switch because this is too slow". Even Jira. But I have thought to myself "It's too difficult to build a good workflow with this tool" or "It's too much work to surface good visibility". This is not a first-person s…

There is a certain point where UX responsiveness has a huge impact on how the product gets used.

I hate Jira with a burning passion simply because it is slow where I live (in China, with a VPN). Even minor interactions, like clicking on a task’s description to edit it, takes about 2 seconds. Opening a task from a list takes around 5 seconds.

The result is that I and my coworkers avoid using Jira unless we really have to. Ad-hoc work that wasn’t planned as part of the sprint just doesn’t get tracked because doing so is unreasonably painful.

Re: Linear sent me down a local-first rabbit hole

#220

Earlier quoted context omitted.

Honestly, having used InstantDB (one of the providers listed in their post), I think it'd be a pretty nice fit. I've been writing a budget app for my wife and I and I've made it 100% free with 3rd party hosting: * InstantDB free tier allows 1 dev. That's the remote sync. * Netlify for the static hosting * Free private gitlab ci/cd for running some email notification polling, basically a poor mans hosted cron.

I may end up doing that, but I really wish there was a true p2p option that doesn’t have me relying on someone not rug pulling their free tier sync server.

Unfortunately, p2p is *inhales* fxxxed! due to how modern internet networks are set up. NAT (potentially VPNed at carrier level), lack of IPv6, firewalls blocking incoming traffic, dysfunctioning UPnP, blocked UDP. Next tier issues: legal, that bound user identities to IPs, showing your IP publically is a privacy risk first and a security risk second (DoS).

It seems like it'll be impossible without an overlay network (like Yggdrasil, i2p), but these will be too heavy for mobile devices without a dedicated functioning relay... here we go again.

Post reply on HN