iPhone: attachments and synch

Viewing 5 reply threads
  • Author
    Posts
  • December 25, 2013 at 5:07 PM #8485

    Jon Blackman
    Participant

    I added the iPhone app and it works beautifully. However, I have one request. I am building a library of exercise routines, and I need to access the music and the choreography at the same time. I can do this by Tap Forms + iTunes, but I was hoping to listen to the attachment on Tap Forms while I view the text on the same Tap Forms record. Bento had the same limitation, so this may not be possible.

    Also, on testing the synchronization rules, it appears that synchronization is manual both on the Mac and iPhone, with the sending device overwriting the receiving device on a field by field basis. Is this correct? Is it possible to enable synchronization continuously, like Contacts, or perhaps on opening and closing? I plan to use multiple devices, and I am not likely to always remember to synch after I make changes.

    Thanks.

    December 25, 2013 at 6:55 PM #8486

    Brendan
    Keymaster

    Hi Jon,

    Ya, Tap Forms wouldn’t let you listen to a file and view a photo in the same record at the same time. They’re accessed on different screens.

    iCloud sync still is a half manual, half automatic process. The device you tap the upload to iCloud button on will send its data up to iCloud. The data will consist of all the data that has changed on that device since the last time you tapped on the upload to iCloud button. The other devices will receive the changes and apply the update only as long as you haven’t modified the same values locally at a later time than you did on the device you initiated the upload to iCloud from. What this means is the value on whichever device has the most recent modification date will win. So if the device you upload to iCloud on has a newer modification date, that value will overwrite the same values on all other devices. But if any of the other devices has a more recent modification date, then that value will not be overwritten. Eventually when you tap the upload to iCloud sync button on those devices, the first device will have its values overwritten.

    Hope that’s not too confusing sounding.

    Having a complete auto-sync in both directions is something I would like to add for a future update but I haven’t found a way to properly handle the multitude of sync files that will accumulate faster in your iCloud folder if I do that. By making the user initiate the upload to iCloud process, this limits the number of sync files that get sent up to iCloud. Each sync file that Tap Forms generates is at a minimum about 25 KB. So even if you change just one character and upload that to iCloud, that’ll use up 25 KB of data in your iCloud account. The reason for this is because each sync file is actually a small version of an SQLite database file. There’s extra information in those files that go along with just the single character that you may have changed.

    Doing a Reset iCloud Sync occasionally will clear out all these little files.

    Thanks,

    Brendan

    December 25, 2013 at 7:55 PM #8487

    Jon Blackman
    Participant

    Thanks. Makes sense. I was wondering what the Reset iCloud Sync option would do. I think what I would like would be to automatically sync as I opened any of the applications and sync again on closing, if there were changes, and then automatically reset iCloud every X number of syncs. Therefore I could set this up once and never have to think about it again. But there may be other considerations that I am not aware of. The workaround is to try to remember to do this manually, which works. Just not as elegant as Contacts, Calendar, etc.

    December 25, 2013 at 11:41 PM #8489

    Brendan
    Keymaster

    Contacts and Calendar use different services on the server side than Documents & Data, which is what Tap Forms uses. All I have access to is a file storage area. There’s no logic on the server side which can process my sync files. With Contacts and Calendars, Apple can take your changes and manage a database using programming logic on their servers. So it’s easy for them to keep things in sync. Tap Forms has to do all comparisons and processing of changes on each separate device that is part of the Registered Devices sync pool.

    Bottom line… iCloud sync is a tricky bastard. :-)

    December 25, 2013 at 11:50 PM #8493

    Brendan
    Keymaster

    The biggest problem right now that I see with iCloud sync is the delay that exists when sending data from one device to the next. It’s so random. It’s very frustrating because some times it’s almost instantaneous and other times it can take 10, 20, 30 or more minutes to send the sync files from one device to another. So then users get confused thinking it’s not going to sync and then they do things like uninstall, re-install, reset iCloud sync, tap furiously on all the sync buttons on all the devices thus exasperating the situation. I agree that a set it and forget it approach would definitely be great to have.

    I’m hoping to build a Dropbox sync solution as an option in the new year. But Dropbox doesn’t offer the same ease of moving files around as iCloud does. With iCloud all I need to do is copy files to a special location and it then handles uploading the data to Apple’s iCloud servers for me, even if Tap Forms isn’t running. Then when Apple’s iCloud servers send the files to the other devices, Tap Forms gets a notification from iCloud that there are files for it to process. That’s when you see the “Processing Changes from iCloud” message appear in the status bar on iOS. Or the Syncing message on OS X. If that doesn’t happen, then that’s because iCloud hasn’t notified Tap Forms that there are files for it to process. Dropbox seems to be more reliable to me than that. If I make a change to Dropbox from my iOS device, almost immediately afterwards I get a notification on my Mac that a new file has been saved there. It’s quite brilliant really. But the Dropbox Sync API isn’t production ready on OS X yet apparently.

    December 26, 2013 at 1:09 PM #8507

    Jon Blackman
    Participant

    Thanks. That helps. I have been testing the sync this am. Here are my observations:
    – When one device pushes a sync to the cloud, the sync on the second device occurs automatically on opening the application. So far this has been taking about 2 seconds, but according to the info above, it may be longer. Therefore there is never a need to sync the application manually on opening. However, it seems reasonable to wait and observe if the sync takes place before entering data if there could be a conflict.
    – The sync seems reliable as long as there is a minute or two between syncs. If syncs are done very close to each other, newly entered data can be overwritten. This is not usually an issue in a real world environment.
    – Manually syncing before closing an app seems like a good practice if you anticipate entering data soon on another device.

    December 28, 2013 at 8:56 AM #8526

    ArsAstronautica
    Participant

    “- Manually syncing before closing an app seems like a good practice if you anticipate entering data soon on another device.”

    Right. If you’ve updated the database during a session, then triggering a manual update will push the changes to the other devices and thus the new data will transferred to them. If I make a large update, I will usually make sure I open TF on my devices and give them time to catch up.

    While an auto-update feature is a nice idea, I also like the idea of disabling it while making large scale database changes and the, when finished, pushing them all to iCloud.

    iCloud is a bit easier in traditional apps with a “save” command. The app can simply wait until a save is issued and then push the new data to iCloud. Since TF continuously updates the DB, it means lots of data transfers between iCloud and TF if auto-syncing is on.

Viewing 5 reply threads

You must be logged in to reply to this topic.