Coda's Gantt implementation is non-standard and confusing!

Every Gantt chart I’ve ever used (and every result I see in Google image search for Gantt chart, and in the Wikipedia entry) has days represented by the space in between lines. But in Coda, days are represented by the lines themselves. This is confusing because it breaks convention and makes information less clear.

For example, let’s say you have two tasks:

  • Task A starts on Monday and is due on Tuesday
  • Task B starts on Tuesday and is due on Thursday

In the traditional Gantt representation, the assumption is that date ranges are inclusive. In other words, I can work on Task A on both Monday and Tuesday, and on Task B on all three days allotted.

That’s clearly represented in the traditional Gantt visualization. There are two days filled in:

          M   T   W   R   F
Task A  |===|===|   |   |   |
Task B  |   |===|===|===|   |

But in Coda, the representation is less clear. Yes, there are the correct number of lines being touched, but because the lines are on the edges of the highlighted range, and because it breaks convention, it’s harder to follow:

        M   T   W   R   F
Task A  |===|   |   |   |   
Task B  |   |===|===|   |

This representation is also outright confusing. Here’s an example of a task that is started and due on the same day:

        M   T   W   R   F
Task C  |   |   |=  |   |   

Note that in this case the bar extends past the Wednesday line to communicate that the task starts and ends on Wednesday.

Now look at these two tasks below. In both cases, the task is due on Wednesday:

        M   T   W   R   F
Task Q  |   |===|   |   |   

        M   T   W   R   F
Task Z  |   |   |=  |   |   

Both tasks are due end of day Wednesday (i.e. at the same) but the bar doesn’t visually represent that correctly in both cases! That’s confusing!

Compare that to the standard Gantt visualization:

          M   T   W   R   F
Task Q  |   |===|===|   |   

          M   T   W   R   F
Task Z  |   |   |===|   |   

It’s crystal clear that both tasks are due at the same time. In Coda’s implementation that boundary between days is somewhere in the empty space between the lines, but it should actually be the lines themselves!

And here’s another example I consider confusing; consecutive tasks that skip the weekend. Look at all that space between them:

        M   T   W   R   F   Sa  Su  M   T
Task D  |   |   |===|===|   |   |   |   |
Task E  |   |   |   |   |   |   |   |===|

Compare that to the more concise and clearer traditional Gantt representation:

          M   T   W   R   F   Sa  Su  M   T
Task D  |   |   |===|===|===|   |   |   |   |
Task E  |   |   |   |   |   |   |   |===|===|

I highly encourage y’all to consider fixing this to adapt to the standardized Gantt conventions. It’ll make Coda a more robust and easier to use offering!

6 Likes

Hi @MrChrisRodriguez,
I’m impressed by the logical - and visual - explanation!

Gantt charts (and charts overall) surely will evolve. This is a very good way to concretely propose something.
Thank you.

2 Likes

Hey @MrChrisRodriguez,

Thanks for the clear visualization.

I should say though that there’s no problem with the Gantt chart — instead there’s a misunderstanding about what the end date is.

In Coda, all dates are 00:00 AM, i.e. midnight, i.e. start of the day.

So if your event starts on Jan 1 and ends on Jan 3, that’s Jan 1 00:00 — Jan 3 00:00, which is two, NOT three days long. The end date is exclusive, not inclusive. And that’s the logic throughout all of the Coda and programming in general.

If Gantt charts were treating end date as inclusive, that would introduce inconsistencies. E.g., you’ll see a 3-day wide item in the chart, but a duration formula End - Start would still calculate to 2 days.

If you don’t need to be able to tweak the dates directly from the Gantt chart, I’d suggest doing this:

  1. Add a Duration column that’d calculate as [End (incl.)] - [Start] + Days(1)
  2. Set up Gantt chart to use Start and Duration, not Start and End. It will then display Gantt items with correct widths. You won’t be able to drag end date separately from start date though.

P.S. I agree that labels could move to rest between the grid lines. Right now they designate the start of the day but should encompass the entirety of the day.

3 Likes

