Pricing

This page explains which services we provide, and how much we charge for them. At a quick glance:

  1. If you need automatic updates for a Windows application, our prices start at EUR 5,000 for initial setup and EUR 199 per month for hosting. Please read the section Services around Google Omaha below.
  2. If you are maintaining a Chromium-based browser and want automatic updates for it, our price is EUR 5,000 for the initial integration on macOS or EUR 7,500 on Windows, then optionally from EUR 199 per month for server hosting. Please read Automatic updates for Chromium-based browsers below.

Finally, if you are working for a large organization and are wondering about procurement and compliance, then you may also find some answers in the note at the very bottom of this page.

1. Services around Google Omaha

Omaha is the Google technology behind Chrome's automatic update mechanism. If you want to use it for one of your own applications, we can assist you.

Using Omaha requires the following:

  1. An update server that speaks the Omaha protocol.
  2. An Omaha update client, configured to fetch new versions from your update server.
  3. An installer that sets up Omaha as well as your application on users' systems.
  4. For every new version of your software, a self-contained .exe or .msi file that is able to install this specific version and to update an old installation to it.

In a typical project, you implement 4. while we provide 1., 2. and possibly 3. This distribution of responsibilities works well because we know Omaha and you know your application. But we generally offer help with any of the above points. For example, some of our customers only wish to obtain the update server 1. from us.

1.1. Omaha update server

Omaha uses a special protocol for distributing updates. You can find an old Python 2 server implementation of this protocol in our GitHub repository omaha-server. However, this version of the server is not compatible with recent Omaha releases and no longer receives security updates.

Active development of our Omaha server implementation takes place in a private repository to which only our customers have access. Unlike the open source version above, this implementation is based on Python 3. It receives regular security fixes and other updates as Omaha evolves. One of our customers, Brave, use a fork that is 99% similar to our implementation to serve tens of millions of users.

You can obtain the server from us in one of three ways. In the first, we host the server for you. In the remaining two, we give you the server's source code and help you deploy it onto your infrastructure. These latter options are usually preferred by organizations that want to protect their risk from us as a vendor. While this sounds attractive, it comes at higher operational costs. One of our customers used to self-host but decided it was not their core competence. They are now very happy that it is us who deal with the technicalities of serving their ~100,000 users.

The options and costs for the update server are:

  1. We host the server for you. The prices start at EUR 199 per month and 1 TB of data transfer per year. Additional data transfer costs EUR 0.10 per GB. You can calculate your expected data transfer by multiplying the size of your application in MB by the number of users and the number of updates you expect to release per year.
  2. You obtain the server's source code from us and we manage it on your infrastructure. The setup fee for this depends on the complexity of your infrastructure and is typically EUR 10,000. It includes a perpetual license that gives you the right to use the server code after you do business with us. The yearly maintenance fee, as long as you want us to manage the server for you, is EUR 5,000 - 10,000.
  3. We give you the server's source code and you manage it on your infrastructure. The setup fee is as in 2. above. It includes one year of updates. If you wish to receive new versions of the server afterwards, the price per year is EUR 6,000.

Our server offerings come with a basic SLA and can accommodate stricter requirements if necessary. This is sometimes important for customers who deploy to sensitive environments, such as corporate banking infrastructure. However, as it turns out, the update server is a smaller attack surface than one would initially believe. The reason is that Omaha can be configured to only execute update binaries signed with a fixed list of code signing certificates. In this way, even if an attacker were to gain access to the server, they would still need your code signing certificate to distribute malicious versions.

As in our other offerings, we can customize the server implementation if you need specific features. To obtain our server or discuss your requirements in more detail, please get in touch.

1.2. Update client

Out of the box, Omaha is only able to update Google's products. Using it for your own application requires modifying Google's C++ client implementation in many places to remove Google's branding, to use your update server instead of Google's, and to make sure that your client doesn't accidentally update Chrome instead of your application. Because Omaha is a complex technology, it is not uncommon that engineers who do this for the first time take weeks to produce a prototype. And then, the prototype may work on the engineer's machine, but has not been tested on the potentially wide range of user systems.

Because we do it on a regular basis, we are able to create tested Omaha forks very quickly. If you wish us to perform this work for you, then the one-time fee for this is EUR 5,000. We can also customize Omaha for you. To discuss this or obtain your fork of Omaha from us, please send us a message.

1.3. Installer

Omaha runs as a separate application on your computer. As such, it needs to be installed like other software. Most projects therefore typically have an installer that doesn't just set up your application, but also the Omaha update client.

Installers come in many different forms. Chrome itself for example uses a 1 MB online installer:

Such an installer can be produced with Omaha itself. We can create it for you (with instructions how you can do it yourself in the future) for a one-time fee of EUR 500 in addition to the fee for forking Omaha in section 1.2.

Another kind of installer that we sometimes provide for our customers are MSI packages. This requires several extensions to Omaha itself. For a one-time fee of EUR 3,000 we can provide you with the necessary code and instructions for integrating Omaha into any WiX project.

There are many other kinds of installers. For example, in one client project we implemented a graphical wizard installer with custom statistics logic and license key verification. Due to the large number of possibilities, we are not able to give a fixed price for creating an installer in general. If you want to create the installer yourself, we can provide you with relatively simple instructions along with your Omaha fork 1.2. Otherwise, please get in touch to request a quote.

1.4. Packaging versions

Omaha works solely on the basis of self-contained executables. These are .exe or .msi files which you upload to the update server. Omaha invokes these executables to install or update to a specific version. To use Omaha, you need to create a standalone .exe or .msi for each new version of your software. Our packages above include instructions what your executables must do to integrate with Omaha. If you would like additional help, please let us know.

A question that often comes up in this context is whether the update server has an API that can be integrated into a CI/CD system for automatic uploading of new versions. The answer is yes; The server has a REST interface that can be used to programmatically create and change versions.

2. Automatic updates for Chromium-based browsers

Chromium is the open source basis of Google's Chrome browser. On Windows, Chromium uses Omaha for automatic updates. Because of this close connection between the two technologies, we also offer development services for Chromium-based browsers, particularly when it comes to automatic updates.

2.1. Windows

On Windows, we can provide you with the necessary source code for integrating Omaha into Chromium. This is highly non-trivial work. Teams who have to develop this integration for the first time usually take 1 – 4 man-months. We can typically send you the necessary source code within a few days. Our fee for this service (on top of which you will need an update server 1.1. and an Omaha fork 1.2.) is EUR 5,000. Our implementation supports both automatic background updates, as well as on-demand updates on the chrome://settings/help page:

2.2. macOS

On Mac, Chromium uses Google's Keystone framework for automatic updates. Unlike Omaha, this technology is not open source. Chromium projects therefore usually use the popular Sparkle update framework instead. Similarly to the Windows implementation 2.1. above, we can integrate Sparkle into your browser for a one-time fee of EUR 5,000. You do not need Omaha or our update server for macOS. However, you can still use our update server if you like, because it also supports the Sparkle update protocol.

Supporting large organizations

If you are working for a large company, then it is likely that you have processes in place for vendor selection, procurement, SLAs, provisioning of infrastructure, security, compliance or auditing. We are usually able to accommodate such requirements, but they may incur additional costs. When you get in touch with us, we will be happy to discuss how we can not just be a strong technical partner for you, but also a good organizational fit.