It's all orchestrated from here: https://github.com/jitsi/jitsi-meet/blob/master/react/featur...
Which generates the MAU ID via:
react/features/billing-counter/functions.js:80
/* * Returns the stored billing id (or generates a new one if none is present). * * @returns {string} */
export function getBillingId() {
let billingId = jitsiLocalStorage.getItem(BILLING_ID);
if (!billingId) {
billingId = uuid.v4();
jitsiLocalStorage.setItem(BILLING_ID, billingId);
}
return billingId;
}WebRTC is peer-to-peer, architecturally. But if you run the service you pay for bandwidth for users behind firewalls (because you need to forward the audio/video through TURN servers) and for calls with more than 3 or 4 people (because you need to offload some of the cpu/bandwidth from the clients).
Bandwidth and media server CPU set the floor for what you need to charge.
As a SaaS, you can charge per <usage> or charge per <user>. Each pricing model is good for a different subset of your customers. With fairly large variable costs, usage-based pricing is easier to model for you, but not necessarily for your customers.
For example, your (developer) customers that charge a flat rate per "seat" per month for their products will have trouble projecting what their margin will be if you charge them per video minute.
The industry Jitsi/8x8 competes in is gradually moving towards $0.0015/minute as the rough cost of video for customers with significant volume. So one way to look at Jitsi's pricing model is that they are projecting an average of ~4 hours of video per month per unique user. ($0.35 / $0.0015 / 60). Which seems ... low?
This is separate from the question above about how they track unique users, which I agree is really interesting!
Also, and again separately from Jitsi, there's also a long history of not-so-transparent pricing in the telecommunications world. One of the major SaaS video platforms advertises peer-to-peer calls as free on their service. And they are, if you don't count the TURN bandwidth they bill you for.
(Disclaimer: as the cofounder of Daily.co, a YC company that competes with this Jitsi service, I think about variable vs per-user pricing way too much. tldr; we can almost always do better for you than any of our competitors, partly because we're happy to talk to you and put together custom pricing based on your use case. But it's also true that most of our customers, especially our largest customers, don't select us primarily based on price. Empirically, we win on ease of use, video quality, API flexibility, and developer support. So under-pricing isn't an optimal business strategy, either.)
I'm about to start building out an idea I've had based on WebRTC/MediaSoup/nginx-RTMP and ffmpeg. (But not for 'live' video calls though).
And having just seen your Jobs page, I think I might drop you guys a line, once I've got something working. ;)
I was considering switching to this, but their pricing is a terrible fit for my "most calls have mostly people who've never used it before" situation.
Edit: my guess is I misunderstood who they are targeting with this. Thought they were targeting developers who want to integrate Jitsi with an existing product.
Compare it to, e.g. Slack (https://app.slack.com/plans/T01JN93179R?geocode=en-gb) or Zoom (https://zoom.us/pricing)
Notwithstanding any accounting issues raised by worble, which I'm sure will be ironed out over time
How much does it cost to setup and maintain the platform (actually reachable from end users) 24/24 at 99.99 ? Global infra ? Dealing with HIPAA/GDPR ?
>We're charging on a Monthly Active User (MAU)
>Pricing starts at $0.35/MAU and decreases based on volume.
>An MAU is defined as a unique user who attended at least one meeting, with at least one other user, in the same month. To determine a unique user, we store an identifier on the device's local storage, and that will remain the same as long as the user uses the same browser and same device and doesn't clear their local cache data. Mobile is similar. An identifier remains across updates and gets removed if you delete the app.
So does that mean that if they are running Cookie AutoDelete or Temporary Containers addons, or simply clear all their browser data after exiting, any single user could easily eat all your user limit if they just repeatedly connected to the service? Or, even just having a single person connect on their desktop, laptop and phone once would eat 3 of your licenses?