We extend our vision for a more intuitive way of working that seeks to bridge previous
mental leaps wherever possible.
By reducing the degree of abstract thinking required
we aim to make the STEM modelling process easier to learn and understand, to back
up the freemium model announced in May 2017 which
aims for broader adoption.
Our January newsletter previewed some significant features of the forthcoming STEM
version 8.0, including a partition concept for
the more straightforward management of a cost hierarchy and direct results tracing in a single integrated STEM application window. Now we preview
another two features – direct-draw connect mode
and more flexible user data – that form part
of a joined-up approach to fulfilling this dream. We plan to release STEM 8.0 at
the STEM User Group Meeting
in September 2017.
1. As easy as scribbling with a dry marker!
A business model often grows from a discussion around a whiteboard, a sketch in
a notebook, or even the apocryphal back of an envelope. Nowadays there are many
apps that take advantage of the pen experience on a tablet to ‘take the whiteboard
to the computer’, but tablets are not for everyone, and you don’t need
a pen to achieve the same end.
A STEM model, with its distinctive icons and intuitive connections between them,
looks a lot like a typical whiteboard diagram. Connecting elements in STEM is also
easy – if you know how – but you might not figure it out by yourself.
Typically users have to be shown the Connect tool
on the toolbar, and could easily miss the more practical <Ctrl+Q> (which avoids
the round trip to the toolbar).
So we are going to indicate an actionable margin around an icon that will allow
you to draw a connection between two elements directly without having to press anything
first. This will quickly become an essential editing action compared to the more
pedestrian rubber-band selection which you currently get when you click and drag
anywhere in the background of a view. The margin will be shaded on hover to minimise
the risk of using this device by mistake, and the shading will be delayed slightly
to avoid distracting flashes when the mouse is just passing over. This
direct-draw connect mode will make it more obvious how to connect elements
in STEM.
Figure 1: Draw new connections directly from an actionable margin which is highlighted
on hover
2. Creating elements from a ‘context toolbar’
What about the icons themselves? Isn’t the round trip to the toolbar distracting
when you want to focus on sketching out a chunk of model structure? Again there
are quick keys – e.g., <Ctrl+Shift+S> creates a new service – but
these are even less obvious and drop the element at the first available space working
from the bottom left.
Instead you would like a service or whatever on the tip of your mouse (as you do
with <Ctrl+V>), and now we propose to replace the context menu on the view
background (which currently duplicates the main Data
menu) with a simple menu from which you could pick a new element type to create
at the mouse position. This menu will ideally resemble a toolbar in context (a device
referred to as a local palette in some create applications).
Figure 2: Click to create a new resource in situ
from the context toolbar/menu
We anticipate that some existing users may prefer to retain the current
Data menu behaviour, so these new devices are likely to be optional.
Alternatively, we might decide to include a Data
menu as a cascade from the new context toolbar, the benefits of which are likely
to appeal to new and existing users alike.
3. Managing user data when you think of something later
User data is the space every element provides to capture additional parameters from
which core STEM assumptions can be inferred, such as a unit conversion for an equipment
capacity, or more extensive working for a composite cost. This longstanding feature
is like a mini-spreadsheet within each element, except
that historically you could not move them around; there was no option to insert
rows or cut rows as you would in Excel.
When user data was first conceived, we did not imagine that such flexibility would
be required, but it has proven to be a core feature which can be used extensively
in large models. Consequently we are pleased to announce that STEM 8.0 will allow
much greater flexibility to insert (and delete) user data, thus overcoming the current
frustration (and subsequent workarounds) when another parameter is required later
that should naturally fit between two existing parameters. In parallel we will add
Cut to the existing Copy
and Paste functionality so that, as well as inserting
blank user data, you will also be able to Insert Cut Fields
or Insert Copied Fields as you might in a spreadsheet.
Figure 3: Inserting an extra user data between Power
and Cooling
Similar constraints will also be removed for sensitivity parameters, for the variant
data and associated parameters of dimensions and templates, and for the multiple
inputs of an expression transformation. These actions will be coherent, in the sense
that inserting or deleting ‘a row’ in a variant data table will be applied
across the entire row, and to the associated parameters too. To make this more explicit,
the actual menu command will be called Insert User Data
or Insert Parameter, rather than
Insert Cell or Insert Row.
Figure 4: Inserting an extra parameter in Variant 1
will impact ‘the whole row’ and parameters in synch
The existing Rename Field command will be refined
to apply to all related variant data automatically when selected for an individual
variant data field, and to apply to the selected columns without prompting in a
user data table for several elements. A field label so created will obviously move
with the impacted data when a field is inserted or deleted, just as a named range
in Excel moves when a row is inserted or deleted before it. Any separate references
to the affected fields will be adjusted too.
All of these actions will still be subject to the same overall limits (in terms
of available rows). It is common practice to position more obscure parameters at
the end of a range of user data, but it will still be possible to insert rows at
the top of the dialog when the bottom row is occupied, so long as a large enough
gap (of unset inputs) can be located (working from the bottom up) into which the
intervening set inputs from further up can be pushed.
Figure 5: Pushing displaced rows into the gap before any set data at the end of
the range
4. Cutting and inserting space in model views too
There is a lesser but related issue with the layout of icons in a model view. Although
you can move icons around at will, there is no direct way to insert space to create
new elements, or to re-position a selection of icons within an existing group, both
common manoeuvres as the shape of a business model is iterated in practice.
Presently you must first select and then displace everything to the right (which
might constitute an extensive and fiddly selection) to create the space. Only then
can you select and move the intended insertion into the space just vacated. Often
you will need to re-select everything to the right again in order to adjust its
position if you did not judge the required space correctly the first time!
To address these hurdles, we are planning to implement several new commands which
will achieve the intended outcomes much more directly as follows:
- Insert Row and Insert
Column will push the lower or right half of the view (from the top-left of
the current selection of icons) down or across by a multiple of the icon-grid, configurable
on the Options menu
- Insert Cut Elements and
Insert Copied Elements will insert just enough room (at the top-left of the
current selection of icons) to accommodate the intended insertion.
Figure 6: Inserting horizontal space to the left of the current selection
This is still work in progress and we have yet to determine how you would choose
between inserting vertical or horizontal space for an insertion, and whether to
insert a whole row or only the space required for the insertion.
When creating a new element, we might choose to insert space automatically if the
new element were placed ‘too close to an existing element’, working
in the direction which would most directly ease the congestion. The same could apply
when pasting cut or copied elements close to an existing element, whereas you would
probably expect the insert commands always to insert exactly as much space as the
height/breadth (plus margin) of the cut/copied elements.
Figure 7: Making room for a new element or pasted selection
5. Stay tuned
Several more defining features are planned for this milestone STEM 8.0 release.
The narrative will continue in our July newsletter.