We are setting out to design a system capable of managing a system that is comprised of 100,000 individually addressable resources (electro-mechanical controllers).

One very important visualization we need to create will be geographical. Operators need to be able to navigate around the resources with some spatial awareness.

The old system we built only needed to support 1,000 resource so it was built using a single map screen where everything could be seen at once - kinda brute force. This pretty much worked, but we do not think its going to scale to 100,000.

Not only that but 100,000 poses lots of other "bandwidth" problems, not just rendering. We need to consider communication bandwidth and cognitive bandwidth.

Not to mention safety is important in this system so errors and warnings need to be brought to operators attention in some way that they are not overloaded.

So far we think we need a tree structure, where data is aggregated at each level and operators can drill down. This is great in terms of "bandwidth" but the problem with a tree is it takes a while to get down to low level and also resources that straddle branches cannot be visualized at once.

So we also think there needs to be some "search query" type UI for quickly finding certain resources. OK great, but the search could end up matching 100,000 resources so we are back with the same problem. (We need to show the search results in a map too).

Even though (obviously?) this is not a web browser applicaiton we are using the web paradigms as much as we can (tabbed browsing, back/forward nav, text URIs etc).

Do you know of any case studies of systems of this scale?

Do you have any thoughts about how you would go about designing a UI for managing such a large set of data?

  • would people really be browsing and navigating through this information? It really sounds more like a dashboard/reporting challenge. Either way, I think you're going to need multiple ways to traverse that amount of information.
    – DA01
    Commented Apr 14, 2011 at 0:28
  • ultimately each resource will be directly controllable (for example they need to be shut down for maintenance etc). so its partly direct/group operations and partly its about dashboards. There also needs to be realtime reporting, but its blurred where that stops and offline reports begin.
    – user4636
    Commented Apr 14, 2011 at 3:22

3 Answers 3


I don't know enough about your system to be sure this is going to work, but your description makes it sound similar to a field that uses the following approach.

  1. The way to locate a resource is by running a query. You say "Give me all controllers attached to node X". You can get complex boolean queries there, using the different metadata you have on the controllers.

  2. There is a tree, but it's not a tree that reflects the hierarchy of the resources, it contains a hierarchy of the queries you ran. If you wish to locate a resource, you go to the query that's relevant to it - or you create a new one, and you can either save it in the tree or discard it when you're done. Since you only appear to have one type of main entity, it seems that the system is relatively simple (in this sense), and it's possible that you don't need a tree, and a simple list will be enough. You can always have a resources tree too.

  3. There is a powerful grid to display in table view the results of your query. If the grid is smart, you can use nesting, grouping, filtering and sorting to deal with the information overload you might get.

  4. The grid and the tree control the map. You can select an entity on the grid and see it on the map. You can also take a query from the list and display or hide it on the map.

Hope this helps.

  • I'm picturing the Google maps UI with a beefed-up sidebar that could be tabbed between aspected search, tree or a list of alerts. Commented Apr 19, 2011 at 18:57

With 100,000 controllers you're moving beyond the normal range of SCADA systems. For inspiration you're best off looking to data browsing from telecoms networks. Try:

Also try a google image search for "internet network traffic map". There is however a bit of a disconnect between these high level visualizations of networks and the ability to drill down to the individual nodes holding data.

Zooming In

A detailed answer requires knowledge of the spatial AND logical organisation of the controllers. You certainly need views organised in terms of both, since problems will include both a rogue data aggregator/gateway and geographically localized issues.

At the level of detail where you can resolve individual controllers, I'd suggest something like the slippy maps interface with overlays that allow you to show or hide connections, i.e. show/hide the logical organisation as an overlay, possibly a chloropleth map overlay indicating aggregated activity/health with finer resolution, i.e. smaller cells, as you zoom in. You'd want to be able to do region selections visually, e.g. all controllers within a certain radius of a chosen point, or click on cells/sectors to get controllers in those sectors. This sounds like it would overcome the issues you have with selection in a tree control, since you can easily select controllers that straddle branches and easily drill down through multiple levels by zooming. Your tree is embedded in the map.

Other Visualizations

Another option for presenting tree data with very large trees is the Tree map. If your query results are returning hits that don't have a useful geographic structure but do have a logical tree structure it provides an alternative way to visualize.


Not really an answer - but there's been quite a lot of research over the years into Control Room design.

Eg: Nuclear Plants and Large Aircraft have complex interfaces - and in both cases control failures can be catastrophic.

Googling combinations of : Control Room / Human Factors / HCI might find something

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.