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

Reply via email to