Loading video...
Video Failed to Load
Local-first and real-time multiplayer. Stress-testing both ⚡
148,642 views • 1 year ago •via X (Twitter)
53 Comments

Enough with the hype 🔥, let us cook with it, at least some beta users

That’s awesome. Lots of Websocket?

@qizler Yep ;)

hell yeah. any abstractions or just raw dogging it?

Beautiful - cannot wait to get my hands on this. Happy to test out if you need ;)

wth is this? Looks very cool and beautiful!

Thanks! It’s

@pramodk73 Wim wud u be kind to share the fonts and the cool design theme u used for the home page? I wud love to be inspired by similar for an enterprise product I am building.

@pramodk73 CSS is not minified ;)

That papyrus aesthetic looks really good.

the colour looks soo good. this is the vibe:

What is happening here??

Such a tease

By the way, won't Focus Mode have a keyboard shortcut (@0:04)? Generally speaking, what will keyboard support be like? Could it be considered keyboard-driven?

@0 Yep and even if something doesn't have a dedicated shortcut you can just invoke the command palette by keyboard and find it there with fuzzy search or arrow keys

I will help stress test 💁🏼♂️

Awesome, CRDT or OT?

It’s neither actually, but somewhat inspired by CRDTs and event sourcing, I don’t know what a good name would be ;). This post also has more details if you’re interested!

@mrmaxm Someone asked the other day what this technique is called. I didn't have a better answer than "character IDs + server reconciliation". If you think of anything nicer, I'm open to suggestions.

@wcools It feels like it would have a significantly higher bandwidth pressure on the server with many users compared to OT's. How about complex structures e.g. JSON?

In terms of data structures, workspace is one large tree under the hood, one of the reasons using this (eg multiple offline merges shouldn’t cause cycles). It’s all trade-offs, of course. CRDTs and this use more bandwidth, but offline merges become easier. We do compact deltas into snapshots but plenty optimization room if necessary ;)

Prefixed ID's based on user ID by server with local incremental ID (64 bit uint) - is probably a huge optimisation vs uuid's. I like OT. But when I was implementing it from scratch, I spent just 2 weeks thinking about it, to build intuition and deeper understanding. And then 2 weeks more to implement and build testing / debugging solution. It is complex to implement. Very. But once understood, it's pretty elegant.

@MatthewWeidner3 We also built @playcanvas over OT's, with small abstraction over pure OT's, called it "Observer". Basically "new Observer(json)" - and use methods to set/get/etc, and subscribing to know when data changed, and OTs are behind it syncing everything for you. Pretty neat.

finally found you again. I've been looking for you for a long time bro this time I will save this post. I love what youre building

I want this as a game

That looks amazing, man!

This looks seriously sweet

Wonderful!

Reminds of Hupercard :)

cool ui

I hawk every video you guys post to try and find some release date easter egg. I will not waver.

Very cool.

looks dope

Damn this looks cool!

Man! That looks incredibly beautiful!

Is this running on a custom sync engine? Looks very impressive!

Unreal

when does it drop 😫😫😫😫😫

This looks so promising. I used Obsidian but ended up moving to Notion as I needed a tool I could use to collaborate with my wife. Not super comfortable about that decision so would love to get access to your beta when it's ready.

Thanks, that's great, will let you know once beta is ready.

Do you have plans to have a mobile app too?

That's on the roadmap, but we're going to launch for web and desktop first

@garymc But, after the release for web and desktop, would it be possible, at this point, to have an idea of how much mobile development would be at the top of the priorities (or not)?

@garymc Depends a bit on the first feedback of course, there might be other things we want to tackle first. But mobile access is something we really need ourselves too, so I can't imagine it ranking very low ;)

That looks so pretty my eyes are tearing up. I need my emacs to look this way. What is this theme even called

Thanks! This is Paper Light in Thymer

I like the paper design. And the speed is impressive bro, you are building a notion killer

nice.

we just did "this" using @rocicorp's zero sync. After a few "patches" to the default behaviour, I'm quite impressed with its speed and reliability.

super clean !

whoa

What are you using for the text editor?

sick but why is it colored with AI piss yellow?
