View Issue Details

IDProjectCategoryView StatusLast Update
0011279MMASynchronizationpublic2013-10-28 10:54
Reporterrusty Assigned To 
PriorityurgentSeveritymajorReproducibilityalways
Status closedResolutionfixed 
Product Version1.0.4 
Target Version1.0.4Fixed in Version1.0.4 
Summary0011279: Bidi sync can be confusing
DescriptionIf the user either adds a new Playlist to MMA or a new Track (e.g. via UPnP download), then Sync results are somewhat confusing, and a bit buggy (all of this assumes that 'Delete tracks not on the sync list' and 'Auto sync new files and playlists from the device to the PC' are enabled).

1 Upon initiating the sync user is prompted to both
- accept deletion of the track/playlist from the device
- accept the track/playlist copied from the device to the PC

--> Tracks are deleted from the device, and copied as a child playlist of Recently Added Content
--> (1) Playlist contents are removed from the device, but the playlist isn't deleted!!
--> Playlist is copied to the root Playlist directory

2 If the user immediately syncs again s/he is promted to:
- Copy the deleted Track/Playlist back to the device, with the tracks/playlists disabled by default.

3 If the user clicks 'Yes' without enabling the relevant playlists
--> (2) the content/playlists still copy/update on the device!!

(3) The overall workflow may be technically correct, given the fact that the user has enabled 'Delete tracks not on the sync list', but from a user's perspective, it doesn't make any sense to sync content to the PC if the user's intent is to delete it from the device. In fact, there are probably 3 scenarios that make most sense for new content on the device:
a) Keep the content in MMA but don't sync to MMW
b) Keep the content in MMA and sync it to MMW
c) Delete the content in MMA and don't sync it to MMW
The current default behavior of Deleting the content in MMA and syncing it to MMW is almost never desirable. I would propose that the desired outcomes usually are:
-Playlists: don't delete from the device by default; and add to the sync list
-Tracks: delete from the device by default, and don't add to the sync list

(4) The next issue is that the UI for achieving the proposed action described above is confusing because:
a) Some users don't notice the multiple screens that span the confirmation dialog. This can be alleviated by forcing the user to press <Next> to advance through each screen before they click Yes/No in response to the confirmation dialog.

b) Even for users that do see the screens, it's difficult to relate the multiple actions that are applied to a single file, because the actions are spread across multiple screens. e.g. 1 screen will indicate that the file is deleted, and another will indicate that it's being synced, but in a list of files, it's hard for a user to perceive what actions are applying to which files in cases where multiple actions are being applied. TBD.
TagsNo tags attached.
Fixed in build170

Relationships

related to 0008808 closedLudek MMW v4 Improved bi-di sync implementation 
parent of 0011387 closedmarek MMA Auto-sync deletes tracks that are on bi-di sync list 
related to 0011332 closedmarek MMA 'Yes' and 'No' in sync confirmation dialog are unclear 
related to 0011434 feedbackrusty MMA Directly edited playlists in MMA can't be replaced with original version from MMW in some cases 

Activities

Ludek

2013-09-17 09:17

developer   ~0037571

Last edited: 2013-09-17 09:25

Rusty, I disagree that "Deleting the content in MMA and syncing it to MMW is almost never desirable".

It is very desirable if e.g.
- I want to move content from the device to the PC (to save device space)
- I download a UPnP track to the Downloads directory and I want it to move to the Music directory (according to the file locations option in MMW). In this case it works perfectly, because it copies the downloaded track to MMW and then "auto-organize" it to the Music directory on the device (to be consistent with the other music content)


So from my perspective all four scenarios are desirable and each of this can be
achived by enabling/disabling relevant options:

a) Keep the content in MMA but don't sync to MMW
(deletion: DISABLED, bi-di: DISABLED)

b) Keep the content in MMA and sync it to MMW
(deletion: DISABLED, bi-di: ENABLED)

c) Delete the content in MMA and don't sync it to MMW
(deletion: ENABLED, bi-di: DISABLED)

d) Delete the content in MMA and sync it to MMW
(deletion: ENABLED, bi-di: ENABLED)

jiri

2013-09-17 12:01

administrator   ~0037575

Last edited: 2013-09-17 12:53

My understanding of these two options is that:
 - 'Auto sync new files and playlists from the device to the PC' means that new files from device are synced to PC _and_ that they are added to the sync list.
 - 'Delete tracks not on the sync list' thus doesn't apply in this case, since the files _are_ on the sync list now.

Which would imply that Rusty is right that the current behavior is incorrect.

After further IM discussion with Ludek and Marek, we agreed that:

1. Is incorrectly implemented. It should:
 a. Show the new track (checked by default) to be synced to PC.
 b. Don't show the track to be deleted from MMA.
 c. If user unchecks the track from sync to PC, there will be a new confirmation shown next to this one (and hidden again, if user checks the track to be synced to PC). It will specify whether to delete or not this track from device.

 So, if user doesn't change the defaults, the track will be uploaded to PC and _not_ deleted from the device.

