How to save participant minutes when building spatial audio app
Hi, we're looking at the spatialization demo and have a question. (Great samples and tutorials by the way!)
If 2 users are in the same room but not in a voice call, do they consume participant minutes? In other words, in this demo, let's say:
- User A is in Room Koala
- User B is in Room Kangaroo
When both are in the same room, but are not on a voice call, can we avoid consuming pms?
In our user case, we have 10-100 users logging into the same room every day, all day. But actual voice communication happens only X% of the time. We want to consume participant minutes only when 2 or more users subscribe to voice. Any ideas on how to do this?
Hi @yamato , thank you for the kind words!
If you're looking to reduce the amount of participant minutes used when a user is alone with their camera and microphone muted, for example, one way to achieve this is to wait to connect to a session until another user is present. The time it takes to join or leave a room is typically very short, so this approach works well for many use cases.
However, for spatial audio use cases where users can be moving around virtually and rapidly changing who they are interacting with, the latency associated with joining and leaving can degrade the user experience. This is why our spatialization demo uses track subscriptions, as these can be controlled faster and easier then switching between rooms. This also eliminates any complexity associated with keeping track of multiple rooms and the additional state management that might be required for a join/leave-based approach.
Participant minutes are accrued any time a user is connected to a session (i.e. the duration between calling
leave), regardless of the number of tracks they are subscribed to or whether a user is sending video or audio. While this means that use cases like spatial audio can result in some "unintentional" usage, we've set up our pricing structure so that you can take advantage of our track subscription functionality for building your implementation without the additional cost being a burden. We also offer discounts for customers based on their participant minute usage.
Hopefully that helps!3
@yamato We appreciate the feedback! We are still investigating how we can offer something like a "signaling" product as well as ways to improve pricing and billing for use cases that don't fit the existing "participant minute" paradigm. We don't have any concrete plans to share at the moment, but please keep an eye out for any future announcements.
In the meantime, you can always reach out to our team with questions about discounts or credits to help you get started, and we're always happy to help with any technical questions!2
Thanks for your answer. That is very clear and helpful.
While this demo is very useful to build a quick prototype, we may need to take the join/leave based approach you mentioned to keep the business sustainable.
We are currently using Agora Signaling (for state management) + Agora Voice to achieve this. It would be great if Daily could consider building something similar to Agora Signaling for this use case in the future. For now, we may need to keep Agora Signaling and just switch the voice component from Agora to Daily.
Thanks anyway! We'll keep building and ask questions when we have more :)1