Portfolio: Software Updater

The best interface is no interface

Andrew Zheng
3 min readFeb 17, 2016


The software updater is the companion tool for the software release/update server:

It’s a standalone tool that’s included in most of our software products and is called when launching the software. It’ll then check for software updates. If there is any new version, the tool displays the information, downloads the installer and launch it automatically.

The whole process is done with minimal user interactions.

Design Highlights

The following is the screen of new updates prompt:

Prompt to download

If you just hit ENTER, the rest of the process is all automatic:

Download then launch installer

When we talk about user interface, it’s not only about GUI, but also has something to do with the command line interface. I try to build the interface as the common command line tool.

Here is the README of its usage:

Command line interface

Implementation Highlights


I single handed everything including design and code.

It’s started in December 2013 and get some updates in early 2014.

Code commits


When design this tool and the whole “get updates” process, I try to make it as easy as possible for end users, as I believe:

The Best Interface Is No Interface.

One More Thing

I think the User in the term “User Experience Design” can be anything, it doesn’t always mean customers. It could be Operating System (when designing the command line interface as seen above), it could be developers (when designing the web API), or it could be engineers.

Please see this portfolio on how do I improve the “engineer experience” by developing a syntax highlight package:

This is a part of my portfolio showcase on medium. To see the overview of my portfolio, please click here.



Andrew Zheng

Full stack problem solver with a passion for simplicity. Personal site: http://zurassic.com