[RFC] Support for interval (continuous) series
e-avidan opened this issue · 2 comments
In addition to supporting single-point Date drops (depicting a time when an event took place), I think support for interval (e.g. continuous events) would add some needed functionality to this component
I suppose the use cases range widely (and there are too many to count) but the most basic ones include:
- Scheduling
- Historical records / TImeline (membership / "activation time")
- Schematic view of recordings (e.g. go-pro / live feed / home cameras / etc)
I propose something of the sorts:
- A line/series is composed of either singular drops or intervals - specified as a boolean in the data object
- intervals are presented the same as drops, only 'circle' is replaced with a 'rect'
Open questions:
- Should meatball-ing appear the same for these two types?
- What is to be done with crossing intervals (unlike drops, they may contain dissimilar data)
That's indeed a good idea. :)
Yet, I think we should be able to mix drops and intervals together. I don't think it would add too much overhead, and it would bring more flexibility. Each item would then be object with either date
or begin
and end
times.
I don't think metaballs make sense anymore with intervals. But that need to be discussed.
Indeed, crossing intervals may be an issue. Yet, for now, I think we can address it later.
Yet, this addition would need a lot of work. So let's postpone it for a later version. Meanwhile, feel free to start a PR about it. :)
I'd like to add a use case as well.
Say you are tracking an online order. Currently, as I zoom in, I start to see individual dots representing various destinations my package has reached. However, the journey of my package is really a single thing. One use case is to see a 'blob' with start time and end time. The other use case, obviously, is to represent each destination as a single point.
It becomes much more interesting if I can display two rows, one showing the whole journey as a single, connected blob and the second line showing individual destinations within that journey. As I zoom out, the journey blob turns into a circle with no detail. Zooming in reveals individual destinations.
The same metaphor can be used to describe any process involving state transitions. Zoom out and you see a single dot representing some process. As you zoom in, you see the details of which state you are in. This way, you can represent a large number of processes (and that is just in a one or two rows).
Earlier I described two rows, one of overview and the second for detail. Those two rows could be combined so EventDrops natively understands this overview/detail metaphor and has a cleaner UI, rather than using two explicit rows.
If EventDrops does natively understand such a relationship, then specific colors could be used to describe specific state.
Any way, this is not a request for a huge set of features, just an idea that this could be a very interesting direction for this project.