Dialog redesign and improved calendar exception handling

    Martin Karlowitsch
    November 6, 2017

    In a nutshell: we used the past months for a major redesign of our just plan it visual scheduling software. This redesign was primarily geared towards optimizing how the software works behind the scenes. However, as we touched almost every line of code, we decided to also use this opportunity to enhance many of the dialogs. Doing so, we improved the way you can define and deal with calendar exceptions. This post is about introducing the visible things that changed with the current update of the visual scheduling software. It also is meant to give you some transparency on what comes next.

    Some background: why redesigning software?

    Before I go into all details, I'd like to give you some background thoughts: We have seen a significant growth with our just plan it software this year. For example, we won 3x more new customers in the first half of 2017 compared to the entire year 2016. With experiencing this growth (and observing a further accelerating interest), we started asking ourselves one question: "Are we prepared to scale?".

    Scrutinizing just plan it with this question let us decide for a major redesign: Although the software as you know delivers a unique visual scheduling experience and robust results, we recognized that behind the scenes it had some flaws in terms of scale-ability. They mostly relate to the questions

    • How easy is it to add new functionalities without impacting existing ones?
    • How easy is it to track down the true cause of a bug?
    • Is the code "optimized" to serve a rapidly increasing number of parallel users?

    The findings let us decide to put all functional enhancements plans temporarily on hold, and we made a major revamp of the "behind the scenes" code. The result is a much cleaner, much more streamlined and much more scale-able software that now can work as basis for getting back to regular (e.g.) monthly functional enhancements. Nevertheless, as a "side effect" of literally touching every line of code, we decided to give our dialogs a major overhaul and also improved the handling of calendar exceptions.

    Here is what is new, and what got improved.

    Calendar exceptions for one resource

    In the Resource View, you can open the "Manage Resource Details" dialog by clicking the pen in table part of the visual schedule (in the line next to the resource's name). So far, this dialog just allowed you to define the standard calendar for this resource. We now added a second tab to this dialog (called "calendar exceptions"), in which you can easily specify deviations from the standard calendar for exactly that resource. That means, you can use this dialog to define either overtime or downtime for that resource. In the screenshot below, you see additional work-time for the resource "cutting #1" on November 14 (standard work-time is 8-18, now it is 8-22). For November 15, you see a complete downtime (as we left the column "work time" empty).

    Screenshot Manage Resources Dialog - Calendar Exceptions.png

    Calendar exceptions for multiple resources

    We completely rebuilt the "Manage Calendar Exceptions" dialog that you can access from the "Edit" tab. The new dialog enables you to quickly define calendar exceptions for

    • all resources
    • a selected number of resources
    • just one resource

    Screenshot Manage Calendar Exceptions.png

    The workflow is rather simple:

    1. Select the resource(s) for which you want to define an exception (or simply click "select all").
    2. Choose start and end date of the period for which the exception should apply.
    3. Type in the new work-time for that period (or leave blank if you want to define a non work-time for that period).
    4. Click "add to exceptions".

    That's all. - Even better: the table showing all exceptions comes with a lot of useful sorting and filtering capabilities.

    Some examples of streamlined dialogs

    When touching every dialog, we always were (and keep being ;-) driven by the question how to help you achieve your goals faster. Talking about software, this translates into: let's reduce the number of clicks to get a certain task done.

    Following are some examples where we applied this.

    Manage Job Details

    Here are actually two things that we changed (the short video shows the dialog as it looks like for all Enterprise customers; however the same principles also apply to the Pro and Basic customers as well). First, we added a divider between the information that is job-related and those information that define the tasks (the job's routing). This divider can get moved up and down and hence you can define how much space you want to give to e.g. the pure job-related information. Second, we enhanced the task-related table in the lower part of the dialog. Precisely, we added some data fields to it that before you could just access through the "Manage Task Details" dialog. So now, there is a horizontal scrollbar that allows you to see and (!) change all relevant task-related information without leaving this dialog. 

    And by the way: the same principle is applied when defining templates (Enterprise).

    Manage Jobs

    Following the same thinking, we also enhanced the "Manage Jobs" dialog enabling you to quickly update multiple jobs in one go with respect the the most relevant job-related information. So from here, you no longer cannot just change job name, job status, release/due date, quantity (Enterprise) and template (Enterprise), but also:

    • customer name
    • scheduling strategy
    • job-related note
    • baseline stamp

    Gif - Manage Jobs Dialog.gif

    Manage Resources

    To make things consistent, the same is also true for the "Manage Resources" dialog. Again, this dialog now provides a quick pass not only to the resource's name, but also to

    • the resource type (finite/infinite)
    • the group(s) to which this resource belongs

    Screenshot Manage Resources Dialog.png

    What's next?

    As outlined before, this new version that we shipped now was meant to improve things behind the scenes. We are truly convinced that with this we made the necessary groundwork for being able to further scale up just plan it along two dimensions. The first dimension is to regularly add new functions without impacting the existing. The second dimension is to increase the number of parallel users without impacting existing ones.

    Having reached a new "base camp" now, allows us to look ahead at the next functional enhancements to come. So, we are now ready to start delivering what we already announced:

    1. Send-ahead/overlap functionality. With this, you will be able to define a task that starts after a certain quantity of the predecessor task is finished.
    2. Shop-floor data integration. In a first step, this is the capability to mark a task and/or a job as complete and to (semi-)automatically update the schedule according to this real-live information from the shop-floor. But, this is just the first step. Ultimately, we see this turning into introducing a machine operator role, with the option to provide shop-floor data via a machine operator "app".

    Stay tuned for more to come soon ... and kindly share with us any idea you have to further enhance just plan it - either via email or in the comments section below.


    Not yet using just plan it for an easy time and resource scheduling? Why not starting to explore it with an exploratory 30 minutes meeting?

    New call-to-action

    Subscribe by Email

    No Comments Yet

    Let us know what you think