In order to get you started, this document will guide you through the basic features of GeneralSync. It is divided into the following feature-specific sections:
Note that this document is intended as reference providing some background information; it is not required to read through this document in order to use GeneralSync.
When starting GeneralSync for the first time, the first-run setup is shown:
Choose a device name and touch I agree, start GeneralSync! in order to complete the process (if you do not enter a license key afterwards, you thereby agree to the default license agreement for Android). The device name you enter will identify your device in the user interface. It will, for example, be shown on any device you sync content with. Especially if you intend to sync content with other people, it is thus a good idea to include your name there.
Note that, in contrast to the first-run procedure on PC, you do not need to enter a license key right away: GeneralSync for Android can be used for noncommercial, private purposes without entering a license key. For commercial use, a license key can be entered in the configuration accessible through the dashboard.
Note that the first start may take a while, depending on the speed of your device. On old devices an initial startup time of multiple minutes is to be expected.
On recent devices, you will also be prompted to confirm the permissions required for GeneralSync to work. If you do not confirm them, related features will be unavailable. For example, other apps will not be able to access GeneralSync calendars unless you grant the calendar permission.
GeneralSync is usually running in the background, performing all tasks automatically. When selecting GeneralSync from the launcher, the sync dashboard is shown, which permits you to manage content and sync relations and provides access to GeneralSync's configuration.
Note: If GeneralSync detected a problem that will most likely prevent GeneralSync from working correctly, launching the app might open the Check systems settings screen instead.
The dashboard consists of two tabs, one for syncable content and one for paired devices. You can switch between tabs by touching a different tab's header, or by dragging the tab's content to the side. The first tab of the dashboard provides a list of all content stored on this device:
The action bar provides a button to create new content (plus-icon), as well as navigation options towards the configuration and the list of conflicts. The former will be explained later in this section, while the latter is covered in the section about using GeneralSync from other apps.
To view and edit sync relations or metadata of a content, touch its row. The content detail view will be shown:
At the top of the detail view you can see restrictions placed on your usage of the content, for example as in the screenshot above the content being available only for reading. For content available through other apps, a row opening the default app for the corresponding data type will also be shown, for example to open the default calendar app if the content is a calendar.
In the central segment of the view (Preferences) you can edit metadata such as the content's display name or the email address you use for event invitations. This data is used for local display purposes only, and not synced to other devices.
Finally, the bottom part of the view features a list of all paired devices and the sync status of the content towards each device.
A button on the action bar permits to delete the content from this device (trashcan icon). Furthermore, the action bar may provide features depending on the type of the content, for example to import existing data. More information on importing can be found in the chapter about syncing existing data.
To create or accept a sync relation for the content, touch a device that is not yet receiving or sending it. The other way works similar: by touching a device for which a sync relation has been created before, you can revoke said sync relation. For more information on sync relations, refer to the sync relation section of this guide.
The second tab of the dashboard provides a list of all paired devices:
The action bar provides a button to pair with additional devices (plus-icon) and the same navigation options as the content tab. To view and edit device metadata or the sync relations a device is participating in, touch its row. The device detail view will be shown:
The layout is similar to the content detail view discussed above: at the top there's a row to immediately force a sync, followed by editable metadata. Below, a list content offered by the device is shown, along with the current status of the sync relation. A button on the action bar permits to unpair the device (trashcan-icon).
To accept an offered sync relation (and create a local copy of the content, if it does not yet exist), touch the row of the available content. Active sync relations can be cancelled in the same way: just touch the content marked as active. For more information on sync relations, refer to the sync relation section of this guide.
From any dashboard tab you can access the global configuration: touch the three dots on the action bar, then select Configuration. A list of settings will appear:
Each setting consists of a title row describing the setting, and the current value for the setting below. To change a setting, touch it. Depending on the setting a dialog or full-screen activity will open, permitting you to select a new value.
Wi-Fi Power Policy – This setting controls whether GeneralSync should prevent your device's Wi-Fi from being turned off. Android will, by default, disable Wi-Fi when you do not use your device for some time. As GeneralSync can only receive or distribute changes while Wi-Fi is on, it may be reasonable to change that policy.
This feature requires hardware support. GeneralSync cannot determine whether its requests were honored by the Wi-Fi module, and some devices do not support all operations required for GeneralSync to be fully operational while the screen is turned off.
By default, Reconnect periodically even when sleeping will cause your device to periodically reconnect to the network (by default every 1-2 hours). This increases the reliability of syncs with other devices that are permanently connected to the network without having the major battery impact from holding permanent Wi-Fi connections.
To further reduce power consumption, Protect sync operations, but permit permanent disconnect while sleeping enables you to only prevent disconnecting while GeneralSync is actively transmitting data. Your device will then not try to reconnect to the network while it is not used, permitting deeper sleep modes.
If you want to sync with devices that are only periodically connected to the network and have a strong battery, Always remain connected and reconnect if necessary can be used to prevent any automatic disconnects. Once a connection is lost, the device will periodically try to re-establish the connection to a saved Wi-Fi network.
Additional policies are available if advanced options are enabled through the action bar. These additional policies are not recommended for regular users.
Active license – By touching this setting, information on the current license is displayed. To change your license, it is recommended that you download a license file from the license manager and put it on the SD card or internal storage, if available on your device. Then you can simply switch to your license by tapping License file..., without having to enter the license key. You can delete the license file once it has been imported by GeneralSync.
Alternatively, you can switch to a different license by touching License key... and entering your license key.
Some features (for example automatic updates without Google Play) require a valid license. Also note that your usage of GeneralSync is bound to the terms of the license whose license key has been entered in the app. The default license applying while no license code is entered does not permit any commercial usage!
By using the action bar, you can show additional settings that should not be altered by most users (similar features are available in other places, for example the device details view). Wrong values for these settings may prevent GeneralSync to operate correctly, thus it is recommended to only alter settings hidden by default if you know what you're doing.
From any dashboard tab, you can access a tool to detect common configuration issues: touch the three dots on the action bar, then select Check system settings. If severe issues are detected, it is also shown immediately when starting the app.
Depending on their severity, problems are indicated by a red cross (permanent) or a yellow warning sign (temporary). In many cases, you can immediately fix the issue by touching the corresponding row. Note that GeneralSync needs to alter system settings to fix these issues – the necessary changes to fix the issue might also affect other apps on the same device.
The following system settings are currently checked:
Network connectivity – GeneralSync uses local networks to sync. It is thus necessary to have a connection to a Wi-Fi network or some other kind of local network in order to sync with GeneralSync.
Sync – Android has many different settings controlling the way apps automatically sync data. In order for GeneralSync to work, automatic synchronization must be globally enabled and each GeneralSync feature must not be excluded from automatic synchronization.
Permissions – On modern devices the user has to explicitly confirm permissions required to interact with other apps (calendar, contacts, etc.). Permissions that were not yet confirmed by you can be granted by tapping on their rows. Granting the permission will automatically unlock corresponding features.
You can get back to the dashboard by touching the Continue-Button at the bottom or using the back button.
In order to exchange data with another device, said device must be paired. For technical reasons, pairing requires a short alphanumeric code to be generated on one of the devices and entered on the other device. Pair codes are case-sensitive.
On Android, the pairing process can be started in multiple ways. The easiest option is touching the plus button on the action bar of the dashboard's devices tab.
When starting the pair process, it displays a pair code to enter on the other device:
Simply enter the code displayed on the other device within the 10 minute limit displayed at the bottom of the dialog; the dialog will be closed automatically once the pairing has been completed.
To enter the pair code of another device, select Enter other device's code:
If the other device is connected to the same network, it is sufficient to enter the code generated by the other device and hit ok. Note that pair codes can only be used once and are valid for limited time only, thus you need to generate a new pair key for every two devices you wish to pair.
Expert users can also initiate a pairing with devices not connected to the same network, but the configuration required to do so securely is way beyond the scope of this guide. The configuration options required for that can be found within the advanced option sections of both the pair dialog and the configuration dialog.
Once a device is paired, you can use the sync dashboard to view and edit sync relations towards that device. In this chapter various types of sync relations are described, as well as your options when manipulating them.
To protect your data, GeneralSync will not send or receive any data without explicit user approval. In order to establish a sync relation, it is thus required to approve the sync relation on both devices (as the devices may have different users).
A sync relation thus goes through various phases. Relative to one device, a sync relation can be in the following states:
pending – after a sync relation has been offered, it is pending until it is approved by the other device. Afterwards, the relation will automatically switch to active.
available – if another device offered a sync relation, it is available until you confirm it. Afterwards, the relation will automatically switch to active.
active – data is exchanged automatically. The relation can be removed on any device, which will cause the state to switch back to available and pending.
If a device offers a sync relation, which is not compatible with existing content (for example, offering read-only access to content that is already available without restrictions), the relation is in a conflict state. The incompatible offer must be retracted to establish a sync relation, or the conflicting content must be deleted.
To change the state of a sync relation, touch its row in the content or device details view. A confirmation dialog will describe the change you are about to perform: for available relations, touching will confirm the relation, while for other states the existing relation is removed or disabled. If no relation is currently present, you can create a new sync relation through the process covered below.
If new relations become available, you will also be notified with a notification, touch the notification to directly switch to the device details view of the affected device.
Note that sync relation offers for content currently not present on your device are only visible in the device details view (as the content does not yet exist), while pending sync relations are only visible in the content details view (as the device details display only relations offered by the selected device).
While synchronization is a suitable term for any data exchange performed by GeneralSync, it is too broad when discussing sync relations in detail. In fact, there are two major types of data exchange supported by GeneralSync:
Bidirectional Synchronization – the same content is available on both devices. If a change is recorded on one device, it is distributed to the other one.
Unidirectional Sending / Receiving – one device holds a complete, writeable version of the content, and provides read-only access to said content or parts of it towards the other device. If a change is recorded on the sending device, it is distributed to the receiving one, but not vice-versa.
For any content, you can select:
all content – everything is transmitted, without any restrictions
For calendars, you can select more restricted options:
availability information – for each event, only start time, end time and availability (free/busy) is transmitted. Any other details are removed before sending.
non-confidential events and availability information – events marked as confidential resp. private are transmitted as in the mode availability information: only start time, end time and availability information is sent. All other events are transmitted in their entirety.
The details view accessible through the dashboard display icons in front of the state of each sync relation: two arrows for bidirectional synchronization, one arrow for unidirectional sending / receiving. The direction of the arrow permits to differentiate between sending (to the right) and receiving (to the left).
To initiate a new sync relation in GeneralSync for Android, make sure the target device is paired and switch to the content detail view of the content to sync (accessible through the dashboard's content tab). Then, touch the row of the target device.
For content you do not have unrestricted access to, any sync relation created by you is automatically bidirectional. In that case, you will be asked to confirm the new sync relation. In other cases, you will be asked to determine the type of the new sync relations:
As discussed before, you have the option to either bidirectionally sync data, or to send it without receiving changes from the target device. In the latter case, it may be possible to restrict the content you're sending according to predefined filter rules by selecting the corresponding option from the Restrict to field.
After confirming the sync relation's creation, the target device will usually signal its user that a new sync relation became available. As soon as the relation is confirmed on the target device, the sync relation will automatically operate in the background.
GeneralSync exposes supported data types to Android, which enables you to use them with any app. You can use any app compatible with the standard Android interfaces, refer to the app's documentation for details on its usage.
When multiple devices change the same data, conflicts may occur. Conflicting data will no longer be available to third-party apps, until the conflict is resolved. Once a conflict occurs, a notification is shown:
You can resolve the conflict on any device, and the conflict's resolution will be distributed automatically. If you wish to resolve the conflict on Android, open the dashboard, touch the three dots in the action bar and select Conflicts. Alternatively, you can touch the conflict notification. A list of conflicts will be shown:
Touch the conflict you wish to resolve, and you can select a version to persist:
The conflict resolution dialog displays a short summary of each version (in this case, the title and time of an event), as well as the name of the device authoring the change and the date and time the change was committed. If the device issuing the change is not paired, a technical identifier is shown instead.
Select the version you wish to keep, and touch Resolve Conflict. Your resolution will then be distributed to other devices and the selected version will become available to all apps on your device.
In order to sync existing data with GeneralSync, said data must be imported first. As GeneralSync operates decentrally, you may perform the import on any device.
For a successful import it is crucial that you have access to a complete copy of the data to import: some sync tools operating in the cloud only store parts of the data on mobile devices. Thus, we recommend that you use the export feature of the service or application you were using before. You can then, for example, import the exported data through a compatible PC application. Refer to the documentation of your PC application and previously used tools for details on how to export and import data.
Alternatively, you can import data directly from Android: create a new content in GeneralSync (for example, a calendar) and open its detail view from the dashboard. Through the action bar's menu (three dots) you can then access the Import... feature. A dialog will open, permitting you to select the content to import.
Note that importing will usually only import data supported by the platform you're performing the import on: for example, a calendar imported through Android will never contain reminders scheduled after an event's start time. As mentioned before, some cloud services may only make a part of the data available to Android. For that reason, it is preferable to import calendars on PC through Mozilla Thunderbird.
Feel free to contact us if you have further questions or suggestions regarding this guide or GeneralSync itself.