AmpliPi icon indicating copy to clipboard operation
AmpliPi copied to clipboard

Feature: Add Zone and Group Based Views

Open linknum23 opened this issue 3 years ago • 8 comments

A Zone or Group based view would naturally be easier to see and control what is playing on a specific room/zone and would make the perfect interface for a room's touch panel controls. The UI would require minimal changes, since an initial prototype would look very similar to an input with only one zone connected.

Some things need to be figured out:

  • What happens when a new input is selected when other zones are also connected to that input?
    • Option 1: Split from the other zones which will stay connected to the old input. The new input only plays on this zone.
    • Option 2: Keep grouping and change all zones to the new input
  • What happens when a new input is selected and it is already being played on other zones?
    • Option 1: Steal the input from the other zones. The new input only plays on this zone.
    • Option 2: Add this zone to the grouping of zones that is playing the selected input.
  • Do we show the other grouped zones? How?

From a low level API standpoint there would only need to be one change we would have to add the concept of a Zone not being connected to a source. Basically if its not connected the zone would need be muted but we would need to keep track of this state.

linknum23 avatar Nov 08 '21 22:11 linknum23

@sumnerboy12 Is this something you would be interested in testing and giving us feedback on? I could probably get a prototype of this working that you could play with sometime in the next couple of weeks.

linknum23 avatar Nov 09 '21 15:11 linknum23

Absolutely!

sumnerboy12 avatar Nov 09 '21 17:11 sumnerboy12

After talking through this with @Lohrer I made some initial concepts, using a rotated tablet view to emulate a wall touch panel. We came up with the concept of embedding all of the different use cases in the selection bar.

Here's a mock up of the simplified interface: Screen Shot 2021-11-12 at 17 39 21

Here's a potential drop down with options to join other currently playing audio sources or connect to a new one: Screenshot from 2021-11-12 17-38-56

(This assumes that the zone is the only thing connected to the current input, if it wasnt we would need the option to split away from other zones connected to the same input)

I hope this makes sense. Its very early on.

linknum23 avatar Nov 12 '21 22:11 linknum23

Looks like a good start.

Do we need to distinguish between a currently playing source and a new one? When thinking about it from a zone POV - do we really care if another zone is already listening to the input we select?

Also , personally I am not a fan of drop down lists with empty and header items - I think it is confusing and almost looks like there is a bug in the list rendering. Everything in a drop down list should be selectable IMO.

If we have to have the distinction then what about something like;

* TV - rca [playing]
* Aleshas - spotify [playing]
* AmpliPi - shairport
* Matt & Kim - pandora
* AmpliPi - dlna

Just a couple of thoughts off the top of my head :).

sumnerboy12 avatar Nov 14 '21 20:11 sumnerboy12

Wanted to add a vote for this feature and also volunteer to test if that's helpful.

Love the early work here - one bit of humble feedback that immediately pops to mind is wanting to maintain UI consistency. With the existing webapp, you've established the "top thing is static, you select the bottom thing" paradigm. (i.e. the input is static, you're shuffling the zones underneath it). In this inverted setup, we'll want to hold the top thing static (the zone) and put the selector underneath.

Its a subtle/minor thing, but may make it more intuitive to the existing layout.

kbromer avatar Jan 13 '22 19:01 kbromer

Thanks for the feedback! We really need to circle back on this soon.

linknum23 avatar Jan 14 '22 13:01 linknum23

As I get used to using the interface as it is, one thing I have come to understand is why ya'll chose an input centric model for the interface. With the unit being "limited" to the 4 input streams, digital or analog, I can see why basing the system on inputs was done.

If the interface changes to be Zone centric it could confuse the issue that one cannot play more than 4 streams across 6+ zones.

I don't have a solution, just wanted to offer that point of view.

bs42 avatar Jan 18 '22 17:01 bs42

The initial intent with this is to handle the use case of having a simplified ui for a room or group of rooms controlled by a wall mounted tablet. I agree that it will obscure the 4 input restriction, but we would like to try it out and see what makes sense for this.

On Tue, Jan 18, 2022 at 12:58 PM bs42 @.***> wrote:

As I get used to using the interface as it is, one thing I have come to understand is why ya'll chose an input centric model for the interface. With the unit being "limited" to the 4 input streams, digital or analog, I can see why basing the system on inputs was done.

If the interface changes to be Zone centric it could confuse the issue that one cannot play more than 4 streams across 6+ zones.

I don't have a solution, just wanted to offer that point of view.

— Reply to this email directly, view it on GitHub https://github.com/micro-nova/AmpliPi/issues/211#issuecomment-1015670693, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAEZPOYUOKV5NXA5IKWQ2N3UWWS5FANCNFSM5HT27TCQ . You are receiving this because you authored the thread.Message ID: @.***>

linknum23 avatar Jan 18 '22 18:01 linknum23