I have been thinking about this issue for a few days and I do not have a good answer. I do want to add my voice to the conversation though. The discussion about different use cases and what the words mean to different people who use the product has been interesting for me to watch. I see this often in my job. Product developers and engineers are sometimes surprised when they encounter users who struggle with their products, since it's obvious to them what things mean and do. They also want to get on to the next new shiny thing and not fix something that clearly is working for them or from a technical point of view.
The issue in front of us is about "move" versus "copy" and how to best expose those for the user, how to maintain the code, and translations. This is complex; it's not complicated. Human language is complex in ways that programming languages are not. Programming is complicated, in that it may take many technically-challenging moving parts to construct, but when done (even incorrectly!), you'll always get the same result. Human languages are different. Nuance and synonyms breed complexity, and that's with just a single source language and says nothing about cultural or translation issues. The fact that "move" and "copy" technically complete the same action of transferring the queue from one player to another (or group) but do so differently is not a technical problem. It requires that we define the terms "move" (as destructive) and "copy" (as non-destructive) and agree on those definitions. That much appears to be done. For obvious and good reasons, Craig (presumably) wants easy-to-maintain code. Regardless of his own personal use case preferences, he (again, presumably) also wants to produce a product that is pleasant to use. (It is!) It's also a hobby rather than a paying job, except for those who have donated. (And how many Material users have actually donated?! And even if we all have, it's not like Craig has earned enough to retire comfortably. So this is a labor of love...or labour of love.) There are competing priorities here. Every developer wants clean, easy-to-maintain code; however, that should be balanced against easy-to-use user experiences (UX) and user interfaces (UI). Many definitely feel that the Material interface is pleasant from both a UX and UI perspective; I know I have basically stopped using my other apps and use Material almost exclusively since installing it. If 'move' and 'copy' mean and do different things, then there should be two different commands. That appears to be the case here, except that Move becomes Copy or Copy becomes Move through the use of a setting. That can be confusing to users, even if the UI is simplified as a byproduct. By condensing the two options into a single, changeable menu item, the UI and code remain simple. However, the complexity increased for the UX for those people who expect a different result. Needing to go into the settings to change Move to Copy or Copy to Move after we've already most likely chosen the wrong action is not ideal UX. And that's even if we remembered we needed to change the setting in the first place. The translation burden also increased, since there isn't a way to have two separate strings. The complexity further increases because the tooltip text becomes the UI strings in the mobile interface. So, how does one manage the competing interests here? I don't know. I am sympathetic to users, including translators, who struggle with the language in the UI, just like I sympathize with Craig and his desire to move on to the fun bits of coding and not get bogged down in discussing the nuance between competing UI space and features. My use case, like others, is to (almost) always copy. I usually copy rather than move because I would never leave a player without a queue. That's my workflow, one that I have used for 13 years. Others clearly use their systems differently. And that is one of the many strengths of the Squeezebox ecosystem. Of course, if there's an easy way allow both Move and Copy to be independent that is pleasing in the UI, I know many of us would appreciate it, since sometimes we move, sometimes we copy, and sometimes we translate. To be clear, I am not expecting any action or changes in the code. It's not my project. Again, this discussion is interesting for me from a professional perspective. ------------------------------------------------------------------------ prabbit's Profile: http://forums.slimdevices.com/member.php?userid=11142 View this thread: http://forums.slimdevices.com/showthread.php?t=109624 _______________________________________________ plugins mailing list [email protected] http://lists.slimdevices.com/mailman/listinfo/plugins
