Partykit confused me. They hired two people, then laid them off (https://twitter.com/threepointone/status/1724159621382754738) after raising 2.5 million, with nothing but a vague message about "the tech landscape is moving changing incredibly fast". That seems kind of callous?
I think it's a classic example of landing in that space of being a feature vs a product. I know from my part, I'm really fatigued on the SaaS model of spinning up so many different products from so many different providers for one freakin' project. So Partykit, while interesting tech, may have just struggled as independent infrastructure.
Partykit is actually powered by Cloudflare Workers, so it's a compatible acquisition that adds realtime to the workers platform. Plus like you said they had recently and unfortunately "stripped PartyKit way back" with some layoffs, so I'd imagine the acquisition was fairly cheap for Cloudflare.
A lot of folks on here complain about companies making long layoff announcements shrouded in "nice" speech. Finding the right balance seems to be hard for a lot of PR folks.
I don't know anything about what happened here, but I know Sunil is a good person and wouldn't have done this on a whim. Sometimes there are internal problems forcing painful decisions but you just can't go and tweet the details.
Good people make mistakes. Maybe the fired employees got really good severance packages? Maybe they were given introductions that led to immediate employment offers? I have no idea, but judging some one based on a tweet where they announced they had made a mistake that may have hurt two individuals is hardly fair.
I mean I think it's very telling since there was an acquisition nearly 6 months later by his previous company. That's quite an incestuous relationship, but hey he got his payday after removing two core contributors that were employees.
Why are you assuming they got severance? He wouldn't be legally complied to do so, and if he did he would have mentioned it.
I didn't assume anything, I suggested it may have happened. You seem to be the one assuming things and making accusations on another persons character. Its okay to ask questions, but we should do it nicely.
I think it’s an exaggeration to say ”Building experiences with real-time components was previously only accessible to multi-billion dollar companies”. For instance my hobby project ourboard.io provides realtime collaboration and it costs like 20$ to host with current moderate load of users. It utilizes Y.js for collab text editing. Y.js is dedinitely a great tech and has a low entry barrier.
There's a whole host of similar solution in the local-first realm of software[1].
I'm biased but you should definitely try Triplit[2] if you want a super easy way to make real-time collaborative software that works seamlessly even when offline or on unreliable networks (like on mobile).
Sure, but doing anything at a grand scale is expensive - realtime collab is no exception IMO, not that we already have things like Y.js. And don’t get me wrong, I’m not playing Cloudflare’s efforts down, just saying that particular claim is false.
Yeah I agree with it being an exaggeration. They are certainly riding the admittedly dated perception that realtime is so hard it's only available to the Googles and Figmas. But there's now some amazing open source solutions available like Y.js and ElectricSQL[1]. The barrier has certainly come down.
I'm a big fan of Cloudflare's openness, e.g., in supporting wasm in workers.
But I wonder if building lock-in is really in their customers' interests - or theirs, if people lose faith in them.
One of the value propositions for javascript+databases, and java before it, is that it was a programming model built in the open, and sometimes to standards that multiple vendors could supply. The openness of SQL has powered the industry, notwithstanding the manifold limitations and variants.
A PartyKit integration is not particularly concerning if it's just niche gaming, but if real-time collaboration really does become trivial to implement at the same time AI spreads into all corners of content, it could become the dominant programming model for emerging tech at scale. AI seems to have ample competition, but I see little competition and many barriers to entry for this kind of programming model.
Standards bodies only standardize things after they've been proven to work. You can't standardize a new idea before offering it to the market. It's hard enough to get just one vendor to experiment with an idea (it literally took me years to convince everyone inside Cloudflare that we should build Durable Objects). Getting N competing vendors to agree on it -- before anything has been proven in the market -- is simply not possible.
But the Durable Objects API is not complicated and there's nothing stopping competing platforms from building a compatible product if they want. Much of the implementation is open source, even. In fact, if you build an app on DO but decide you don't want to host it on Cloudflare, you can self-host it on workerd:
> But I wonder if building lock-in is really in their customers' interests - or theirs, if people lose faith in them.
People happily (or sometimes unhappily) lock themselves in with AWS since it’s convenient and useful. And that’s what Cloudflare is aiming to be in the serverless landscape even if it isn’t ideal.
I guess there's degrees of lock-in. I.e. using some parts of AWS you know push comes to shove you could write a different alternative/use a different library. It's a bunch of building blocks. There's various alternatives out there for components.
Without reading too much of Partykit + Cloudflare, if you base your whole architecture on the way one company works and perhaps the pricing is too good to be true, you're setting yourself up for a rude shock in future.
Everytime I've looked at Cloudflare's pricing I've gone "that's bonkers cheap" for what you're getting, which sets off alarm bells that once a PE company gets their hands on it, it's not going to be that cheap any more.
Not many people are currently on there, but you can just open another tab and see for yourself. Also has a little live chat which gets a bridge to their discord server, where you can chat with others that are currently on the page.
We love PartyKit as a real time sync connector for Fireproof. This lets us offer CouchDB or Firebase-like experience with only a browser and less than 100 lines of JavaScript on the backend. Here is what our PartyKit server looks like for the curious: https://github.com/fireproof-storage/fireproof/blob/main/pac...
Shared meeting notes is a common one. Brainstorming in FigJam is another.
If you're collaborating with other folks on a project, it's beneficial to see updates in realtime to maintain that one source of truth. Otherwise your work and theirs might overlap and someone will need to resolve merge conflicts. That, or you go the locking route, which comes with its own set of hassles.
Obvious plug but my company[1] is building a multi-user real-time 3d engine. Think Figma meets Unity.
There are lots of fun use cases around working collaboratively on subparts of a larger 3d system without having to break it apart:
- architects working on different parts of a building
- engineers working on different pieces of a CAD model
- game designers working on different levels, etc
> anyone have good examples of real time multi user apps?
My SaaS day-job is a real-time multi-user checklist web-app - built using SignalR.
We're able to fit tens of thousands of concurrent users on a single Azure AppService instance - and we're self-hosted so we don't have IaaS-rug-pulling-anxiety - PartyKit looks cool, but I take a long-term view (5+ years) before adopting a technology, and PartyKit's brochure website is lacking information in that area...
You can use WebSockets with NodeJS; there's a variety of libraries for this, but (naturally) it's npm-hell; but I'm not aware of any easy-to-use WebSocket wrappers/adapter libraries like what SignalR is, but it's been a while since I looked.
SignalR's two main selling-points back-in-the-day (2014-ish) was its solid cross-browser support and how it abstracted over WebSockets, Comet, SSE, long-polling, et al - but it's 2024 now and everyone's on Chromium or WebKit, so cross-browser support is moot, and and WebSockets+SSE now covers all use-cases; so there's less going-for SignalR thesedays, and since the ASP.NET Core rewrite of SignalR it just doesn't scale as well on the client-side (as it no-longer multiplexes multiple Hub requests over a single connection, which is crazy... and HTTP/2+QUIC+3 doesn't really help, I find).
I frequently do this in Notion, especially in more brainstorm-y meetings. Also good for notetaking; I might be writing most of the notes, but then start talking more, and see someone jump in to take my place in the notes.
I was looking at partykit a while back since I have some multiplayer game ideas I finally want to prototype. The pricing confused me -- why is it per developer when they claim to take care of the infrastructure hosting? Shouldn't it be usage based? Instead I've been learning Elixir + Phoenix framework which has been fun.
hahahah so i thought the same and decided to try and recreate it
model = gpt4
prompt=write a press release for this announcement from cloudflare. Cloudflare acquires PartyKit to allow developers to build real-time multi-user applications
and guess what was halfway through...
"The acquisition of PartyKit by Cloudflare is more than just the merging of two technology companies; it is a significant leap forward in reducing the complexity and barriers to entry for developers aiming to build the next wave of interactive web applications. "
ChatGPT has a naive optimism. It reaches for airy, meaningless, slightly metaphorical statements right away (when asked to support something, not when explaining). It also uses simple, but very clean grammar, and has a bit of a thesaurus feel where it has no attachment to any particular word.
I've seen lots of people get it wrong, claiming that something is ChatGPT when it isn't. To my understanding, this is because they are negative matching - "this sounds weird, so it must be AI", or "this is wrong, so it must be AI", and not positive matching on ChatGPTs exact tone.
I love using Cloudflare for my projects, but something about Durable Objects just scares me so much.
I feel like an application like collaborative editing would send so much requests that billing would have to be insane, right? Even for my hobby size projects which I would like to publish for fun, terrify me with possible usage costs.
Their hibernation web socket thingy is great, but the real thing that scares me is the overall web socket message cost.
FWIW yesterday we announced that WebSocket messages are now billed at 1/20 of a request, rather than a full request. It was kind of buried in this omnibus blog: https://blog.cloudflare.com/workers-production-safety
My issue was that a single message, be it 4 bytes, was essentially billed the same as a 20Mb request. Didn't make too much sense to me.
If I have to think about batching messages to decrease costs even tho my overall transport and execution would be the same, I feel like that's an issue on the platform somehow.
When I took a look at using DO last time I decided against using them because you had to pay for the duration your clients are connected to them when using WebSockets. As far as I understood it’s not execution duration but flat out how long your clients are connected. You’ll burn through seconds quickly that way. I decided to go with a polling mechanism instead.
Congrats! I used PartyKit since the early beta; for the open source React rich text editor I'm working on (https://www.blocknotejs.org, the homepage runs on Partykit), and PartyKit was a breeze to integrate (ofc, big part because we both build on Yjs). Looking forward to seeing where Cloudflare wants to take this further!
I should note, I spent quite a bit of time looking at the official docs and couldn't find an answer for sure right away. It seems like Cloudflare is the only officially supported option (either through the PartyKit managed service or direct).
While I might consider using Cloudflare, I wouldn't be willing to build an app in such a way as to depend on Cloudflare. If Cloudflare changes pricing, or comes under political pressure to terminate my account, or my business changes such that the Cloudflare offering is no longer suitable, I want a way to quickly migrate. It does seem that the main pieces are there and open source, but would likely require some amount of work to figure out and get into production.
Thanks! I will look into that. I knew it was Open Source and that it would be possible to create my own backend, I was just wondering if it had been actually been done/documented. This link answers my question, and PartyKit will go on my radar for future evaluation and possible use! :)
how does this compare to Supabases realtime features? I been generally confused about cloudflare pricing and its wide array of products (unsure which to use and when).