Layer List TOC ideas

4636
8
Jump to solution
11-06-2015 12:30 PM
KevinMacLeod4
Frequent Contributor

I am interested in knowing if anyone else thinks the following TOC ideas would be good to add to the Layer List widget and even ArcMap Desktop:

1. This applies to both ArcMap Desktop and any web layerlist widgets: If only SOME layers in a group are on, the parent checkbox should reflect this state by becoming a partially-checked checkbox. Like Windows does for example dialogues.  (a smaller square dot inside the checkbox)

2. If you control-click a layer, it should turn all other layers on in the group (or all layers if there are no groups). In the LayerList widget.  Just like ArcMap.

3. Transparency slider on TOC in Web App Builder.  And the beta TOC in API 3.14. (implement just like AGS JS TOC; ie transparency slider as an option to enable/disable per layer)

4.  Another idea that could apply to both ArcMap Desktop and any web layerlist widgets: if you Shift-click a group checkbox, it turns ALL layers inside the group on, regardless of if they're on or off in the MXD.

5.  When we turn on a layer, it should turn its group parent(s) on, so you don't need to click three or four times to turn a nested layer on, if it's a few levels deep.   The way it is currently designed will confuse and frustrate some of my users, having to do several clicks to turn on a sublayer. (it already has, in my mini focus group previewing WAB)

The way AGS TOC does it is what would be preferred by my users.  I am trying to think of a reason why one would not want group parents to turn on... and I can't think of a use case. Doesn't make any sense. I click a layer on, and I expect it to be on.  So, I strongly suggest Layer List be refactored so that layers turn on group parents all the way up the chain, when a layer is turned on. So, you click a layer 5 levels deep, and presto, it's visible. Not 5 clicks.

Adding these won't impact everyday users, although they may notice and appreciate the partial checkbox status. The power users however would perhaps appreciate they key shortcuts. And the programming behind them shouldn't be too involved to add. AGS TOC could even add these, perhaps. Nianwei Liu​  and other TOC gurus, what do you think?

1 Solution

Accepted Solutions
RobertScheitlin__GISP
MVP Esteemed Contributor

Kevin,

   What I was saying is those feature have to be enabled before any custom code could be added to allow for layer re-order or sublayer transparency to be used (but currently the code does not exist). Now maybe it is more clear as to why the WAB team has not added these feature as most users do not have the necessary map service settings enabled.

View solution in original post

8 Replies
KevinMacLeod4
Frequent Contributor

Today I had another Layer List observation. We have a service with all our layers in it (one service for all layers). The roads are over the utilities, obscuring them. But for a few reasons, that order will likely remain the same.  So, that is a problem.

There's a transparency slider for the whole service in the Layer List.  But what would be useful is if there was a slider for every layer in the service. Problem solved. If we want to look at utilities but also roads, just crank the roads to 50% transparency. Thoughts, ESRI or anyone?

As a pipe dream, it would also be neat if users could just drag around the layers in the Layer List and re-arrange order on the fly, like when editing a map on ArcGIS.com. But that's probably a very narrow use case, and while it would be 'spiffy' it isn't high on my list, since I know that implementing transparency would probably be a lot easier and thus I hope would be low-hanging fruit for the WAB ESRI Team.

On my original comment, I am wondering if no one else is really interested, in being able to see only some layers in a group turned, giving the checkbox a dot as user interface feedback, like so:

https://css-tricks.com/indeterminate-checkboxes/   And being able to control click to turn all on/off in a group.

RobertScheitlin__GISP
MVP Esteemed Contributor

Kevin,

   Layer re-ordering and sub layer transparency both require ArcGIS Server 10.1 or greater and that the map service has Supports Dynamic Layers: true set on the map service which by default is false.

KevinMacLeod4
Frequent Contributor

Thank you as always Robert.

Hm.. so.. here is where to set it, as below, right?

I re-published, still no dice. We have Server 10.2.2. I verified it was checked after publishing in the Manager. I also went to the service map published onto our ArcGIS.com org account, didn't see anything relevant there.

Should it be working? Or is there something else to set up?

0 Kudos
RobertScheitlin__GISP
MVP Esteemed Contributor

Kevin,

   What I was saying is those feature have to be enabled before any custom code could be added to allow for layer re-order or sublayer transparency to be used (but currently the code does not exist). Now maybe it is more clear as to why the WAB team has not added these feature as most users do not have the necessary map service settings enabled.