Hey @Paul_Danyliuk thanks for the great response, but I disagree. If nothing else, the fact that date labels are assigned to lines and not the spaces in between them breaks convention and should be fixed.

That aside, I still think the default behavior is confusing and needs improvement.

If I’m interpreting you correctly, you’re operating under the logical model of “Gantt is like a progress or percentage bar. It should show proportionally within a given day, and allow for time arithmetic.”

My interpretation (and I think the conventional implementation) is that Gantt visualizations relate to set logic instead of arithmetic.

In other words “Gantt visually represents the time units included in a given range, typically at the specificity of the day, or more granular at higher specificities/zoom levels.”

The average Coda user is not a software developer, and certainly not a Coda expert. When they use any Gantt software (and timeline tools like Asana) and they put in a start and end date, they expect those to be inclusive. When it’s not, they’re not going to try to figure out how to make the datetime arithmetic work. Instead, they’re going to do what I did – think “this isn’t production ready and was released too early” and go use something else, which isn’t ideal.

2 Likes

While we’re complaining about Gantt charts (I agree with the above poster btw), can we also have an hourly view - so we can have a day broken down into hours. Thanks

2 Likes

Hi there,

I agree with everything that has been said about Gantt.
Maybe the @coda_team could get some “UX inspiration” for the Gantt charts view by looking at the nice Gantt tool that my team still uses, because we think the Gantt charts is not (yet) well implemented in Coda :

The style of rows, the zoom function and other stuff could inspire a rebuild of this chart in Coda.
Sadly, the way it works for now could not be used seriously in a project team.
I hope you could consider quick evolutions on this feature because it deserves it (and we neeeeeeeeed it :slight_smile: ).
Thank you.

4 Likes

Seriously Coda, do you really think somebody can work with this ???
(Gantt view in full screen mode)


How can I show that to my boss ?

Please give us a true Gantt view !

It was quick :slight_smile:

1 Like

Yes but it is not enough, it is still not usable.
Coda will have to work hard to get something workable.

I don’t agree that its not usable, we use it in few of our docs and it works fine, especially with this new improvements
That said, I do agree that there are quite some room for improvements, to bring it on the level with best Gantt/Timeline software’s out there :slight_smile:

1 Like

@Marko_Petrovic
I would love to use it.
Please tell me what day is ending this task :


:face_with_monocle:

1 Like

Hi @Stephane,
I guess you’re using the “full” width, and “days” from this screenshot you posted
Try setting “fit” and the overall view should shrink; alternatively you can select a larger period.

What @Marko_Petrovic says - and I tend to agree - is that this implementation is a big step forward. Surely much improvable, but the new set of options allow to understand much better the timeline flow.

I believe that providing something concrete to get closer to users’ expectations would speed up the evolution process.

Cheers!

4 Likes

Hi @Federico_Stefanato,

First of all, big respect to you for all you bring to this forum, you save my life (hours :wink:) many times with all your workarounds. But not this one…

All the options I tried (and I tried all) produced unusable timelines, due to the length of our tasks, I concede.

I won’t use this version of Coda Timeline because all my colleagues will laugh if I show them what Coda does :

:laughing:

I was expecting the new version was the good one, but it is not, by far.
Now, I’ll wait for a professional timeline, a usable one for us.
I’m sure Coda will give us something good one day. :pray:

2 Likes

Hi @Stephane ,
thank for the nice words and for the constructive approach.

I really understand your frustration: I too believe that - from a data visualisation perspective - Coda has a huge room for improvement, to say it politely.
Not only on Gantt view, but with charts in general.
I am dreaming myself a native integration with d3.js (or similar libraries) in order to provide more serious reports and dashboards.

At the same time I appreciate the tremendous effort codans are putting in evolving the product: I rarely have seen such an incremental improvement throughout the whole product perimeter: formulas, packs, layout, formatting, performance, usability, productivity, you name it… in so short time spans.

Maybe suggesting the next top 5 features you would enjoy more (I liked so much the circumstantiated post by @MrChrisRodriguez, here), would be part of the ideas of the next release :wink:

Thank you!

1 Like