[HN Gopher] Cloudflare acquires PartyKit to allow developers to ...
___________________________________________________________________
Cloudflare acquires PartyKit to allow developers to build real-time
multi-user
Author : jgrahamc
Score : 175 points
Date : 2024-04-05 13:03 UTC (9 hours ago)
(HTM) web link (blog.cloudflare.com)
(TXT) w3m dump (blog.cloudflare.com)
| bennyp101 wrote:
| The PartyKit website is wild, random cursors from other people!
| Quite fun to be chasing them around the screen!
|
| (Which does seem to show off the lack of lag and responsiveness)
| SushiHippie wrote:
| Reminds me of someone's personal site: https://dimden.dev/.
|
| 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.
| dorian-graph wrote:
| And this other personal site, with real-time multiple
| cursors: https://j-e-s-s-e.com
| rpastuszak wrote:
| I love PartyKit! I used it to make a multiplayer version of
| sit:
|
| https://untested.sonnet.io/Sit.%2C+(together)+devlog+002+%E2...
| eddd-ddde wrote:
| 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.
| kentonv wrote:
| 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
| ftigis wrote:
| Is this the better pricing y'all are figuring out that's been
| dangled since the launch of Durable Objects + WebSocket on
| Workers?
|
| Oh and somehow I missed the Hibernation API announcement.
| Paying for idle but connected time is what made me nope out
| of trying it out.
| eddd-ddde wrote:
| Oh I totally missed that, thanks for making me aware of it.
|
| Edit: Oh wow, I totally missed the rate limiter thing as
| well. Just last week I was implementing my own using DO. It's
| great to see this developments.
| Sai_ wrote:
| Your clients control the number of messages they exchange with
| each other via the DO.
|
| You still have to protect the DO through some sort of auth
| and/or rate limits.
|
| Don't see how any of these issues are unique to DOs.
| jaflo wrote:
| 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.
| ec109685 wrote:
| They have hibernating durable objects now that don't charge
| unless there is a request through them:
| https://developers.cloudflare.com/durable-
| objects/api/websoc...
| jaflo wrote:
| Oh that's neat! I'm not sure if it didn't exist or if I
| didn't find this last time. Looks like this would address
| the problem.
| eddd-ddde wrote:
| 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.
| endisneigh wrote:
| Other than games, anyone have good examples of real time multi
| user apps?
|
| Even with things like docs and sheets, though the capability is
| there, I find myself rarely editing _in real time_ with others.
| selvan wrote:
| Chat, Audio/Video Conferencing apps are other examples.
| fritzo wrote:
| Remote pair coding, then jumping to a shared whiteboard, then a
| shared diagramming tool, then back to a shared IDE
| latchkey wrote:
| I use the realtime editing features all the time with my
| coworkers.
| badwolf wrote:
| Figma is pretty great at this.
| ketzo wrote:
| 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.
| inopinatus wrote:
| ms.inopinatus and I often do event and travel planning through
| shared realtime notes
|
| you could also build a 2-person permissive action link for
| nuclear weapons launches
|
| or a stock exchange
| et-al wrote:
| 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.
| kimar wrote:
| 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
|
| [1] 3dverse.com
| morkalork wrote:
| Miro
| DaiPlusPlus wrote:
| > 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...
| spxneo wrote:
| interesting is there a non .net solution like signalr that
| can run on a single instance on AWS?
| DaiPlusPlus wrote:
| 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).
| Nullabillity wrote:
| That sounds a lot like socket.io?
| robbs wrote:
| Phoenix Channels
| jchanimal wrote:
| 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...
| ptrwis wrote:
| Durable Objects have a bit weird programming model for me, I hope
| this one will be easier.
| rasengan wrote:
| > The acquisition of PartyKit by Cloudflare isn't just a
| milestone for our two teams; it's a leap forward for developers
| everywhere.
|
| This press release was written by ChatGPT.
| willsmith72 wrote:
| 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. "
|
| too good to be true
|
| https://chat.openai.com/share/02976d40-f771-42ce-ae1e-738ba9...
| pluto_modadic wrote:
| how do you get that from just that sentence?
| sdwr wrote:
| 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.
| ethbr1 wrote:
| Guess they incorporated a lot of HN training data. :)
| hombre_fatal wrote:
| On the other hand, press releases are overly optimistic,
| airy, and meaningless.
|
| ChatGPT being able to write this PR just shows how industry
| bog standard Cloudflare's PR is. It's like ChatGPT using
| the word "synergy".
| eagleinparadise wrote:
| Press releases have always sounded like that before ChatGPT.
| wrongcarwhy wrote:
| 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?
| cj wrote:
| Trying to improve EBITDA (profitability) in advance of an
| acquisition perhaps?
|
| Or the company knew the deal was going forward and Cloudflare
| was unlikely to retain new employees?
| ensignavenger wrote:
| 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.
| progbits wrote:
| Problem is the layoff, not the PR balance.
| kentonv wrote:
| 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.
| matt_oriordan wrote:
| Wow, that didn't last long! This can only be an acquihire given
| Sunil worked at Cloudflare before.
| toddmorey wrote:
| 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.
| trevor-e wrote:
| 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.
| Gr4phTh3ory wrote:
| There's both a per-developer and per-usage component into their
| "pro" plan.
| trevor-e wrote:
| Oh I totally missed they snuck that in as a line item. Still,
| they require you to call them so who knows what that could
| end up being.
| w10-1 wrote:
| "The future of serverless is stateful"
|
| 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.
| ayuhito wrote:
| > 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.
| RowanH wrote:
| 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.
| kentonv wrote:
| 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:
|
| https://github.com/cloudflare/workerd
| spxneo wrote:
| 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).
| neom wrote:
| Mia Wang big brain at work. Good stuff!!
|
| (https://x.com/miawang__)
| ensignavenger wrote:
| Is it possible to use PartyKit without Cloudflare? Such as
| hosting your own workerd instance? Is there any documentation
| anywhere for this?
| ensignavenger wrote:
| 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.
| CharlesW wrote:
| > _Is there any documentation anywhere for this?_
|
| PartyKit is open source (https://github.com/partykit/partykit/,
| MIT), so you could create your own back-end. The Socket.IO
| folks appear to have done this:
| https://blog.partykit.io/posts/party-io-a-socket-io-backend-...
| ensignavenger wrote:
| 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! :)
| lalalalalia wrote:
| If you want to use something similar that's not owned by a big
| company now, take a look at cord.com :)
| lalalalalialia wrote:
| If you want to use something similar that's not owned by a big
| company now, take a look at cord.com :)
| jakegmaths wrote:
| "Building experiences with real-time components was previously
| only accessible to multi-billion dollar companies"
|
| ... what a load of nonsense. I've built them in a few hours,
| spending PS5 per month for a server.
| nullzzz wrote:
| 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.
| CharlesW wrote:
| If you consider it from the Cloudflare author's POV, it's
| likely an implied "at scale" in that statement.
| nullzzz wrote:
| 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.
| toddmorey wrote:
| 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.
|
| [1] https://github.com/electric-sql/electric
| matlin wrote:
| 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).
|
| [1] https://localfirstweb.dev/ [2] https://triplit.dev
| YousefED wrote:
| 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!
___________________________________________________________________
(page generated 2024-04-05 23:01 UTC)