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:
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 be possible to pin the generic panel or unpin the pinned one, as we don’t want multiple, identical panels (whether generic or pinned).
That’s the logic, anyway. I went ahead and implemented it, and it works pretty well. Here’s how you can pin heatmaps for different level – you can see how pinning gets enabled or disabled for individual panels in the case of a “name conflict”:
This is currently a little clunky, in that it’s complicated to navigate through the various layer/sensor type combinations and find the ones you want. We’re thinking of how to streamline that process, so watch this space on that front.
We’ve also been thinking about how to integrate MEP (etc.) data into these 2D views… understanding the mechanical systems in the building can be very valuable when making sense of occupant comfort data. We’re looking into what’s possible there, too, so the next couple of weeks should be pretty interesting!
In the meantime, here’s an animation showing pinned sensor panels for data from Kingspan’s IKON building, as this has a variety of active sensors across multiple floors and shows off the capability nicely: