Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
danecando opened this issue Jul 12, 2024 · 1 comment
Open

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

danecando opened this issue Jul 12, 2024 · 1 comment

Comments

@danecando
Copy link

danecando commented Jul 12, 2024

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

  • CLI tool - Pretty much what partykit does. I can imagine many uses for this down the line but initially just managing the CF worker on the users account. deploy, upgrade, etc.
  • Worker - Auth and signaling. This can be versioned with the js client and handles room state/signaling and some standard access control features via JWT's
  • JS Client - I do like the idea of splitting this out from the UI kit but self-explanatory
  • React UI Kit - Client and UI kit is pretty much already done in here :)

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
Copy link
Collaborator

third774 commented Jul 12, 2024

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! 🙏🏻

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants