Here’s how we built Vivaldi to run on the latest Chromium code while at the same time creating our own alternatives to what Google has provided in their web browser core on Android.

When you install Vivaldi for Android Beta you get Vivaldi’s modified version of Chromium as on desktop, built by us on top of the Chromium source code. That means the same powerful privacy and security properties, as well as independent features that you’ve come to expect from the Vivaldi browser on desktop.

But how did we do that on an operating system which comes with its own web browser core?

The Android operating system developed by Google comes with a web browser core built into it. Many Android apps and some browsers use this core to render web content. Called WebView, it runs on Chrome’s code and helps devs to create browser “skins” pretty quickly.

Using just WebView would not work for us.

Privacy and security first

For starters, we couldn’t use just WebView from a security perspective. Using it would mean we could not implement our own secure version of Sync.

Our Sync implementation for desktop and mobile does not use the Google Sync server. It took us a while to build our own Sync system but we knew it was important to get that one right, as we wanted to ensure that our Sync feature won’t be sending data to Google.

In Vivaldi, all Sync data is protected using end-to-end encryption. The encryption happens on your device, allowing you to use a password that is never sent to us. As long as your password isn’t compromised, your data can’t be decrypted by anyone else other than yourself.

There’s also a privacy aspect to not using the built-in web browser core. With it, we would be sending the same information to Google as Chrome does and would have no control over the code and how it works with regards to privacy. So we’ve disabled options that allow data-sharing with Google. We’ve also disabled user action metrics and do not track any behavioral actions.

The Vivaldi UI

Using the browser core built into Android would also not allow us to add independent features such as the ones we’ve built into the desktop browser.

From the very beginning of Vivaldi, our focus has been on the browser’s customizable UI. On desktop, the UI is entirely our own, built on web technologies.

We needed the same kind of freedom with the Android app. We needed the Vivaldi code in there so that down the line we could make it possible to customize the browser to the extent you are familiar with.

How we did it

From the word go, we knew that we would have to build the Android browser from the bottom up. So we took the Vivaldi-modified Chromium source code (which we use for the desktop browser) and out of that created the Android app.

Using the Chromium code with our changes on top helped us achieve what we set out to achieve. The only difference is that while on desktop we create our UI in javascript, on Android we modify the Java and XML-based Android UI.

So when you install Vivaldi on Android you get Vivaldi’s own browser core built by us from the Chromium source code. You get the same privacy and security as the Vivaldi browser you use on your desktop or laptop computer.

You also have (the beginnings of) the UI you’re so familiar with from the desktop browser.

Last but not least, you also get the latest and most secure version of the code on mobile. And that can’t be said about all apps out there.

Vivaldi for Android Beta is available now on Google Play.