cloudflare / orange

https://demo.orange.cloudflare.dev/
Other
1.44k stars 180 forks source link

Ideas on making Calls service easier to get started with #65

Open danecando opened 1 month ago

danecando commented 1 month ago

Hello, it's me again 😆

I've learned a bit and continued down the rabbit hole of this question since I initially talked to some of the team working on Calls.

This stuff is a lot of work. Looking towards some other open-source alternatives like livekit, fishjam, etc. You need a server for signaling etc and a client library/UI kit to support different platforms (maybe for ya'll it just make sense to have a web kit which you already kinda have). It pained me to see literally everyone building almost the same thing and it made me sadface. (I even considered a mock livekit server that proxied to CF Calls and just handled signaling)

You all have done an amazing job building a lot of this stuff out in this repo. I think the main thing thats missing is the packaging. I think that orange would be the perfect fit for how partykit is setup. I could be completely wrong but my intuition says that most people would want an easy way to integrate Calls in their applications. Deconstructing this repo and taking bits and pieces out of it is a tough DX.

I've been prototyping this idea a bit but still not sure how far I want to take it considering that you all might have your own plans and also the pain of reinventing the wheel for the 40th time. I also don't feel comfortable taking someone elses hard word and repackaging it.

I'll just share my general idea here and see where that leads.

Packages: CLI tool, Worker, JS client, React UI kit

I think having the CLI tool and worker are the most important bits. If there's a standard there that people can just easily deploy to their Cloudflare account they can easily reference the client and ui kit to make the same for iOS, Android, etc

Edit: The main downside to this approach is the Worker pretty much defines everything for the app since it controls the state and it's impossible to make everyone happy. Looking at other similar offerings though they make the same trade off. As long as it can support most features that users might expect

third774 commented 1 month ago

I also don't feel comfortable taking someone elses hard word and repackaging it.

On this point in particular, we built Calls as a platform for people to build on top of and open sourced this project to be used as a reference and inspiration. PLEASE take this and repackage it, I'd love to see what you come up with! 😁

Also, thank you so much for your interest and feedback! 🙏🏻