Pinning 2D heatmaps per-level in Project Dasher

So far in this series we’ve looked at creating 2D heatmaps, making them resizable, and then adding lots of them inside Project Dasher.

I’ve mentioned a few times – and I’ve seen the same commented via LinkedIn – that viewing data from multiple building floors at the same time would be beneficial. As a reminder, here’s what happens when you change floors with the current implementation:

Showing floors

The UX to implement some kind of “pinning” mechanism was non-trivial, but possible. The way I ended up thinking about this was as follows:

  • We still want generic panels that will show data for a particular sensor type from whichever level is currently being displayed (as we have in the above GIF).
  • These panels can be “pinned” for the current level, which will change the panel’s title and pinning status.
  • It’s possible to have both a generic panel for the current level as well as one that’s been pinned: these will look the same, except for the title.
    • In this case it shouldn’t…

Read more