Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Fluid framework, for building distributed, real-time collaborative web apps (fluidframework.com)
101 points by gokhan on Sept 9, 2020 | hide | past | favorite | 14 comments


> The application you are trying to visit is currently throttled due to unusually high usage. Please try again later.

edit: there is web archive version:

https://web.archive.org/web/20200909053211/https://fluidfram...


One would think that Microsoft, if any, would be able to handle a traffic spike...

And to block a marketing site from more traffic feels like a complete fail.

There's some info on the Github: https://github.com/microsoft/FluidFramework

Still doesn't say how it "works", like, do we need servers? How is it distributed? Is there a database-layer?..


Honestly, I just assumed it was someone using Azure's basic services without being ready for a massive traffic spike. I was a bit miffed but understanding. But Microsoft not being able to scale on their own cloud service seems like a massive failure.


There's a decent intro here: https://fluidframework.com/docs/


I think it's just a misconfiguration from their end.


From the FAQ:

> Does Fluid use operational transforms?

> Fluid does not use Operational Transforms, but we learned a tremendous amount from the literature on OT. While OT uses operations that can be applied out of order by transforming operations to account for recent changes, Fluid relies on a Total Order Broadcast to guarantee that all operations are applied in a specific order.

> Does Fluid use CRDT?

> Fluid does not use Conflict-Free Replicated Data Types (CRDTs), but our model is more similar to CRDT than OT. The Fluid Framework relies on update-based operations that are ordered using our Total Order Broadcast to prevent conflicts. This allows us to have non-commutative operations because their is an explicit ordering.

Their model sounds a lot like how Croquet (https://en.wikipedia.org/wiki/Croquet_Project) used to work, where every operation is given a globally-ordered timestamp as it passes through a shared message router.


This looks like Java or .Net spilling into JS: https://github.com/microsoft/FluidHelloWorld/blob/main/src/c...


Looks like a CRDT/Operational Transform server/pubsub as a service. There are also some open source frameworks on GitHub which doesn't depend on Azure.

https://github.com/automerge/automerge https://github.com/share/sharedb


Yeah, many more in https://CRDT.tech

Incidentally, Microsoft is probably the only big tech co that could perhaps profit from dweb-style tech.


Adding more context: Fluid uses a mix of CRDT + OT to maintain state across multiple clients. I wrote a quick high level explanation of how Fluid uses eventual consistency and why it matters for real time collaboration: https://matt.aimonetti.net/posts/2020-09-solving-real-time-c...


> With Fluid Framework, developers can easily add multi-user interactivity to their apps — powered by the same code that drives collaboration in Microsoft 365 experiences for millions of users.

https://developer.microsoft.com/en-us/office/blogs/fluid-fra...


The example repos shed some light on how it's due to be used:

https://github.com/microsoft/FluidHelloWorld

https://github.com/microsoft/FluidExamples



Has anyone used this, what's the experience? Is this a functional reactive style front-end framework?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: