Google Omaha Server

A cloud-based, scalable service for desktop and embedded software updates. Available open-source.

The client is a US Enterprise company that builds a customised Chromium browser environment for its users.

To meet security and usability standards, the browser requires regular updates.

We worked with the client to roll updates and collect usage statistics. Also, a crash server (Crashpad) was embedded to track the applications' crashes when a new release is propagating.

When

2015

Our Role

UX Design, Development,
DevOps

Client

US Enterprise

Tech

AWS, GCC, Django, Splunk

What is Omaha Server?

Omaha Server is an open-source implementation of the Google Update protocol used to support both silent and on-demand updates for Google Chrome, Google Earth, and a variety of other Google products on Windows. The server also supports Sparkle framework which is widely used by Mac OS apps.

Omaha server can be used to implement an auto-update feature for any Windows or Mac OS desktop or embedded software. Apart from rolling out new releases, it supports rollbacks, usage statistics and an app's crash management.

AWS and GCC deploy

We have debugged Google’s client implementation to develop a fully functional server implementation.

Our Django-based implementation uses AWS or GCC as a cloud platform, Elastic Beanstalk and Docker.

Scalability was one of the requirements, so we conducted performance tests to make sure the server can handle tens of thousands of clients.

Open-source

With our client’s blessing, we have decided to release an open source version on GitHub. It's been used in production by numerous developers so far.

Silent desktop and embedded software update

Don't distract users with annoying update dialogs

Omaha Server allows complicated updates to be rolled silently and in stages, while being invisible to the end user.

The client-server infrastructure is discreet and secure, making annoying dialogues obsolete, resulting in a better experience for end users.

Essential Analytics

Gather user statistics, error reports and crash logs automatically

Omaha Server automatically gathers user statistics, update/error reports and crash logs. It has been integrated with Crashpad and Sentry to let developers analyse crashes quickier. 

Admin panel

Omaha and Sparkle distributives, users feedback and crashes can be viewed and edited via CMS

Omaha Server is easy to integrate into any software. All a developer needs to do is to embed Omaha or Sparkle client into their application with a preconfigured Omaha server address. The installer can then be sent to its end users. Any new versions can be released via the Admin panel. When necessary, a rollback can be easily executed.

Practical Applications

Fast, effective update management for security-centric apps

Web browsers
Virus scanners
Firewalls

Reliably delivering software updates to large numbers of users

Drivers
Mobile & desktop apps
Input-software

We delivered a every feature on our client’s wish list

Updates

Rollout complicated updates silently

Rollback

Rollback to an earlier version when necessary

Robust Data

Gather crash-logs, error reports, user statistics

Secure

Ensure a silent and secure client-server infrastructure

Adaptable

One server for multiple applications

Support

Full proxy support

Great UX

No superfluous dialogues or anti-patterns

Multi-stage

Rollout in several stages

Installs

Automatically run the product after installation

Scalable

Scale across several nodes in moments of high load

Simplified implementation

One protocol, one codebase, for multiple applications

Reach

Efficiently reaches a great crowd

Push

Push updates rapidly and aggressively to the client

Integrate

Easy to integrate

Work with us

We’d love to discuss your project

Send me a Non-Disclosure Agreement (NDA)
Back
Next
Next
Thanks, we’ll be in touch soon
Oops! Something went wrong while submitting the form