2&3. It's unclear how/what exactly did happen, let's review after 1. is implemented.

(3). Is a little unclear to me, but I suppose that after 1. is implemented properly, this will no longer be an issue and both Playlists and Tracks will by default 'don't delete from the device and add to the sync list'.

(4).
 a) Marek suggested that he'll try to make it more clear that there are more things to confirm.
 b) Probably won't be an issue after 1. is implemented.
 c) (related to a) Marek suggested to show a summary line, something like 'Delete: 2, Update: 10, Upload: 0'.

rusty

2013-09-17 13:17

administrator   ~0037576

Last edited: 2013-09-17 13:37

Re. 1.b. Don't show the tracks to be deleted from MMA:
I assume you mean only in the case where bidi sync is enabled.

Re. (3) Ludek is right that it d) (Delete content in MMA/Sync it to MMW) is useful for users that want new content to be automatically transferred to the server to save space. BUT, with the current default configs, the subsequent sync operation will copy that content back to the device, and in most cases the user won't even understand why that occurred.

At the same time, Jiri is correct that the current wording of the bidi sync options ('Auto sync new files and playlists from the device to the PC'" implies that the content is _synced_ rather than just transferred.

So the root issue is that the scenarios b and d are actually:
b) Keep the content in MMA and copy it / sync it with MMW
d) Delete the content in MMA and copy it to MMW
But the UI doesn't distinguish between copy and sync.

The proposal re. issue (1) sounds like a good way of dealing with both cases.

marek

2013-09-24 19:25

developer   ~0037652

1. I remade the dialog to dynamically show and hide items in Deletions tab. When item is checked in Upload tab, it is hidden in Deletions. Otherwise, it is visible. I have also added a small confirmation when track is unchecked in upload tab.

(4).

a)I tried to improve the view pager to show part of adjacent pages but it wasn't so easy as it looks and it needs more effort. I will do it if necessary. It will be something like this: http://stackoverflow.com/a/12286698/491289

c)I added a summary bar so it is now clear how many items are checked.

(5).

I have also changed the wording. Please check it. I renamed the "New items & playlists" tab to "Upload" because of unification with meaning of titles of other tabs.

1.tab: Title: Deletions
       Content of list: Unsynced or never synced tracks and playlists
       What is checked: Tracks and playlists that will be deleted ... it is related to title

2.tab: Title: Updates
       Content of list: Changed playlists
       What is checked: Playlists that will be updated... it is related to title

3.tab: Title: New files & playlists
       Content of list: new files & playlists on device ... THIS IS RELATED TO TITLE
       What is checked: Tracks and playlists that will be uploaded... THIS IS NOT IN TITLE

So 2 tabs have in title what is checked in list but one has what is whole content of list. So I changed it to "Upload". The other reason is that we need single word title. More details can be described in details message under the title. So please review the wording and let me know.

rusty

2013-09-25 21:02

administrator   ~0037677

(1) fixed
(2) fixed
(4) fixed--the status bar at the bottom helps

Re. (3), in the case where (deletion: ENABLED, bi-di: ENABLED), there are still some usability problems with the UI for cases where the rules (Deletion/BiDi sync) conflict:

If a new playlist is created on the device
--> By default MMA prompts to Copy it to MMW and adds it to the sync list. BUT:
i) If the user wants to delete the playlist instead, they are prompted to delete it upon deselecting the track, and when the user clicks 'Yes', the track is added to the Deletions tab BUT it:
- isn't enabled in the deletions tab
- isn't removed from the Updates tab

ii) On subsequent sync operations, the user is again prompted to Copy the playlist to MMW, with the operation Enabled by default. This means that the user either will end up copying it by accident, OR have to manually uncheck it on every sync.

A possible solution would be to modify the default setting on a per-track basis, but this might be too onerous.


Similarly, if a new track is added to the device
-->By default MMA prompts to delete it. BUT:
iii) If the user disables the checkbox, they're not prompted to Sync the track. i.e. there's no means of automatically syncing tracks newly added to the device despite the fact that bidi sync is enabled!!

This can be solved via an implementation similar to that implemented for Playlists.

iv) As with ii) above, on subsequent sync operations, the user is again prompted to delete the track, with the operation enableed by default. This means that the user will either end up deleting it by accident, OR have to manually uncheck it on every Sync.


In general, I suppose if we fix the above, we'd have a workable solution, but I think that a more elegant solution might involve a single screen that allows the user to choose from among multiple states for each track, and saves the last chosen state.

marek

2013-10-02 14:42

developer   ~0037728

Partly fixed in build 168

i) I have fixed issue with listviews, checking on wasn't working always. So it is now enabled on deletions tab.

But it isn't hiding because my proposal was to make it one way. Only deletion is confirmed. But it will be better to make it as you suggest - both ways. Please confirm following scenarios:

