Teamwork

Introduction

Budget Blitz for Android ensures the collaborative accounting of revenues and expenses. Here are a few examples:

  1. Full synchronization between devices;
  2. Collaborative financial accounting restricted by selected accounts, projects, persons, payers, payees, or even categories;
  3. Collecting data on a single device, in a case of, for example, parents track children expenses.

Any device can become an exchange node, see exchange node and receive or transmit changes. Each exchange node can communicate with other ones.

Note

Free version can transmit messages only. The Pro version has no restrictions.

The app has flexible settings to control exchange. For example, you can allow to accept only new transactions from one node, and forbid modified ones. Each node has own settings.

Messages between nodes are encrypted in order to improve safety. For each node you can specify own password that will be used for encryption and decryption of a transmitted information.

Collaboration does not require Dropbox account or other ones.

Getting Started

Initial Database

Suppose that Alice and Bob want to use a collaborative financial accounting. Then, they need to decide what is the best suited case:

  1. At the beginning Alice and Bob will have similar database.
  2. Alice and Bob already use the app, they do not want to combine their databases, and plan to synchronize selected accounts only.

For the first case Alice or Bob, let it be Alice, makes a backup. Further, Alice gives the backup to Bob and he restores database on his device. Now Alice and Bob have similar database. The teamwork requires databases have different identities. Hence, Bob generates new identity for his database.

Note

Ii is required to make a new database identity when database restored from backup of another teamwork member.

_images/exchangenewid-005-select-actions.png _images/exchangenewid-010-select-exchange.png _images/exchangenewid-020-select-exchange_nodes.png _images/exchangenewid-030-select-actions.png _images/exchangenewid-040-select-new-id.png

Now Alice and Bob are ready for next steps.

In the second case there is no need to preliminary actions. Alice and Bob are ready for next steps at once.

Identities Interchange

The most important step under preparing teamwork is an identities interchange. To do that Alice opens Exchange nodes directory using Actions ‣ Data synchronization ‣ Exchange nodes menu. Then, Alice presses Share ID and sends identity to Bob by email.

_images/exchangesendid-005-select-actions.png _images/exchangesendid-010-select-exchange.png _images/exchangesendid-020-select-exchange_nodes.png _images/exchangesendid-030-select-actions.png _images/exchangesendid-040-select-share-id.png _images/exchangesendid-050-mail-id.png

Bob receives the message, creates new exchange node putting the name and identity from the message. After that he sends his own identity to Alice.

_images/exchangenewnode-005-select-actions.png _images/exchangenewnode-010-select-exchange.png _images/exchangenewnode-020-select-exchange_nodes.png _images/exchangenewnode-030-click-fab.png _images/exchangenewnode-040-setup_node.png

Now, there is a turn of Alice to receive Bob message. She creates new node and puts identity from the message of Bob.

Setting Teamwork On

When identities interchange completed, Alice and Bob set synchronization on at the app settings.

_images/exchangeenable-005-select-actions.png _images/exchangeenable-020-click-on-actions-menu.png _images/exchangeenable-025-select-exchange.png _images/exchangeenable-030-check-use-exchange.png

Now the app sends all changes from the database of Alice to the database of Bob and vice versa. The app synchronizes changes every five minutes when Wi-Fi or mobile network is on. Synchronization is off when device falls asleep or network is off. This ensures to save network traffic and battery power.

This is how exchange works:

  1. Since exchange started the app checks whether screen is on or not.
    1. Next time to start synchronization is 5 minutes after, if screen is on.
    2. Next time to start synchronization is 60 minutes after, if screen is off.
    3. Synchronization is canceled when phone falls asleep.
  2. Since main screen started the app checks next time of synchronization.
    1. Nothing happen if next time is within 10 minutes.
    2. Synchronization starts if next time is greater then 10 minutes.
  3. Synchronization is off when where is no network until network is on.

You can run synchronization by hands if you want to.

How Synchronization Works

The app Budget Blitz for Android stores every directory items and transactions changes. Node sends changes that occur starting from the time last message sent or node created itself. The sequence of exchange matters. Alice sends changes to Bob. Then Bob sends changes to Alice and so on. The node of Alice will await response from the node of Bob. Thus, the node of Alice will send no anymore messages until response from the Bob coming.

The app synchronizes directories using rules below:

  1. syncing by the unique id;
  2. syncing by key phrases;
  3. syncing by the name.

When syncing fails the app goes to the next step. The app will create new item or use default value if all steps fail. You can edit default values at the node card.

Transactions sync by the unique id only.

Advanced Settings

Alice and Bob can restrict the amount of information transmitted. There are two types of constraints:

  1. permitted data scope;
  2. forbidden data scope.

Scopes specified in the Data scopes directory. It is possible to specify any combination of accounts, categories, payers, payees, projects, and persons.

Forbidden scope has a higher priority, when the permitted and forbidden data scopes contain same item simultaneously.

Transactions, recurring transactions, and directory items to transmit are based upon data scopes.

Alice and Bob can restrict items to receive. For example, Alice can refuse all new, modified or removed items. Another case is to specify certain type of directory to refuse.

Data Transfer Settings

To improve the security of data transmission Alice should specify a password that will be used to encrypt messages between exchange nodes. Alice’s password must match the Bob’s one.

Alice also should indicate what type of communications is used for messaging with Bob. Available types are Wi-Fi and mobile network.

Default Values

Alice and Bob can have a different app content. For example, Bob has a long time using Budget Blitz for Android, and Alice has just installed the app. Bob can create transaction and specify, for example, a project that Alice does not have. When a message from Bob arrives, Alice’s node will create a transaction, but could not find a proper project. In that case the app will use a default value Alice set to the node of Bob.

Moving Database to a New Device

Suppose that Alice decides to move onto new phone. Then, Alice should follow steps:

  1. Set synchronization off for an old device.
  2. Make backup.
  3. Restore backup on a new device.
  4. Set synchronization on for a new device.