KevinMacLeod4
Frequent Contributor

Ahh I see.  I'm not sure whether the server-side setting should be on by default, (I guess??) but... I definitely recommend ESRI should build this capability for adjusting sublayer transparency in to Layer List in the next update.  Many folks put all their layers in one service. There are various reasons for this.

The layer list is the main way most of my users interact with the map. It might be the single most important viewer widget.  Most important actually, I would think, is #5 I just added above. If I turn a sublayer on, let's say a few levels deep, I also have to turn on all three or four parent checkboxes. This will confuse our users. In fact it already has, when I demoed our WAB Viewer to a focus group.  They said, why don't layers just turn on? I highly recommend if a user turns a layer on, all parents should turn on.

Anyone else like the #5 feature request?

LeoLadefian5
Occasional Contributor II

I'd be interested in something like this as well

KevinMacLeod4
Frequent Contributor

Leo Ladefian​ thank you. I related this to Moxie at the conference.

These concepts may seem minor but the two problems 1) lack of partial checkbox and 2) turning on layers requires several clicks if they are in groups ... has been a stumbling point for almost every single user I have seen use our WAB viewers, from professional engineers and surveyors on to arborists and stormwater maintenance people. I am advocating so staunchly for it because I know it will help our legion of hundreds of city and county users. And when we deploy our flagship WAB viewer to our public site it will help hundreds of thousands.  The reason is because users do one of two things first, that I've observed. 1. they look for an address, which works great, or 2. they want to turn a layer on. This is when they get confused. And I have found users have a very short window of attention, if things don't work in 5 seconds they sometimes abandon the viewer for good until trained how to use the Esri WAB LayerList.  They also have a high bar for usability and discoverability. It may sometimes but unreasonably high generally speaking, but at least here, there's an easy fix. 1) partial checkbox, that can be done right away with a few lines of CSS for the LayerList widget in WAB (I am tempted to hack it in myself at this point) and 2) making the Esri LayerList behave like AGS JS TOC for one-click layer visibility. Perhaps Esri could give us an option to choose this new behavior or the current behavior, and default to the AGS JS way.  Or other way around. So long as we can have one-click layer visibility regardless of group visibilities.  

And to recap, the partial checkbox is needed at least in the short term not only because it's a universal interface metaphor but because it alerts users to expand a Group because not everything in the group is on.  In my case I have ALL top level groups checked on, and some groups have all layers OFF or at least some turned off. This is a jury-rigged workaround I employ so users can expand a Group and turn a layer on in one click in most cases. However, the problem is most users see the checkbox on and assume everything in the group is already on. Or, they often also click the right dropdown arrow (which lists transparency) instead, which is another thing to consider for future UI design.  Last, I'd love transparency control at the sublayer level but that'd just be icing on the cake.

People I have trained all expect turning a layer on to do something, regardless of if groups are on. I understand use cases especially for GIS Analysts for the ArcGIS Desktop TOC  where they will have a group of layers with some or all on and want the group off by default, to turn on later at will. That is an edge case I believe after years in the trenches of training the public and municipal users.  They all unequivocally prefer my viewers that use AGS JS TOC by Nianwei Liu​.  This is my report from the field. I have submitted this via Ideas and Support and at the Def Conf.  I even think these concepts could apply to ArcGIS Desktop / Pro's layerlist TOCs.  Btw..anyone implement AGS JS TOC in WAB?

TimHayes1
Occasional Contributor III

Kevin said it right! I have the same problem. The TOC Layer Group and Sub-Layer Concept sound easy for the GIS crowd, but for some reason the end users just cannot wrap their heads around the fact that sometimes when you check a box in the TOC the Layer does not turn on, why they ask? it's because you need to make sure the sub-layer is also checked. Sometimes the two-step process would be easier if it as made into a one step process.

Yes, I realize the solution at the moment is to make sure the Layer Group box is checked, and the sub-layers are unchecked OR the Layer Group box is unchecked and the sub-layers are checked. I thought this would be easy for my users to understand, but the concept is way over their heads.

How about do away with (or make invisible) the TOC Layer Group and arrange it with the option to simply show the sub-layers? This will allow the use to click a box and the layer will turn on or off.

0 Kudos