Menu

Editing Time Assignments

2008-01-16
2013-01-09
  • Joseph Wyrembelski

    Do you have any plans to add some way to edit the time assignments after they've been recorded?

    The best UI element that I can think of for this type of work would be akin to the parition editor used in Parition Magic. If you haven't seen it: imagine a horizontal bar with multicolored segments from right to left, each representing a chunk of time, and the ability to resize the chunks, then you've got what I'm after. If I have three tasks, I want to drag the start time of Task B to the left and have the system know that I am simultaneously shortening the duration of Task A as well as lengthening the duration of Task B. And so forth.

     
    • Jiri Kovalsky

      Jiri Kovalsky - 2008-01-16

      Hello Joseph,

         wow, this sounds like a really cool feature! I fully understand what you mean. The total time remains always the same and user can only move the deviders between tasks. Let's assume this layout:

      [ Task A |     Task B     |  Task C  ]

      and imagine I want to shorten the task C and move the time to task A. How am I gonna do that? I would have to move both | deviders? It would work but not accurately. Do you have any solution to this?

      Thanks for your suggestion!
      -Jirka

       
    • Joseph Wyrembelski

      I've drawn a simple diagram for what I've described here. I've sent it, along with this posting to your published email address.

      There are three scenarios:

      #1 =  [ ----A---- | ------B------ | -----C----- ]
      #2 =  [ ----A---- | ---B--- | --------C-------- ]
      #3 =  [ -A- | ------B------ | --------C-------- ]

      In line #1 we have our initial state.

      In line #2, we show how things would change if the user dragged the border between B and C to the left. The result is that the size of B becomes smaller and C becomes bigger.

      In line #3, we show our goal of making C larger and A smaller with a single movement (and not changing the duration of B). There are two ways to achieve this:

      Option 1: Drag the border between B and C to the left and then drag the border between A and B to the left. As you noted, it is possible that this combination of movements would be inexact. There are many ways to make it more exact: Allow the user to specify the units of measurement that are going to be affected by the movement. If the unit of time affected by the drag was hours, then it would be fairly simple to add an hour to C and remove an hour from A in two easy movements. Similarly, the user could select a unit of minutes, and drag to add/subtract minutes from any given task.

      Option 2: Click on the center of the B chunk of time and drag it to the left. The application would know that the user isn't intending for the duration of B to change, but instead is moving BOTH of it's boundaries at the same time. This quickly gets us to our goal of taking time from A and giving it to C.

       
      • Jiri Kovalsky

        Jiri Kovalsky - 2008-01-18

        Very nice solution. Can you please elaborate one more thing? What happens if I want to substract 1 hour from task D to task A? In other words to get from state #1 to state #2?

        #1: [ --A-- | -B- | ----C---- | ---D--- ]
        #2: [ ---A--- | -B- | ----C---- | --D-- ]

        Furthermore, did you try to select some task from the plan in the Day View and invoke "Task|Move time" from Rachota's main menu? Do you consider dragging borders or task chunks more straightforward than this dialog?

         
    • Joseph Wyrembelski

      At some point the limitations of the graphical widget will break down and some other widget (simple text entry, wheels, etc.) will have to be used to bridge the gap.

      With regard to your counter, In general, I'm a visual person and a click counter. The dialog you've got probably requires 10x more clicks than a graphical solution. More straightforward? Probably not - your dialog is more straightforward but it does take more work. I think there could be a single tab added to your application that incorporates BOTH the graphical solution showing the entire day and giving the user the opportunity to shift time chunks and durations as well as the dialog that you've created.

      Where are you on releasing the next version of source code?

       
      • Jiri Kovalsky

        Jiri Kovalsky - 2008-01-21

        I think it's a good idea to extend the functionality of current dialog with the thing you have proposed. What if there are only two task chunks displayed: the source one and the target task. This would allow user to move the time by dragging the separator. Or would you still want to see the whole day layout? All in all, could you please file the RFE [1] so that we can start planning it into Rachota 2.2?

        [1] https://sourceforge.net/tracker/?func=add&group_id=144949&atid=760394

        And what do you mean by the last question? The latest available development build of Rachota 2.2 is built from the trunk sources. So, if you are interested, just checkout the main trunk.

         

Log in to post a comment.