Vivaldi: How do we count the number of users?


Very soon, Vivaldi will change the technology by which the number of users of its browser is counted. User identification, which many did not like, will gradually be a thing of the past. But what will come to replace it and how will the company now consider active users? Vivaldi Technologies article translation under cat.

How does Vivaldi consider active users?

Counting users has never been a priority for us. However, this is a rather important indicator, which means that, one way or another, we have to consider the number of active users. And our method of calculation is far from ideal: several times users raised the question of unique identifiers (IDs), which we use to distinguish the unique users of our browser.

And although your ID alone is not enough to track your activity on the network, we still understand some concerns of active users. In a world in which surveillance and constant leaks have long been commonplace, any type of user identification can scare those who care about their privacy.

A few months ago, we learned that the number of active users can be calculated without unique identifiers. Of course, we immediately became interested in this topic. In addition, the mobile version of the browser for Android is approaching, which means that we are again faced with the question of counting the audience. The time has come to change the approach to such an important but routine process. Moreover, when developing a new method of calculation, it is necessary to take into account several platforms on which the browser will be available, and to get rid of identifiers so unloved by users forever.

However, all this will not be as simple as it might seem. Below we will explain what to expect from the new system for calculating the active audience. There will be a lot of text, but here are the main points you can count on:

Please note that the code that we are going to use to generate new queries is completely written in C ++, and immediately after the new counting system starts working, we will publish the source codes so that everyone can make sure that the counting system is working exactly as stated.

So why is everything so long and so confusing? But why!

User counting must be accurate

We want to make sure that the new code that we are talking about now works exactly as we intended, and gives us the same numbers as the old counting system. Therefore, at the first stage, we will save the old system, and then compare the results. Before permanently getting rid of the old system for identifying unique users, we must make sure that the new system works no worse and gives us the same numbers.

After that, we will configure our servers so that they can keep track of active users without resorting to using unique identifiers. It may take us some time to find the necessary settings both in the browser itself and on our server. The results of counting users using IDs and without must match exactly. And finally, when the work is completed, we will permanently remove the unique identifiers from our requests. For now, we hope that this does not take much time, but first we must make sure that everything really works.

User counting must meet some requirements

The idea is simple: if we configure the browser so that once a day it sends a request to our server, and then we calculate the number of such requests in the last 24 hours, we will also know the number of users who launched the browser on that day. This indicator is useful if we want to know the exact number of active users, but sometimes we need to find out how many users launched the browser this week or this month. This indicator will slightly smooth out the drawdowns of the daily audience, which are usually observed on weekends and holidays. It will be implemented in exactly the same way: in addition to daily requests, the browser will also send weekly / monthly, so that we can calculate the number of users who launched the browser in the specified period.

In addition, there are other data that would be useful to us (there are very few of them). For example, we would like to know that the user first launched the browser. This can be done locally. So we just add this information to our first daily request.

It would also be useful for us to know how long you have been using Vivaldi. We want to create a browser that you really would like to use. Therefore, we want to know how many regular users we have. So to the request we add the number of weeks during which you use the browser.

And finally, in the request we will also add information about how many days the browser for some reason could not send requests to the server. This will help us track the number of returning users.

Well, and in addition to this, we still collect anonymous information about the type of processor, screen resolution and UserAgent settings. This has nothing to do with counting active users, but it allows us to better understand which devices we should focus on when developing a browser.

This is not as scary as it seems. Many privacy-oriented companies also collect similar data to calculate the number of their users. We think that we have found a reliable way to refuse unique user identifiers. I can’t even believe that the solution was so simple!


Counting multiple versions of Vivaldi on one PC

Vivaldi offers users several installation options. Thus, several copies of the browser can be installed on one PC at once: for all users, for each individual user and stand-alone version for flash drives. All this significantly complicates the count of users. And there are two reasons for this.

First, the user could install several copies of the browser on the computer to test different versions. In this case, we would like to consider all these browsers as one user. But we need to make sure that all of these browser versions are used by one person. Then, instead of several requests, we could send only one.

Secondly, several people can use one computer and one account, but each of them can use their own portable version of Vivaldi. In this case, we must understand that each of these browser versions is used by different people, each of which must be considered separately. It would be wrong to mix their requests into one.

So far, we have had a solution to this problem: we just saved a copy of the user ID in the LocalState file and in the OS user profile. If one of these copies was missing, it was reinstalled. If the copies do not match, then most likely we are talking about a portable version transferred from another PC (that is, scenario No. 2). In all other cases, we consider this to be scenario No. 1.

We never found a way to solve this problem without using unique identifiers. Therefore, we will have to leave an ID, but they will be stored locally, that is, only on your PC. We will not transfer this data to our servers. So we will be sure that we did not count the same user several times.

It seems that we are almost confused with all sorts of little things. And all this for the sake of such an insignificant thing as counting users ... But such is the reality: we need to know our audience!

Why is counting so important?

The more active users we have, the more cool features we can realize. Basically it comes down to partnership agreements. We recently talked about this in detail on our blog.

In order to build such relationships and be able to conclude deals that are beneficial to us, we need to know exactly how many users we currently have. For the companies with which we work, the number of users shows which audience they can attract using our browser. The more users we have, the higher the potential response.

But in addition to commercial agreements, we also have a number of technical partners. If we try to implement functionality that affects the capabilities of the OS or specific hardware (for example, Razer Chroma support, which we added a few months ago ), a wider audience of the browser is more likely to be able to guarantee us adequate technical support and support. The more users can use the new functionality, the higher the interest of third-party companies.

That is why the counter is so important. Our partners should see that we have done everything possible to ensure that it works as accurately as possible. Numbers mean nothing unless real users who really use our browser are behind them.

That is why we have taken such a simple process so seriously. Counting users must be accurate, but we do not want to interfere with your personal life and collect redundant data. We hope that the rejection of unique identifiers and the transition to a billing system based on simple queries will convince you that your privacy is really important to us.

Original article
Translation: Alex Semnov-Sherin
Correction: Shpankov

The article used a photo of Crissy Jarvis with Unsplash .


All Articles