Jump to content

Check this thread for updates on Enhanced Syncing


Sean Nelson

Recommended Posts

Current projections show that we are closing in on a beta version of enhanced syncing. We will post updates in this thread when we are ready to announce the start of the beta test. If you have not already signed up to become a beta tester and would like to test enhanced syncing when it is available, please message @Dr. Nathan Parker to be added to the list.

  • Like 9
Link to comment
Share on other sites

  • Dr. Nathan Parker pinned this topic
  • 1 month later...

I haven't posted on the forums much lately because I've been giving my full focus to the improved syncing feature for what feels like forever.  I've mostly been leaving the forums and bug fixes to my coworkers.  I wasn't even aware of this thread until today, but now that I am, I thought I'd better post a status update since it's taking so long.

 

The main improvements to syncing are:

  • Syncing to our own servers (no need for third party account like dropbox).
    • Server side code - Done.
    • The app code that interfaces with our servers - Done.
    • User intereface for syncing in the app - In Progress, see below.
    Syncing the Library - This is what I'm working on now.
    • The reason we've never synced Library Organization is that the library has no idea if the actual file for a module is present on your hard drive until you try to open it.  I need to change that, because it would be frustrating to sync your library to a new device, and then get a "missing module" error when you try to open something that you hadn't yet installed with easy install.
    • In other words, the library needs to be improved before it can be synced.  The improvements I'm working on are:
      • If a module is in the library but not on disk, it will be grayed out with an option to download it -Still working on this
      • The library will function as the primary user interface for syncing, with icons indicating whether a user file is synced or in the process of uploading or downloading, and buttons to offer options in the event of a syncing conflict - Still working on this
      • The entire library will be stored in a single file instead of being split across four different files as it is now - Done. 
        • This change lent itself to a couple of other changes:
        • Users will be able to have multiple different libraries that they can switch between, which they can set up to have different sets of the modules they own. 
        • "User Group" will be synonomous with "Library" and existing user groups will be converted to this new library file format.
        • Users will no longer be prevented from putting tools in the same folders as texts in their library.
        • Users will no longer be prevented from having the same module to appear in more than one library folder.
  • Syncing of app preferences - Done.
  • Syncing imported texts and converted user tools - Mostly done. The plan is that these will be stored in an Accordance Files subfolder moving forward.

 

Anyway, I'm hoping to have a testable version to my coworkers soon, and God willing, there won't be many bugs to sort through before we can get it to you guys.

  • Like 19
  • Thanks 12
Link to comment
Share on other sites

  • 3 weeks later...

Time slips by so fast, so I thought I'd give another update.

  • Syncing the Library 
    • If a module is in the library but not on disk:, it will be grayed out with a button to install it
      • It is grayed out - done
      • Download button - added but still working on code to make it do something
      • Download button will also show up if an update for the module is available.
  • The library will function as the primary user interface for syncing - this is still my main focus
    • Button to refresh the sync status on the "My Stuff" folder - added and working
    • loading icon to indicate the sync status of a file is being checked - done
    • icon to indicate that a file is in sync with the server - done
    • progress bars to indicate a file is uploading or downloading - Still working on this
    • I'm still trying to determine the best way to handle propogating deletions:  
      • At first I was going to have deletions propogate automatically - that is, a user file that is deleted would be removed from the server as well, and then subsequently be removed from any other devices that syncs with the server. 
      • Now I'm thinking that when you delete a local file, it will be removed from the device and then grayed out, with an option to propogate the deletion to the server, or to redownload from the server.  This is a little more complicated to code, but it protects against the possibility of unitentional deletions.  This is also somewhat similar to how other syncing software seems to handle it.

 

Sorry it's taking so long.  I know this was promised to everyone a long time ago, and I'm working as fast as I can.

 

I'm going to unlock this thread so you guys can give feedback.

  • Like 10
  • Thanks 1
Link to comment
Share on other sites

  • Silas Marrs unlocked this topic

Thank you for the detailed update. It is appreciated probably more than you know.

 

I like your thinking on the deleting a resource only on one device as you noted. I have a desktop with a large internal storage and have all my resources loaded on it. On my laptop I have a much smaller drive and often will not have large graphical resources on it. I do, however, want the user notes and other items to be synced. 

  • Like 3
Link to comment
Share on other sites

@Silas Marrs Thanks for the update.  Quick question: Once the library syncing is complete, if I organize my library on my desktop, will it automatically organize it on my Macbook when I sync?

