MirrorSync – The first synchronization tool reviewed

In reviewing synchronization tools there are three primary competitors, MirrorSync, GoZync and SyncDek. I’ll post our review of those three first, and then get to the newer products in the latter posts.

Mirror Sync is made by the great folks over at 360Works and has been around since early 2012. They are up to version 2.109 (released June of 2014) and it has grown and gotten better with age. Version 2.109 is the version tested and all comments will be regarding that version.

As a reminder, we are testing all synchronization tools on the default Invoices starter solution, which includes 6 tables by default with no more than 40 fields in any one table. To get the larger field counts for the speed tests we would add 10 additional fields to the one large table already present (customers).

From Patrick (our intern and tester, you can read more about our testing process in our last post.):

Unique Features

Throughout their website 360Works boasts that MirrorSync is very easy to setup and that it should not take more than an hour to start syncing data. Out of the three this is the only one that gives an estimated time on how long it will take to setup.

It also goes on to talk about how fast MirrorSync’s syncs are.  It achieves this speed by using web communication to transfer data so that it does not have to worry about layouts or scripts. Along with that it uses multithreading to read changes from the server and user at the same time to cut down on sync times.

Another useful feature is that there is no limit to the amount of data that can be transferred during a sync, which could come in handy especially if there are many large container fields.  MirrorSync gives a lot of control over what does and does not get synced on a mobile device. Meaning that users can add their own record-filtering and editing logic before anything is done to the records.

MirrorSync is free and comes with server and one device license, to add more it is an additional $95 per device.

When it came time to integrate, these were Patrick’s thoughts:

Integration Test

MirrorSync was by far the easiest tool to integrate of the tools tested. The MirrorSyncConfigClient was very straight forward with creating a new integration. Although there was a bit of difficulty in getting a deployed version of the database. Besides that it was simple to integrate, it amounted to pasting a few tables, scripts and layouts into the FileMaker solution and then making sure that each table that I wanted to sync had a corresponding sync layout. It took me a total of one and a half hours to be able to sync data from the mobile solution. The majority of the time was spent figuring out how to download a copy from the server because all of the ways they suggested in the client were not working.

Editor note (The download issue has since been resolved)

If I were to integrate with MirrorSync again it would probably only take about half an hour to an hour. All in all a very simple set up process except sending out new improved versions is more difficult than some tools.

We then ran some speed tests. Charts are below, one important thing to note on container field testing. There is a setting to change the threshold MirrorSync uses to determine when to use open remote for container fields (open remote should be faster for large files).

From Patrick:

After finding the variable in the mirrorSync script I proceeded to change the values to see if changing it changed the sync times. When I set it equal to 0 (telling it to always use open remote) it did end up running faster but it also ended up stalling when it tried to sync one 512 mb record. Then I set it to 128000000 (128 mb) to see if it made a difference. Compared to the default value of 1000000 it did run faster until it synced the 512 mb record.

Our feeling is that as with all things, control is nice, but a good understanding of your data would be vital if you were to change the default setting.

Pulling From Server
50
Records
100
Records
500
Records
1000
Records
5000
Records
10 Fields 9 seconds 20 seconds 1 minute 14 seconds 2 minutes 25 seconds 11 minutes 51 seconds
50 fields 9 seconds 21 seconds 1 minute 19 seconds 2 minutes 42 seconds 12 minutes 47 seconds
Pushing To Server
50
Records
100
Records
500
Records
1000
Records
5000
Records
10 Fields 7 seconds 7 seconds 31 seconds 55 seconds 4 minutes 16 seconds
50 Fields 6 seconds 8 seconds 31 seconds 1 minute 16 seconds 5 minutes 49 seconds
Container Speed Tests
File Size 50
Records
100
Records
500
Records
1000
Records
1 mb 1 minute 59 seconds 4 minutes 29 seconds 19 minutes 39 seconds Not Performed
16 mb 26 minutes 21 seconds Not Performed Not Performed Not Performed
128 mb 9 minutes 41 seconds
(Only 2 records)
Not Performed Not Performed Not Performed
512 mb 27 minutes 53 seconds
(only 1 record)
Not Performed Not Performed Not Performed
1 gb Not Performed Not Performed Not Performed Not Performed

As this was our first tool to test, this will provide a baseline for us to compare other tools against moving forward. As we get more tools to compare with, charts will be made for better visual comparisons.

Next we wanted to compare features. In choosing features to list and compare, we tried to focus on features that were quantifiable and concise, but weren’t covered in other analysis. For MirrorSync they provide (what we consider the preferred answer is in green, the less ideal answer in red):

Features
MirrorSync
The ability to choose what fields to synchronize Yes
Tools to help deploy local offline copies Yes
Developer can control the synchronization direction Yes
Synchronizes container fields Yes
Provides field level merge to manage conflicts Yes
Supports Server to Server synchronization Yes
Open Remote required No
Requires UUID No
Deletions synchronize both directions Yes
Requires additional hosted files No
Resume incomplete synchronization Yes
Requires FileMaker Server Yes
Field level conflict management Yes
 Approximate first time to integrate  1 Hour 30 Minutes
Time to integrate once familiar 30 Minutes

We’ll continue to test and report on a new product each week. If you’d like us to expand our testing to include something you feel we may have missed, or just want to chime in with your thoughts or say something nice about MirrorSync or 360Works. Please leave a comment below.

Court Bowman

Author Court Bowman

Court Bowman has been working with in the IT field his whole life, working as a network engineer, database developer in Oracle and Progress and as a IT director for several firms. He has been working with FileMaker Pro since version 2 and has been a reoccurring speaker at the FileMaker developer conference. Apart from his expertise in FileMaker Pro he has experience in system architecture and design, data modeling and database architecture. He also has years of experience as a process and workflow consultant and has helped with the design and deployment of hundreds of systems in FileMaker and on the web.

More posts by Court Bowman

Join the discussion 6 Comments

Leave a Reply

All rights reserved Cleveland Consulting.