Release Notes - 2022. 05. 03.

We had three major targets for the 2022 May release of Horizon Planner: significantly extending our CO2 emission calculation and optimization features, adding various usability features that our users requested, and reviewing time zone handling throughout the application and fixing any bugs to make sure all time-related components of Horizon Planner work correctly from Kiritimati to Honolulu.

CO2 emission estimation

We started working on CO2 emission calculation all the way back in early 2021, and turned it into a central, deeply integrated feature of Horizon Planner. At that point we aimed for feature parity with legacy Horizon Planner, meaning the application took only air travel – the most significant travel pollution source – into account when calculating the CO2 emission of assignments. This is of course a very simplistic approach. For example, even if air travel is required, the employee first needs to travel to an airport, fly to the destination, then somehow travel to the activity’s actual location, and finally do the reverse trip at the end of the assignment. Maybe air travel is not even needed and the employee travels directly to the activity’s location by a combination of public transport, car, ferry, or even helicopter. Furthermore, in the latter case there are typically daily round-trips instead of a single one.

There are many ways to account for all of these cases and emission factors. In the end we decided on a solution that prioritizes ease of use and flexibility while still providing very good accuracy. We’ll briefly discuss the components of our solution one by one in the following paragraphs, hoping to establish a basic understanding of the feature – that we could build on in meetings – by the end.

Resources received a “Commute CO2” attribute that denotes the typical emission of their commute in kilograms, i.e., the amount of CO2 they produce when they travel from home to their local office or workplace. Similarly, activities also received a “Commute CO2” attribute, denoting the emission of the typical travel from a resource’s local office or workplace to the activity’s location. Calculating and setting these emission values is aided in all wizards and editors by an integrated CO2 emission calculator component where you just need to select the trip parameters – e.g., a 42km trip using an electric car, or round trip with airplane between Oslo and Sydney – to obtain the corresponding emission value.

Activities also received a “Commute type” attribute that can be either “Single round-trip” or “Daily round-trips”, meaning that resources assigned to the activity travel only at the beginning and end of their – potentially multi-day – assignments or they travel to the activity’s location on a daily basis. It’s important to note that the “Commute type” attribute is applied only if air travel is not necessary for an assignment, the hypothesis being that if employees need to travel by airplane, it’s likely they will stay at the destination for the whole duration of their assignment.

Given these new attributes, an assignment’s total emission can be calculated as the sum of the following three components:

Horizon Planner stores all these emission components separately to retain the ability to provide detailed information and reports not only to our users and clients, but also to our clients’ customers.

It’s also important to note that while legacy Horizon Planner relied on a 3rd party service for emission calculation, Horizon Planner uses a flexible in-house solution. In practice it means that we can write tailor-made emission calculators or adjust our existing emission calculator methods to our customer’s needs, for example by using more accurate regional energy mix coefficients or by closely approximating the results of 3rd party systems already in use at our clients.

Multiple assignment summary templates

We introduced the Assignment Summary dialog – that shows an editable text summary of the assignments of a mobilization – in the 2021 October release. It has received continuous improvements since then and this release also brings a new major feature – support for multiple summary templates – and a slight redesign.

We described the default content of the summary in the linked blog post, but we haven’t yet gone into how the summary is composed and what a “template” actually is, both of which are fairly important details. We’ll try to rectify it here.

At the time of writing, the summary text consists of the following components:

A template is simply a description of the customizable components of the summary, namely the “introduction”, the “description”, the names of the external IDs that should be included, the list of capabilities that should be shown if the assigned resource has them, and finally the “closure”.

Starting with this release, our customers will be able to specify several such assignment summary templates for each of their organizations, and users will be able to select the one they want to use from a dropdown at the top of the dialog. A default template will also always be available, that will contain no customizations at all.

Our plan is to further improve this feature by adding more customization options in the future. We’re looking forward to your feedback and requests.

Dragging and cloning mobilizations

A mobilization in Horizon Planner is a set of overlapping assignments of an activity. For project planners it is quite natural to think in mobilizations as a basic unit of operation, because in most cases these assignments need to be handled together. They will be approved at the same time as project management progresses from the planning phase to the execution phase, deleted together if an order is canceled, or moved together when the schedule needs adjustments. All of this was possible before in Horizon Planner, but users can now move a mobilization by simply dragging it on the chart to its new date - no need to open an editor dialog and set the new start date anymore.

Another new usability feature focusing on mobilizations is the ability to create an exact copy of a mobilization at another date. This will be very useful for planning recurring jobs, for example a regular maintenance task, where the same kind of work has to be done repeatedly many times. When the user clones a mobilization, they just need to specify a new start date. All the assignments (along with the assigned resources) will be copied to this new date keeping the relative timing of assignments the same. If an assignment started two days later and ended one day earlier than all the other assignments in the original mobilization, it will do so in the clone as well.

Other features and bug fixes

As always, we have added several usability features to various parts of the application:

We have also refined the user interface in several places and updated scrollbar styles to have higher contrast and use less space on Windows.

As mentioned at the beginning of the post, we have discovered a component whose time zone handling was not always correct. We took this issue very seriously and thoroughly reviewed every piece of code where similar problems could potentially occur. It was a lot of work – date, time zone, and daylight-saving time handling is a notoriously complex field –, but our users can now be sure that Horizon Planner will work correctly, no matter which hidden corner of the world they are working from.