Developing software as a service (SaaS) products happens in stages. Typical stages for a SaaS product are, for example, development, staging and production. As many callstats.io customers follow this type of service model, we updated our dashboard to make it easier for our customers to manage multiple WebRTC apps using a single callstats.io account. Here multiple apps corresponds to different AppIDs, and these AppIDs typically, have different origin URLs.
Switching between apps
We added a dropdown menu to the header bar of the dashboard to give an easy way to switch between different applications. Simply select the app you would like to view from the dropdown and the dashboard will show only metrics for the selected app. It should be noted that the metrics of each app are stored separately, and hence the search filters applies only to the chosen app.
Switching between apps in callstats.io dashboard
Number of apps
The support for creating multiple apps is currently only offered to Pro and Enterprise level customers.
During the last year we have talked to many WebRTC companies. We found multiple use cases that we want to support with the multiple apps feature. Here we’ll go through two use cases that we found to be common among the WebRTC companies.
Case 1: development, staging and production
As mentioned at the beginning of this blog post, a software development process oftentimes consists of stages. A common approach is to have a development, staging and production versions of the product. The development version is tested by developer and testers inside the company. In staging the WebRTC application is tested with a low volume of real users to make sure it is ready for production use. The production version is served to majority of users.
Having three apps in callstats.io to analyse WebRTC for this kind of setup could be setup as follows:
- Development version has a test mode app in callstats.io. Developers test new versions of the application daily but do not care about data retention.
- Staging version has a production mode app in callstats.io. Production mode allows tracking data from multiple concurrent calls and the team can search calls on a longer period of time. The staging version will create costs only when it is being used.
- Production version has a production mode app in callstats.io. Product managers can look at service level metrics and customer service look at individual calls as they happen or even after a few days the call has ended.
Case 2: Development version and multiple production versions
In some cases the same code base of the WebRTC application can be used in multiple production applications, for example, if the application is white labeled to multiple customers and only the look and feel of the app is changed per customer. The company would run the different production versions of the application as individual apps in callstats.io.
For testing the company would only need a test mode app in callstats.io and staging could use production mode similarly to the previous use case.
App creation process
New apps can be created from the user settings page by clicking the green “New app” button next to integration and API document links.
Click “New app” to start the app creation process
The app creation process did not change much due to adding support for multiple apps. We have added the above mentioned test mode to the form to determine if the test mode for the app is enabled or disabled. The default option for test mode is disabled.
Create a new app
All apps are displayed in the user settings page. You can edit all of your from this the user settings page.
App listing in user settings
Flexibility of the Test mode
An app has a test mode that can be enabled or disabled. Apps in test mode are similar to the free developer plan and adding a test app does not incur any extra costs. When test mode is enabled an app…
- has limited data retention to 24 hrs.
- can send data only from one call at a time.
- has a daily limit of 25 000 data points.
If test mode is disabled then data retention, concurrent calls and pricing limitations are based on the selected pricing plan.
Hoping to end the year on a high note, this will be the last blog post of 2015 (unlike promised last week). Accompanied by the meme above we wish an awesome New Year’s Eve celebration and a lot of happy moments in 2016!