Hi, all. I'm replying to the conversation about synching which was happening here: https: //groups.google.com/forum/#!msg/mylifeorganized/6IPX0WSNwYA/TteMfhEUpA0J I moved it because I didn't think "goodbye everyone" was a good title for what we are discussing.
I want to thank Lisa and ctenorman for thoughtful and constructive posts which attempted to promote better understanding of the issue or maybe move towards a solution. As requested I will attempt to lay out what I have observed, and will also review what I have attempted, so far, to do about it. The first and biggest point is that I have made several attempts to create a small file with test cases where I could reproduce the problem in a simplified context, but I have been unsuccessful. Perhaps because a true test case would probably involve a different cloud sync file as well as a different set of task scheduler entries in Windows and I have never quite had the time it would take to get all of that set up correctly. Before describing the symptoms, here is a little about my setup. The first folder in my outline is "routines" and contains seven repeating projects: daily tasks, weekly, monthly, quarterly and three annual projects: spring autumn and taxtime. Each project repeats as suggested by its name and contains a number of tasks. The tasks themselves are not repeating but are recreated when the project repeats. Advanced recurrence options are set to recur the project when all subtasks are complete and to reset all subtasks when the project recurrs. This means that when I complete the last task in today's daily project the project will reset for tomorrow, with all the tasks ready to go but none of them in "active tasks" until tomorrow. It also means that if tomorrow arrives and there are a couple of tasks I didn't get to, I can just click the project complete and the tasks are all reset to today. This is all functionality that MLO explicitly supports, and it matches quite well with the way that I think about my work. I would be totally happy with all of this were it not for the sync issues. The core of the problem is that about two to three times a week, I will open the daily project in the morning and find that the due date is the day before yesterday. Very occasionally the date will be yesterday but usually its the day before. It's often the case that by the time I notice, I have already ticked off some of today's tasks, not realizing they were actually for the day before yesterday. There's a very high probability that when I get the parent date set correctly, the completed tasks will be reset to uncomplete. For the daily tasks, I usually can remember which ones I did and check them again but every once in a while I get it wrong. (If I was so good at remembering whether I did a task today or if it was yesterday, I would not need MLO as much as I do). I am completely sure of the accuracy of the above paragraph. This next thing I am less sure of, but in the interest of completeness I will mention it: I believe that when I add a new subtask to the daily project and later that day there's a sync problem, that sometimes the new task vanishes. Once every month or two, I will be checking off tasks in the weekly project and discover that it is for two weeks ago. This is pretty similar to the daily problem except that I am much less likely to have an active memory of which monthly tasks I have already completed this month. It happened to me once for a monthly project that was dated for two months prior. If I pay total attention and check the dates of each task before completing it, I can avoid most but not all occurrences of this problem. But my purpose in using MLO is to use less of my brain thinking about the status of my tasks and more of my brain getting them done. The need for this kind of hypervigilance defeats my purpose. The worst thing is that I learned from GTD the value of having a trusted repository of things to do and then letting go of the energy I was spending holding on to my mental lists. In the current circumstance I have to maintain a mental shadow list of what MLO should look like, and continuously check MLO against expected. I experienced real productivity gains after I adopted MLO and learned to let go. I have lost that and I miss it. Here's what I have done about it: 1. I implemented a scheduled task on Windows that launches a copy of MLO with a command-line parameter to force a cloud sync. I wrote this myself before it showed up in the forums, based on the user guide's documentation of command line parameters and my knowledge of the Windows task scheduler. I run this hourly. About once every week or two it fails. My belief is that failure entails a conflict between a foreground copy of MLO and the background copy launched by the scheduler. Symptoms involve windows error messages and reports by the foreground copy that it cannot access the profile file. The most likely time for me to see these symptoms would be first thing in the morning, at which there might be a couple of dozen windows error messages outstanding. It is possible to answer them all, as well as the five or so additional errors that pop up for each one when its closed, but it's usually easier to reboot. I have reported the error messages to MLO support and not heard anything back, which is okay by me because I do not believe MLO was or should be designed to accomodate multiple copies running off of a single profile. The reason I am describing these errors is, this is the reason I do not run the scheduled process more frequently. I believe that I could reduce my sync errors by increasing the scheduled sync to run, say, ten times per hour but I believe that this would lead to increased profile conflicts. 2. For "both sides changed" on Android I set to take the server version. Either answer to this question leads to errors but the errors from accepting server version are easier to fix than the errors from accepting local version. 3. "Autosync on close" is enabled on Android. 4. Sync via wifi only is enabled. I have a 200mb data plan (to save on fees) and another 10-20 mb/month would make a real difference. 5. I do not enable synching on profile switch, because I never switch profiles. 6. "check cloud periodically" is enabled every 5 minutes. 7. I hit the synch icon on Android as often as I can remember to do so. The symptoms I described above are what I get *after* having put these seven steps in place months ago. Here's what I think is happening: A. I think that sometimes, every task in a project has been completed, and some of them are completed on Android awaiting sync to Windows while others are completed on Windows awaiting sync to Android. When the sync is completed in both directions I would like to see everyone agree that all tasks are completed and that therefore the project is completed for this cycle and needs to be rolled to the next cycle. I do not think that happens, at least I do not think it always happens. The results may vary depending on whether the Windows side or the Android side was the first to see the project with all tasks in completed state. B. I think that at least sometimes, completing a task causes the parent to sync. If I change the parent on Android and a minute later (before any sync) change a subtask on Windows in a way that causes the parent to sync, the (unchanged) windows parent will overwrite the changed Android parent and the change from the Android side will be lost. C. In these circumstances it can be devilishly hard to ensure that items (especially project/parent items) are changed only on one side. If they get changed on both sides and the version you want to keep is on Android, the "both sides changed" setting to server guarantees that the desired change on Android will be lost. (note, changing "both sides changed" to use the local copy makes the problems worse, believe me). D. Lisa noted that in the event of a sync conflict, on the Windows side you always get notified and can choose which version to keep. I think most users with an opinion would agree, but it's not always true. Start with the case described in (C) above. When Sync overwrites the good version on Android with a bad version from Windows, the next sync sends the bad update back to Windows. Since the update exactly matches the Windows version no conflict is detected and the bad version is retained, with no notice or choice on the Windows side. E. Along the lines suggested by ctenorman I believe that frequent background syncs on both Windows and Android would reduce (but not eliminate) the window in which an error could occur. Ideally, either side would sync whenever a change is saved to the profile, or whenever unsynched cloud changes are detected. I had asked for this in one of these forums long ago and was challenged by other readers who felt that the storage and processing costs would be exorbitant, and that windows/android performance would suffer. Meanwhile there have been several successful implementations, such as Google Drive and Evernote. I understand that Google can afford unlimited storage and processing for a product with little if any revenue, but Evernote needs revenue the same way MLO does and yet Evernote gets this right. F. I think that maybe a very helpful step would be if I could hit the sync icon right before putting the phone down for the night. Unfortunately I don't often know when that is - I will be working on something, there's an interruption which gets interrupted by something else and I don't get back to it till morning. More often than not, MLO was the active program at the time of the interruption, which means that "MLO Close" never happens and the changes sit there unsynched for hours. Maybe MLO/Android should include an option that if MLO has been the foreground program continuously for more than X minutes, with the "needs sync" icon lit for the whole time and no activity at all, run a sync. G. So long as there is a window greater than zero, sync conflicts may continue to arise. I would like to see either a "pick which version" dialog on Android or have both versions preserved and presented to the user on Windows MLO for a choice, the next time there's a Windows sync. H. I was considering going to Wifi sync - my hope was that whenever there was a sync, both Windows and Android clients would be present and Windows conflict processing could occur. But I see that in Wifi setup there, a setting for always keeping the server version versus always keeping the local version. Whichever option you chose will be correct sometimes and wrong sometimes and when its wrong there will be a problem. So Wifi won't help me. I. It's worth noting that several people recently have posted complaints that wifi sync is one-directional, windows to mobile. In MLO/Windows File>Synchronization>Edit>Advanced there's a dropdown for selecting one versus two directional sync but it does not appear that this would affect wifi. I don't see anything in wifi options for directionality. It would probably be a good thing if we could identify how to control directionality in wifi sync so we could respond to the next person who raises this issue. -- You received this message because you are subscribed to the Google Groups "MyLifeOrganized" group. To view this discussion on the web visit https://groups.google.com/d/msg/mylifeorganized/-/zpLvEPfmkVAJ. To post to this group, send email to mylifeorganized@googlegroups.com. To unsubscribe from this group, send email to mylifeorganized+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/mylifeorganized?hl=en.