Mi-Fi Monitor OS X

Mi-Fi Monitor for OS X is an invaluable utility for owners of Novatel Mi-Fi Hotspot devices, built as a constantly available OS X menu bar application. It was covered by The Unofficial Apple Weblog at the time of release.

The original iOS version

Mi-Fi Monitor was already a successful iOS application long before it was ported to OS X, the code was very mature and had a stable API library for talking to the Mi-Fi.

The original application architecture was built with portability in mind, so moving it to OS X was a simple matter of creating a new user interface.

Mi-Fi Monitor for iOS

Technical details

The OS X version of Mi-Fi Monitor shares most of the same codebase as the iOS version, and is a true 3-platform application, running on the iPhone, the iPad and OS X with a custom user interface on each one.

The core of Mi-Fi Monitor is a single API library that handles communicating with the Mi-Fi devices. They all have a documented API that returns a simple string of key/value pairs.

Aside from API interactions, Mi-Fi Monitor for OS X is a fairly standard menu bar application with a single NSView in the dropdown, some buttons and text boxes, and a live signal graph, which uses the CorePlot library for rendering.

The menu bar area itself contains an always visible Mi-Fi battery and 3G/4G signal meter, each drawn in code on-the-fly rather than presented as a set of static images created in Photoshop. This makes it trivial to do things like change the coloring on a specific part of the meter, animate changes, or perform other modifications during runtime that would typically require a pre-rendered image for each image state.

Challenges

The API endpoint that Mi-Fi Monitor communicates with on Mi-Fi devices is simply not present at all in some firmware versions, and some wireless carriers have chosen to alter it so that their version of the API returns non-standard replies that violate the API documentation. This required us to obtain API response samples from multiple devices, running multiple firmware versions to get an idea of which ones would pose a problem for users. As a result of all that testing, Mi-Fi Monitor was updated repeatedly to handle specific device quirks, and in some cases we obtained firmware for users Mi-Fi devices so they could update them and then use Mi-Fi Monitor.

Final notes

Mi-Fi Monitor for OS X has always been just as popular as the iOS version, and remains in use daily by thousands of Mi-Fi owners.

Shortly after release, Mi-Fi Monitor for OS X was featured on The Unofficial Apple Weblog.

You can read more about it on the product page.