Link to comment
Share on other sites

6 minutes ago, TyreeWD3 said:

@Silas Marrs Thanks for the update.  Quick question: Once the library syncing is complete, if I organize my library on my desktop, will it automatically organize it on my Macbook when I sync?

 

That's the plan.

  • Like 3
Link to comment
Share on other sites

I prefer you make deleting local files easy and the copy of the same file on the server only deleted after a series of hurdles:

 

1. Do you really want to delete "filename"?

2. You are about ready to delete a master copy"filename"--do you still want to do it?

3. I have asked two times if you want to delete an only copy of a possibly precious file. This is the third chance to avoid a highly regrettable decision--no undo is available! Do you still want to delete "filename"?

 

You get the idea.;)

 

--Joseph

  • Haha 1
Link to comment
Share on other sites

I am really looking forward to this. I go between 2 Macs, an iPad, and an iPhone all the time for different purposes in teaching. I know this is not true for everyone, but it certainly is something that will make things much easier for me.

  • Like 4
Link to comment
Share on other sites

I know we all have been waiting for this, but take the time to do it right. I would prefer the ability to delete a file from one device without it automatically deleting it from the other devices. As mentioned, it could save for some undesired loss of a file. At least one would have the opportunity to review his delete decisions. Or at least take the advice of @Solly and make sure we have not stayed up too late at night and half-sleepily delete weeks of work. 🙂

 

Link to comment
Share on other sites

6 hours ago, Silas Marrs said:

Now I'm thinking that when you delete a local file, it will be removed from the device and then grayed out, with an option to propogate the deletion to the server, or to redownload from the server.  This is a little more complicated to code, but it protects against the possibility of unitentional deletions.  This is also somewhat similar to how other syncing software seems to handle it.

 

Brainstorming this. How does this sound?

 

  • Right-click on file
  • Click Delete
  • Dialog pops up saying "The File will be deleted from your machine" with a check box that says "Also delete file from the server"
  • Clicking the check box produces a second dialog that says "Are you sure you want to delete the file from the server? Doing so will delete the file permanently and it cannot be recovered!" Customer clicks Delete to confirm they want to do this
  • Customer clicks delete again back at the original dialog box
  • It requires both clicks to ensure the file is deleted from the server

Is there a way to add a "trash" section to the synced files at AccordanceBible.com where a user could go back and recover a deleted file for maybe 30 days? Dropbox has something similar.

  • Like 3
Link to comment
Share on other sites

13 hours ago, Silas Marrs said:

I'm still trying to determine the best way to handle propogating deletions

 

Another option to consider is to have two separate commands in the client, similar to what the Kindle does: "remove from device" (which only deletes the local copy) and "permanently delete" (which also deletes the item from the server and propagates the deletion to other clients). In addition to the name of the command itself conveying the relative sense of danger ("remove" vs. "delete"), all the extra "Are you really sure?" prompts (which I agree is a good idea) can be isolated to the truly destructive command ("permanently delete") and not inconvenience users of what will almost assuredly be the more commonly used, nondestructive command ("remove from device").

  • Like 1
Link to comment
Share on other sites

  • 3 weeks later...

I’m not that concerned about syncing modules- all I really, really need to sync are My Notes across all my devices.

Link to comment
Share on other sites

How is that we cannot sync through iCloud yet? It is time to drop dropbox and over and iCloud option as well.

Link to comment
Share on other sites

5 hours ago, Louis DeSiena said:

How is that we cannot sync through iCloud yet?

 

Unfortunately, we will never be able to use iCloud as an option.

 

The only way Apple would allow us to offer iCloud as an option is to move our app 100% behind the Mac App Store, plus they wouldn't allow us to offer iCloud syncing with our Windows app (even though Apple offers iCloud for Windows).

 

If we were to do this (we even tried a Mac App Store version once but had to pull it), we'd have to give a ton of control over to Apple on how the app would function. Apple requires a lot of "sandboxing" and other requirements that would break critical functionality on Accordance, and we'd be at Apple's mercy for when updates are released, etc.

 

It would diminish the user experience for us to cede that much control over to Apple simply for the sake of adding iCloud support.

 

We're better off rolling our own solution in which we, no one else, is in the driver's seat. Then we can make adjustments based on customer feedback ourselves without being tied to any third party.

  • Like 7
Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...