gantt diagram variant without natural language

+12 votes
asked Mar 26, 2017 in Wanted features by hagmonk (140 points)
The new gantt diagram stuff is pretty exciting! However, I would ask that there also be a variant that is more terse, like the syntax for the other diagram types.

One thing I would do with the gantt diagrams is use them to visualize some time series data. That would involve converting the time series to gantt diagram syntax, and that starts to feel cluttered and awkward when natural language is involved.

Finally I think natural language is ok for a layperson, but for engineers or programmers it can be frustrating. Try working with AppleScript to see what I mean. It gives you the illusion of writing natural english sentences, but in reality it's very strict about what is accepted and not accepted. It becomes hard to remember the exact sentence structure and word choices that the parser wants, especially if you don't work with it regularly.
commented Oct 11, 2017 by PersianBlue (100 points)
edited Oct 11, 2017 by PersianBlue
Played with the beta Gantt diagram and feel the same. In my case, my task already has a very lengthy name. With natural language, it becomes pretty hard to read.

I'd love to see something similar to the state diagram, where you could define task in the same way as state and use -> for dependencies.

"My task1" as Task1
Task1: 10d

"My task2" as Task2
Task2: 2d

Task1 --> Task2

2 Answers

+1 vote
answered Oct 11, 2017 by plantuml (294,660 points)

Ok, let's give a try.
With last beta, you can now have:

[My task1] as [TASK1] lasts 10 days
[My task2] as [TASK2] lasts 2 days


This is not exactly what you were expecting, but it's close enough, I think.
One of our concern is that PlantUML has to guess which kind of diagrams (Sequence? Class? Gantt?) when using "->" arrow.

It's only a first draft, and we are ok to enhance the new "->" syntax to add more options if you find it useful.

What do you think about it ?


commented Oct 11, 2017 by PersianBlue (100 points)
Thank you for responding and consider that. That's a good start.

Another suggestion (trying to suggest a feature but UI not working) is to support multiple dependencies. like
task1 -> task2
task3 -> task2

That is very typical in complicated projects.
+2 votes
answered Oct 6, 2018 by jbuhacoff (180 points)
Please do not have "<noun>'s end" as a syntax, it is difficult to read. Use arrows or words instead. For example this line in the Gantt page:

[Test prototype] starts at [Prototype design]'s end

Would be easiest to read like this:

 [Prototype design] -> [Test prototype]

But if someone really likes to use words, these would be better than using the apostrophe:

[Test prototype] starts after [Prototype design]

[Test prototype] follows [Prototype design]

Or like this with the opposite relationship:

[Prototype design] <- [Test prototype]

[Prototype design] ends before [Test prototype]

[Prototype design] precedes [Test prototype]
commented Oct 6, 2018 by jbuhacoff (180 points)
For attributes of nouns there could be a separator, so instead of writing "at <noun>'s start" or "at <noun>'s end" we could write "starts at <noun>:start + 5 days" or "starts after <noun>:end + 5 days".  It's a small difference to use : or . instead of 's  and would make the diagram syntax a lot more readable to programmers.
commented Feb 21, 2020 by anonymous
I suggest "with", and "after".

"after" instead of "starts at X's end", and "with" instead of "stats at X's start".

Also, units of time should not be encoded into the syntax like "days", that should be a label with the gantt using a single unit system, so just "lasts 5". You might want a gantt for abstract duration, or just a dependency illustration.