How Mobile Synchronization Works

Architecture Overview

Rubrix consists of two parts: a web application where administrative functions (user management, reporting, etc.) are performed and a mobile client (**Android** or iOS) interface for mobile data collection. Thus, you can use Rubrix by logging on through a Web browser or from your mobile device.

The data associated with your Rubrix account is kept on a Rubrix server, but the parts of that data which are required for you to create reviews on your mobile device are also present on your mobile device. Synchronization is the process which keeps the data on your mobile device up to date with what’s on the server, and vice versa.

Why synchronize?

We chose to keep a copy of the relevant Rubrix data on the device (therefore requiring synchronization) for two primary reasons:

  1. Performance – if every detailed interaction on the device required a network transaction with a Rubrix server, the response time of the application would be noticeably slower. This is especially true for some locations which experience slow transactions over cellular networks. Keeping a copy of all you need for reviews right on your device means that the application is very responsive.

  2. Availability – if you are in a location where you can’t get a network connection at all and if the data were only on the server then you would be unable to perform a review. This happens quite frequently inside buildings, especially in older buildings or locations with a metal roof. Because you have the data on your device, you can create and modify reviews no matter where you are.

What gets synchronized?

The Rubrix data on your device includes:

  1. Rubrics
  2. Subjects
  3. Reviews

Rubrics and Subjects are entered from a Web browser, so those items come from the server to your device. Reviews are composed on your device, so they get sent from the device to the server.

When does synchronization happen?
Every time you open the Rubrix mobile client, it tries to connect to the server and synchronize.

Every time you create a review or make an observation
(e.g. choose an element’s degree during a review) on your device, Rubrix tries to send that new data to the server immediately. If no connection is available, the changes are put in a queue to be sent the next time a connection is available.

You can initiate a synchronization manually by tapping or selecting the appropriate control in the mobile client. On the rare occasions that you need to manually synch, the button is found on the Organizations screen – the first screen you see after logging on. On an iPhone, it is in the top left corner of the screen.

If a network connection is unavailable, Rubrix proceeds and lets you work with the data you have previously synchronized. The synchronization queue is serviced when the network access returns.