What is @CroquetIO anyways?

A thread 🧵
Croquet lets you build completely client-side multi-user web apps.

Read that again.

Client-side.
Multi-user.

No I'm not kidding. I built it, I know it works. 😁
Croquet apps run completely client-side:
• can be hosted as a static web sites
• no server-side code needed
• no networking code needed
Croquet is literally virtualizing the server:

Instead of running code on a server (or in a serverless function) we run it as a virtual machine (VM) on each client.

Croquet carefully control the inputs to these identical VMs so they execute in sync.
The input events for the shared VMs are routed via Croquet's global fleet of "reflector" servers.

A reflector just bounces events from one user to all users. There's no computation involved. Reflectors are cheap, and fast. We will have many more with extremely low latency soon.
Crucially, the reflector guarantees event order and timing so every VM processes the same event at the same time.

Croquet reflectors also send out a continuous heartbeat to keep the VMs running, and in sync, without user input.
A side note:

Since the "server" is really a VM running on the client, you get unlimited bandwidth from that "server" to the client.

👏Unlimited 👏Bandwidth 👏

In fact you can directly "reach into" the replicated VM to pull out any data for rendering. It's just a pointer 🤷🏻‍♀️
Croquet also snapshots these VMs. And encrypts the snapshot and uploads to a server until the next time it's needed.

The encryption key never leaves the client. Our servers can not peek into the snapshots. Can't peek into events either since those are encrypted too.
And yes this really works. In a web browser. In your browser in fact.

Try this: croquet.io/w3

That's an editable voxel world with hundreds of AIs running around, and a water simulation.

Scan the QR code in the lower left with your phone. Both clients will be in sync.
Of course, to build something like W3 on top of Croquet you'll need to know how to build a game in the first place.

This prototype is by our own @bbupton (who you might recognize from Rainbow Six & Ghost Recon)

He joined us because no other tech would allow him to build this.
Croquet is especially good for

• multiplayer Games
• multiuser AR / VR / #WebXR
• shared Simulations

These are hard to build, and one of the really hard parts is always the networking and server design, implementation, deployment, scaling.

Croquet eliminates that headache.
You can use Croquet for much simpler things.

Did I mention it's all JavaScript? Your "VM" can be a single class! Our "Hello World" is a dozen lines.

We have tons of simple tutorials to get you started:
croquet.io/docs/croquet

(also: hiring a #DevRel engineer to write more)
We are working on higher-level frameworks, too:

@yoshikiohshima's Croquet Virtual DOM (which even allows #livecoding)
@bbupton's Croquet WorldCore (the #gameengine behind W3 we demoed at GDC)

VDOM is already available, and WorldCore soon!

See croquet.io/docs
BTW if you heard of Croquet about 15 years ago – yes, that was us too, in particular our founder David Smith (@gocroquet) working with Alan Kay.

That system was written in @SqueakSmalltalk and had a fancy 3D UI.

Our new JS system has no UI, so it is good for many kinds of apps
#JavaScript has become incredibly rich, but it has no built-in simple way of communicating with the person on the phone next to you.

Croquet provides this missing infrastructure for the web.

Try it! No servers needed.

(if you💜servers come work for us though)

End-Of-Thread 🧵

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Vanessa wrote a thing

Vanessa wrote a thing Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!

:(