A) item is checked in upload (hidden in delete) -> user unchecks in upload -> delete confirmation -> YES -> item is hidden in upload -> checked in delete (case C)
B) item is unchecked in upload (hidden in delete) -> user checks in upload -> delete confirmation -> NO -> item is hidden in upload -> unchecked in delete (case D)
C) item is checked in delete (hidden in upload) -> user unchecks in delete -> upload confirmation -> YES -> item is hidden in delete -> checked in upload (case A)
D) item is unchecked in delete (hidden in upload) -> user checks in delete-> upload confirmation -> NO -> item is hidden in delete -> unchecked in upload (case B)

The only question is what to do after dialog shows and item should be in both pages deselected. I.e. it should be hidden in one tab. I would prefer case B before D, i.e. hide item in delete tab, user will see it for upload and upload page is the default page.

ii) fixed

iv) same as in ii)

rusty

2013-10-03 15:42

administrator   ~0037739

i) The proposal looks fine (on paper at least), I hope it won't be too unwieldy--a three-state checkbox might be simpler, but we'll see.

As far as the case when Update and Delete are deselected for a particular track, I think that both can be displayed. As soon as one is checked, the other can be hidden.

marek

2013-10-07 11:03

developer   ~0037793

Last edited: 2013-10-07 11:06

Fixed in build 169

Item is now hidden only when checked in other tab. So scenarios were adjusted to cover all possible usecases:

A) item is checked in upload (hidden in delete) -> user unchecks in upload -> delete confirmation -> YES -> item is hidden in upload -> checked in delete (case C, case D)
B) item is checked in upload (hidden in delete) -> user unchecks in upload -> delete confirmation -> NO -> unchecked in upload -> unchecked in delete (case E, case F)
C) item is checked in delete (hidden in upload) -> user unchecks in delete -> upload confirmation -> YES -> item is hidden in delete -> checked in upload (case A, case B)
D) item is checked in delete (hidden in upload) -> user unchecks in delete-> upload confirmation -> NO -> unchecked in delete -> unchecked in upload (case E, case F)
E) item is unchecked in upload and in delete -> user checks in upload -> item is hidden in delete (case A, case B)
F) item is unchecked in upload and in delete -> user checks in delete -> item is hidden in upload (case C, case D)

I've also added an animation when items were hiding. So in combination with status bar at the bottom, it is more intuitive to see what is going on with the item.

rusty

2013-10-09 07:27

administrator   ~0037808

I just tested the following (case C, I think):
- Bidi sync and deletion enabled
- Add a new track A to MMA (download via UPnP)
- Sync
--> Confirmation dialog appears, prompting deletion of Track A
BUT enabling/disabling A gives no means of uploading Track A!

marek

2013-10-09 08:47

developer   ~0037811

Last edited: 2013-10-10 08:51

If you were downloading from MMW via upnp or file was already in library, this is a correct behaviour. The file is not new. It is in MMW library. It is only not on synclist and that is why it was tagged for deletion.

rusty

2013-10-09 13:33

administrator   ~0037817

ahh...mma didn't have this level of intelligence in previous builds. Re-resolving.

rusty

2013-10-09 14:29

administrator   ~0037818

Re-tested case c) and observed the following:
1 Bidi sync and deletion enabled
2 Add a new track A to MMA (download via UPnP)
3 Sync
--> Confirmation dialog appears as expected (letting the user delete track A from the device OR upload it to the server.
4 Choose upload option
--> Track is synced and added to sync list (as verified on the server)
5 Sync again
--> User is prompted to Update the 'Recently Added Content' playlist on the server, even though no change has been made!
6) Enable 'Recently added content' update, and click yes
--> Status indicates that playlist has updated
7) Sync
--> User is prompted to Update the 'Recently Added Content' playlist on the server, even though no change has been made!

marek

2013-10-10 08:49

developer   ~0037836

This is known issue with 'Recently Added Content' playlist. It was partly fixed in MMW 1662.

It is completely fixed in MMA 170, MMW 1663

rusty

2013-10-11 17:05

administrator   ~0037876

Last edited: 2013-10-11 17:16

Re-tested case c) with MMA 170 / MMW 1663 and the issue mostly remains. i.e.

1 Bidi sync and deletion enabled
2 Add a new track A to MMA (a track that isn't in the MMW library) by dragging it to /Music via ES Explorer
3 Sync
--> Confirmation dialog appears as expected (letting the user delete track A from the device OR upload it to the server.
4 Choose upload option
--> Track is synced and added to sync list (as verified on the server)
5 Sync again
--> User isn't prompted to Update the 'Recently Added Content' playlist on the server. i.e. the bug appears to be fixed
6) Sync again
--> User is prompted to Update the 'Recently Added Content' playlist on the server, even though no change has been made!

In other words, the bug appears to be fixed for the first sync operation after the initial sync, but on the next sync operation, the bug occurs.

rusty

2013-10-11 20:28

administrator   ~0037886

Resolving--can't replicate.

peke

2013-10-28 10:54

developer   ~0038073

Verified 177