35 ms·
In the timeline view, multiple tasks can be displayed in the same row. The position in the row is determined by the start or due date of the task. One challenge
by skip2mybeeb 9y ago
In the timeline view, multiple tasks can be displayed in the same row. The position in the row is determined by the start or due date of the task. One challenge we encountered was in just maintaining the data model because users can set dates in multiple ways. For example, a user can set a due date on a task through the list view, mobile apps, or even the API. Since every task with a date is displayed in the timeline, when a user sets a date on a task, we pick a position to display the task in the view. One interesting thing is that when a user changes the date, we automatically resolve conflicts so that in the Timeline view, two tasks in the same row would not overlap. We had to think through most of these scenarios before we picked a data model representation so to ensure these operations are efficient. On the UI side, our biggest challenge was in implementing one of the most interactive views in Asana that supports multiple zoom levels. We spent a long time thinking about component structure and hierarchy to allow us to build them.