15th October 2019 - Oyster
We have added in the ability to take a snapshot of the page being viewed in Cadence. This provides a link to an interactive snapshot of the page which can be opened and viewed by anybody - even non-users of Cadence. The filters and overlays applied to the page when snapshotted are retained and cannot be altered by the viewer. The viewer is able to move about the map and zoom in/out as required. They can view the charts produced for the snapshot, regardless of which tab they are in but they cannot alter any of these charts or change any filtering. When exporting the snapshot the user can copy, open or email the snapshot directly from Cadence.
Additional Demographic Layers
Added new demographic layers to the overlay options within Cadence. These include accident data, deprivation index, population density and car availability. They can be applied to either buildings or LSOA boundaries, however the buildings layers are currently limited to the southwest of the UK.
Navigation menu replaces navigation bar
We've changed the previous navigation bar at the top of the page to a drop down navigation menu. This will make navigating between organisation and model pages smoother.
Added icons to tabs
We've added icons to the tabs in Cadence to improve the visuals of the pages as a whole
We've updated the control menu for the map-overlays available in Cadence. This allows users to more easily navigate the layers and shows which layers are applied at any given time. This update also allows layers to be moved up and down depending on whether the user wants a particular layer displayed above/below another.
- Fixed an issue where the comparison page picker was not showing an option for variants when switching branches.
- Fixed an issue where the comparison page was showing the current branch as master even when working on a different branch.
3rd October 2019 - Porcini
We've added a buildings overlay to visualise buildings within maps. This can be activated in the maps overlay control. The 'Buildings' option shows the buildings in grey. The 'Buildings styled by Population Density' options colours the buildings by the population density of their LSOA area.
- Fixed an issue where the map cursor did not return to a hand after hovering over a network feature.
18th September 2019 - Rossini
Input validation for the Classify page
We've improved the Classify page (a feature added in the Faust release) to make it clearer when you've entered invalid values when defining your classifiers. Red borders and informative error messages have been added. For example, if you define a classifier with the "between" operator, but you only enter a single value instead of the required lower and upper bound, then the cell is given a red border and an error message is displayed.
- Fixed an issue in the Classify page with the "in" operator that caused the page to become unresponsive when a single numeric value was specified rather than a comma separated list of values.
- Removed the duplicate "Assign" button from the Map layer tab on the Demand page. This button is now only shown on the Network tab.
21st August 2019 - Holst
Real-time traffic data
In a follow up to the recent Bizet release, the real-time traffic map overlay is now available across all models.
Improved error handling
The error handling when parsing DAT files has been improved. For example, if a DAT file within a model contains an error due to a recent edit, opening the model in Cadence will now result in an informative error message to help diagnose the issue.
7th August 2019 - Wagner
- Clarified link distance y-axis chart label on the audit page. The label has been changed from "Map distance" to "Straight line distance" to avoid ambiguity and to differentiate it from Model distance.
Behind the scenes
- Updated Cadence to use the latest version of our transport library.
24th July 2019 - Bizet
New Map Overlay - Real-time data
A new map overlay has been added to our Exmouth model containing real-time traffic data supplied by Mapbox. This shows levels of congestion derived from traffic speeds and densities, and is updated every 8 minutes. The levels are categorised as follows:
- Green = Low
- Amber = Moderate
- Red = Heavy
- Dark Red = Severe
Classify view has map overlay option
The map overlay options are now available on the recently added Classify page. These overlays continue to be retained between views so if you turn one on in Classify it remains on if you switch view to Output.
Improved clarity of map tooltip for Output and Routes view
We have tidied the tooltip which appears when hovering over objects on the map in the Output and Routes views. The tooltip now shows the object ID (i.e. node number) and the value of the property selected on the page.
Map overlay selected folders remain open between views
Following on from the recent changes which allows the retention of the map overlays between views we have updated the handling of the folders such that the overlay selection folders remain open between views. This means that when switching between views it is clearer which map overlays have been applied.
- Fixed an issue with the generalised cost chart in Routes view which only displayed generalised time as seconds. This has now changed so generalised time formats into hours and minutes.
- Fixed an issue where links with no defined index are now displaying as having link index as None instead of 0. This coupled with improved sorting makes for a clearer link index chart.
Behind the scenes
- Updated Cadence to use the latest version of our transport library.
10th July 2019 - Carmen
Output view - Link values rather than bin values displayed in chart overlay
The chart overlay message now shows the link value for the selected property rather than the bin it sits within. If multiple links are selected then the range of values of the selected links is displayed.
Map Layers tab has an improved UI and has been renamed Map on all pages
The map tab now has a new look with improved highlighting and faster clicking/selecting for an improved user experience.
Roundabout turns more spread out and easier to click
Roundabout turns are now more spread out on the map and arranged in more "roundabout like" fashion with the left most turns following outer radii and the rightmost turns following inner radii around the junction marker.
- Fixed an issue where the Chart overlay message on the routes page was showing the wrong units for the upper end (seconds). This has been corrected to minutes.
Behind the scenes
- Updated Cadence to use the latest version of our transport library, which includes advancements in simulation.
26th June 2019 - Faust
Classification view - Query model features by type and attribute
The classification view filters a model's features using queries.
Queries can be built using any feature type in a model - links, nodes,
connectors and turns - along with attribute values of features.
For our demonstration model Exmouth Stats, Cadence provides pre-defined queries for common use cases. For example, you could view all simulation links categorised as an A-road with a link speed of 40mph or all priority turns. However, more complex and bespoke queries can be built which could, for example, let you find all A-roads with a link speed greater than 40mph and having only only a single lane. The choice is yours.
Get in touch with us to discuss classifiers for your models.
Preserving choices across pages
Following on from the last release, we've continued to improve the handling of choices made by the user as they navigate around Cadence. The most significant changes are to the map. Your choice of background is now preserved, so if you select 'OS Road' or 'OSM Satellite' for example, this will no longer revert back to the default when you change pages e.g. from Output to Routes. Similarly, if you turn on map layers such as census areas or public transport access (NaPTAN) these layers also remain active when you switch between pages.
When navigating between nodes in the Node view, the chosen property is now maintained. In previous releases it would default back to Saturation Flow. We've done this by putting the property in the URL, which has the added benefit of enabling the user to bookmark the page to return to exactly same view of the data.
- Fixed an issue that caused some repositories to be hidden in the organisation dashboard.
Behind the scenes
- Enhanced our testing with increased automation.
- Updated Cadence to use the latest version of our transport library, which includes performance enhancements and bugfixes to junction simulation.
12th June 2019 - Babette
Node view - Maintain view mode when switching nodes
Previously when switching nodes in the Node view, the page mode — Node or Simulation — would always reset back to Node which was negatively impacting the page usability. With this update we improved on that so that now the view mode will be maintained when switching from one node to the next.
- Changed units displayed on the node simulation queue volume graph to volume (PCU) from flow (PCU/hr).
- Fixed the bug where the demand flow table would no longer be editable after updating the source text.
- Turns with saturation flows greater than 9999 now display properly.
- The routes page now finds routes through dummy nodes properly.
Behind the scenes
- Updated Cadence to use the latest version of our transport library.
- Improved the handling of properties with percentage units.
29th May 2019 - Figaro
Routes page - Banned links UI and icons
To further improve the usability of the Routes page we have
updated the UI for banning and un-banning links in the network.
This update also adds the ability to ban multiple links at the
Now when a link is banned it will be displayed as a tag just above the input field and it will also be marked on the map with an appropriate icon. This should make it much easier to keep an overview of all the links that have been banned.
Furthermore, clicking on any of the banned link tags will enable you to easily remove the ban from the selected link.
- Fixed the main menu layout bug on Safari.
- Fixed bug where the demand flow table was not editable on Safari.
Behind the scenes
- Ensure the node source text editor handles null or undefined values correctly.
- Improved the stability of tests for the Demand page.
15th May 2019 - Notre Dame
As we add more pages to Cadence, the number of columns shown on
the Project page will increase and potentially become too large
to be shown on a single page. To avoid this, we updated the
code to generate and show columns and buttons only for pages
that are supported by available data.
For example, with this change the Project page will only show an "Audit" column and buttons if at least one of the variants in the project has enough data to support that page. Previously we would show an empty column which used up space but was not very useful.
- Improved the readability of row and column numbers on the source text editor on the Node page.
- Fixed an issue on the Node page where edited values in the Demand Flow table were being lost if the context was switched between simulation and node.
- Fixed the xAxis labels scaling to scale proportionally to the chart.
- Fixed a memory leak on the Routes page.
- Fixed an issue on the Node page where some array based properties were being shown with incorrect (NaN) values.
Behind the scenes
- Improved the stability of tests for the Routes page.
- Refactored some of the Node page code.
30th April 2019 - Galileo
- Fixed the simulation arrive profile so that it handles zero values correctly
Behind the scenes
- Added more tests for the routes page
- Refactored the code for a lot of our charts
- Created a new table for our new audit view which will be released soon
16th April 2019 - Scaramouche
On the node view, we have added a way to toggle to the simulation view. This new view allows you to edit the node source text, the demand flows of each turn and the arrive profile of each link. The effect that changes have on the simulation results can be seen immediately
- Fix hover styles being applied to the routes table, when the row is not selectable
3rd April 2019 - Fandango
Pull requests in our version control system
Pull requests are a widely used mechanism to tell others about proposed changes to files. By enabling this feature, users can now modify their data, e.g. a DAT file, and show the changes to their collaborators. They can then be discussed or reviewed before agreeing that the changes should be adopted. If you'd like this feature enabled for your repository, please contact us.
We are very excited to be teaching version control best pratices in Cadence in a workshop next week.
Behind the scenes
- Added more elements for the upcoming simulation view.
20th March 2019 - Cossack
Calculation of equilibrium costs on the routes page
The routes page does two main calculations. It builds a graph
with edges that have a cost of traversal (assignment), then it
allows you to calculate routes through that graph (routing) and
displays the links in a colour that represents the cost of
getting to the link from your start point (isochrone).
In this release we added the option to calculate the flow through the network, as an alternative to using the fixed values from the model UFS. This significant advance means that the user can now change the user classes that are active on the network, or ban a link, and the flow and resulting costs will update to take these changes into account.
As part of this improvement we added the ability to do the routing using generalised cost, which takes into account user class dependent penalties. The user can choose the user class that is routed across the network.
Behind the scenes
- Upgraded Gitea to v1.7.3, improving security and stability.
- Added more tests for equilibrium.
- Added elements for the upcoming simulation view.
- Fixed array based filtering.
- Fixed a bug that prevented the frequency chart from correctly updating on the routes view.
6th March 2019 - Hussar
GeoJSON tile layers in sidebar
Because it gets used quite often and can contain a lot of layers to make it easier to find and improve the overall usability, we have moved the GeoJSON tile layers from the bottom-left corner of the map into the left sidebar where now all the layers can be found under the Map Layers tab on all pages as shown here on the Network page:
Show selected node on Node Source View
As another UI improvement we are now showing the selected node alongside the Node Source Text title in the Nodes tab on Network and Audit pages:
Behind the scenes
- Simplified panel creation by moving its logic and templates into a new more reusable component so that we can host multiple charts in a single panel
- The collapsible sections in the side bars are called panels. Panels used to be limited to hosting a single chart but we often have 2 charts (or a chart and a table) that make more sense when combined together in the same panel. This change makes panels more flexible so we can improve the layout of the sidebars as we add more features.
- Fixed timing issues in map selection tests
- Fixed a bug preventing user from changing baseline on Compare page
6th Feburary 2019 - House Baratheon
- Add ability to lock baseline and updated properties on comparison page
Behind the scenes
- Add integration tests for node view
- Add additional snapshot testing for the site navigation
- Improve how time is grouped for the bar charts
- Improvements to codebase file structure and component re-usability
- Stop the map autocomplete field from wrapping the text
- Don't display null as a unit in the scatter chart axis labels
- Re-order charts into the correct categories on the Audit page
- Fix the 'zoom to active' map button so that it ignores non-active links
- Fixed capitalisation issues on the panel titles
- Fixed a bug which removed the selected property when switching networks on the output page
- Fix the map autocomplete showing links which were outside of the network
9th January 2019 - Hodor!
Additional tile layers for Exmouth
We have added several new GeoJSON based tile layers to our Exmouth project:
- Path Density Mesh
- Road Collisions
- By Foot
- By Bicycle
- Cycle Paths
As before, all new tile layers can be found and activated in the menu located in the bottom-left corner on the map, for instance on the Routes page.
Road safety layers
Station isochrones layers
Behind the scenes
- Removed superfluous code dependencies.
- Streamilined the generation of UC/VC based calculated properties.
19th December 2018 - Winter is Coming
Improved the turns length when there is a small gap between nodes.
Behind the scenes
- Improved automated testing by making the test more reliable
5th December 2018 - Silent Running & Duck and Cover
Updated UI layout
We made big changes to the layout so that all pages follow the same structure. This means more space for maps (especially on the Network page) and flexibility to show/collapse individual charts. The extra space means we can add future features into the sidebars without cluttering the map.
The base functionality remains the same as before but the new layout helps to organise and present everything in a more consistent way.
NaPTAN tile layers
Another addition to Cadence in this release is the NaPTAN tile layer set which shows public transport access points such as bus stops, rail stations, airports on the map.
The new tile layers can be found and activated in the menu located in the bottom-left corner on the map.
- Fixed an issue with turns into an external node not being drawn correctly.
Behind the scenes
- Enabled turns on Audit page.
- Improvement of the tile server pipeline.
- We automated a lot of the manual testing that we do for every release so that consistent functionality of the app is ensured and maintained across every new release.
14th November 2018 - Mecha-Streisand
Mostly under-the-hood tweaks and improvements, with more time dedicated to a major UI update which we plan to have ready for the next release.
- Preserve selected links and roads so they stay selected when switching map styles.
- Links not being redrawn after network type change on Network page.
Behind the scenes
- Clean up of the interface between map, layers and controls.
- Added more automated tests.
- Moving assignment functions from the client into our custom transport library.
30th October 2018 - Mothra
Lots of new turn-related features
Since adding turns to the network page we've been experimenting with ways to improve their visualisation. It can sometimes be difficult to understand all the movements at a complex junction, so we've added a new option which draws them as more recognisable roads (thick, grey lanes with a dashed centre line).
This makes it much easier to identify individual turns and select them.
Turns in output and compare
As well as seeing turns on the network page, they're now also added to the output and compare pages. This allows you to see turn properties from the simulation directly, as well as compare them visually.
On the comparison page:
Show/hide zone connectors
Previously, zone connectors were included within the links layer and so weren't configurable separately. Now, there's an additional option in the map layers menu which allows you to turn them on/off on their own. We've defaulted this to off, since we know that most people don't work with their zone connectors day-to-day and they can be overwhelming to look at.
Zone connectors are the dashed lines in this screenshot, drawn out to the light blue zones.
- Map tiles no longer have duplicated attribution text
- LSOA shapes have the correct colours on dark maps
- We've increased the tolerance for what we draw as a straight-ahead turn slightly, which fixes one mis-drawn turn we were aware of.
17th October 2018 - Loch Ness
ONS Census boundaries on maps
As a way of demonstrating the capabilities of our new data overlays feature, we've added some open data from the Office for National Statistics to our Exmouth demo project.
Initially we've added a few core layers that we know are used extensively in transport planning:
- Output Areas
- Lower Super Output Areas
- Middle Super Output Areas
- Workplace zones
- Travel to work areas
However, it's meant to show that it's possible for us to display almost any geospatial data alongside your transport network. We'll be rolling these free layers out to every project very soon, but if you have a custom data source that you'd love to be able to combine with your transport model, get in touch to see what we can do.
- The ‘others’ bar on the link index chart on the output page is now drawn at the proper size, rather than being invisible.
2nd October 2018 - Victoria
Drawing turns on the map and several bug fixes
Turns on the map
We now draw turns on the map as well as links and junctions. This allows you to visualise each movement at a junction directly on the map, and use the map to select individual turns.
- Switching network types on the output page no longer breaks selecting new properties.
- When a chart got filtered down to a single value or bucket of values, the label which displays that value/bucket didn't format the numbers correctly, now it does.
- Searching for zones or sectors on the demand page used to work differently: one required a number whilst the other required an id like Z1. Now they both use just the number.
- The new brush filter on the demand page didn't cause the main chart to re-calculate its buckets. Now it updates correctly.
17th September 2018 - Chocorua
Lots of little bug fixes, trying out some new controls to improve exploring demand data and finishing up the buffer network controls across every page.
Select areas on maps
You can now click and drag a box on any map to select all of the features within it (links, junctions, etc).
Everything under the box will get selected, but you can still fine tune your selection further by adding or removing individual links and junctions. This allows you to focus on a specific area really quickly and easily.
Re-bucket demand on the Demand page
We've known for a while that when viewing an entire demand matrix it can get a bit too much. Especially problematic is that there are lots of individual trips, and the dimensions we've used so far don't separate them out very much.
To help solve this, there's a new overview underneath the Trip Demand chart which lets you select a smaller range of pcus (e.g. focussing on the larger end of the chart, or just the first couple of bars) and effectively 'zoom in'. When you do this, the main chart will re-do the buckets, allowing you to select smaller chunks of data in the usual way.
Network selector on the Demand page
The final page to bring into the fold of allowing you to select between the buffer and simulation networks, we've now given this page the same selector as all of the others.
Since this page showed the entire network already, this is probably most useful in reverse - allowing you to see the demand that's solely within the simulation network.
- The map controls for things like zoom, selecting layers and the new area selection have moved into the middle. This gives us more space on each side to make better use of the overlays
- Duplicate count sections in DAT files are handled correctly, meaning that the first set of defined counts is used and the second ignored, rather than the other way round.
- Deleted junctions (if they're marked as such in the DAT file) are now removed from every page, rather than being included.
- The buckets shown in the Output page's frequency charts now match the correct network (simulation or buffer) that you've selected. Previously the whole network seeped into every page a little by setting the extent of this chart, meaning that if you had extreme values in your buffer network, you'd see less detail in your simulation network.
- Similarly, the Network page's node table used to show the count of all the network's nodes, even when it should've been more particular.
- We broke the search box on a couple of map pages in the last release, so we've un-broken it in this release.
- The large side panels on pages like Output and Demand no longer overflow the map on small screens
- Models with more than 10 user classes now parse the user-class properties correctly.
- The Bottleneck Capacity, Q/S and V/C formulae now better match the SATURN manual description of them.
3rd September 2018 - Cotopaxi
Comparing counts to flows on the comparison page, new base map layers, nicer chart bucketing and a revamped output page layout.
Comparing counts to flows
The comparison page has been extended further in this release to support a major new feature - comparing counts. This is the first part of our work to support one of the major areas of modelling - calibration and validation.
Initially, this works by displaying the count data that is already included in many .dat files. We total it up into a combined count (as shown in the screenshot above) and then also break it down by vehicle class if such counts are available.
Of course, counts are only useful when you have something to compare them to. We've had a combined flow (Actual Flow) field available before, but this update also adds vehicle class flows (produced by summing the constituent user class flows) suitable for comparing to each vehicle class count.
We know that not everyone puts their counts into their network definitions and that they often have more than one set of counts they'd like to compare, so next on our list is allowing you to specify additional csv files to load alongside your output.
As always, if this feature piques your interest and you think you could give us some useful feedback, or would like to be involved in it's development, do get in touch.
New base maps from Ordnance Survey
Ordnance Survey recently announced their "Open Zoomstack", a a trial of their new open data strategy. We've taken some of the most useful map layers from this release and made them available within Cadence alongside the existing OpenStreetMap derived layers.
Other smaller improvements
We've re-jigged the output page in this sprint so that it's laid out along more similar lines to the other pages. This means that the property and network selectors are now on the left, while the charts are on the right.
Also visible in that screenshot are our new, improved frequency charts. These try to group up continuous data into some useful buckets, and we've hopefully made those buckets even more useful in this release. These are present across both numeric charts and charts that show times and distances like on the routing page.
- The network page no longer runs out of turn priority categories and categorises "Downstream Merge" (or any other extra types of turns) as "Other".
- Additional data layers no longer get removed when changing the base layer.
- Clicking on the map layers control in Firefox no longer toggles the markers on the map by accident.
21st August 2018 - Currahee
Buffer networks across nearly every page, even more solution properties and demand matrices for all user classes.
Buffer network in the node view, output and comparison pages
Continuing our work from last time, we've rolled out the option to view the buffer network to several more pages.
You can now see solution properties (where they exist) across the whole network.
Likewise for the comparison page where you can compare solution properties across the buffer and simulations too.
And finally, you can see buffer nodes in the node page too. Although they don't have turns to view solution data about, this still lets you navigate the whole network and see the coding details of each node.
New calculated solution properties
Last time we added new properties from solution files like bus flow, but it's been a regular request to also include 'calculated' properties such as Volume over Capacity, or Queue over Stacking Capacity. These are now available, both in the output explorer and the comparison page.
Some of the new properties include:
- Volume over Capacity
- Queue over Stacking Capacity
- Actual Flow for each individual user class
- Total saturation flow
- Total average queue
- Average delay
- Average capacity
- Demand flow per lane
- Various emissions per hour rather than a total in kg
All user classes in the demand matrix viewer
Our demand matrix viewer has until now been limited to viewing a single user class' demand (the first user class by default). Now we've added an option for you to control which user classes it displays, so you can see them all in one go, or specific sub-matrices.
Adding additional classes combines them into the matrix, so you see the total number of journeys made by all of the selected classes and the map + table update accordingly whenever you change your selection.
- Things we display in tables like zones, nodes, links and warnings are now properly sorted, so zone 2 comes before zone 123 (for example).
- Selecting a combination of cells in the demand table that results in zero demand to show no longer causes the rows you selected to disappear.
07th August 2018 - Geronimo
More pages supporting buffer networks, extra properties from solution files and prototype GIS layer options on maps.
Using the buffer network on the routes page
In addition to the network page we added last time, you can now select between buffer and simulation networks on the routes page too.
On the network page this was just a case of letting you view the additional network, but for routes you can use the full set of routing features: drawing an isochrone over the complete network, banning links, etc.
Adding additional layers to the map
In this sprint we've begun development of a feature which has been requested by several users - the ability to add other layers of information to the maps alongside the transport data.
This is still very much in development, but our prototype allows loading 'styles' from the Mapbox mapping provider which can be configured per-variant and per-branch. This means they're versioned along with the rest of the project and you get the full power of Mapbox's platform to arrange and style your data.
We'd love to hear from users who have data that they'd like to see alongside their transport models so that we can work with them to make this feature meet their needs, so do get in touch!
Extra output data
We now extract several additional features for links and nodes from your output files:
- Count data
- Bus flow and reserved bus flow
- Number of lanes, flarex and flaref status, their bus lane equivalents and bus stop line setback
This means you can inspect these properties on the output page and compare them between versions or time periods on the comparison page.
- Empty networks no longer crash the audit, routes or output pages.
- The DAT file source text on the node view page no longer gets, erm, longer, every time you select a new property.
- Selecting a node on the output view no longer makes every node look selected.
23rd July 2018 - Apache
Improvements to the comparison tool building towards new features for validation and calibration.
Displaying the buffer network as well as the simulation network
For convenience, until now we've excluded any buffer network from most of the pages in Cadence. However, there are times when it can be really useful to see it, and we don't want to restrict your view of your data unnecessarily.
Because of that, we're working through the technicalities of how we add the buffer network into every page, and we've started that process with the Network page.
You can now select to see the simulation, buffer, or the whole network on this page via the dropdown menu at the top and the charts and map will update accordingly to include those links and nodes as well.
Compare any two properties and link to comparisons
As we said in the intro to this sprint, our main focus has been on building the base for future work to the comparison page. We think these kinds of comparison tools have a huge role to play in alleviating some of the most painful aspects of transport modelling, namely validation and calibration, and we're planning big things for them.
This sprint, we've added a couple of key new features. Firstly the ability to compare any two properties. This means you can still look at Actual Flow across any two time periods or branches of your model, but you can also compare Actual Flow to (for instance) Demand Flow within the same output.
This paves the way for us to allow you to compare outputs to counter data and other validation/calibration sources in the future.
Secondly, you can now link directly to a comparison, previously you had to specify the baseline you were comparing to every time you visited the page. That allows me to invite you to compare the effects of quintupling demand in Exmouth for yourself.
Navigate nodes in node view
You can now use the node view itself to skip between nodes in the network simply by clicking on their respective numbers in the diagram, giving you an easy way to inspect related nodes without returning to the network page.
- We've fixed some issues with the values on the comparison page's tooltips which meant that difference numbers were getting multiplied by a 1,000 when they shouldn't be.
- Cost estimates on the routing page now update properly when you switch between distance and time.
- Selecting an area on scatter charts is now more responsive so you can click and drag more easily
- The routes page works again in MS Edge v17
2nd July 2018 - Chinook
A small sprint this time with lots of small improvements, rather than any big new features.
- You can now hit enter straight from the 'ban a link' input on the routes page to ban links, rather than having to click the button.
- Across all pages, the map overlays are open by default. We noticed that our first move was always to open them up, so we decided to save everyone a bit of time by having them start off open. You can still close them if you need to.
- You can now access the help and changelog pages directly from the top menu on every page.
- The charts on the comparison page which showed you how each variant compared (the over/under bar chart and the scatter chart of values) had some pretty generic names and axes labels which made it difficult to know which way round they were comparing. We've improved these by adding in the variant names and the property you're currently looking at to make it clearer.
- Row charts have fewer ticks along the x-axis, since on very large networks the resulting very long numbers overlapped and were unreadable.
- Switching cost metrics on the routes page whilst you had one or more links selected and then removing the filters caused the table to forget about the other links. Its memory has been restored.
- Switching background layers on the routes page no longer leaves you with multiple start and end markers on the map.
- Node markers for nodes you haven't selected are now clearer on maps.
20th June 2018 - Combai
New and improved demand page
Building on our modest speed-ups from last time, we've launched a new and improved demand page which is much faster and significantly redesigned to work better with large matrices.
Now, instead of a zoom-able matrix alongside a map, the map is fullscreen and we display the matrix in a table which you bring up over the top. This lets you see the total arrives and departs from each zone at a glance and you can still drill into specific zones by clicking on rows in the table, or even individual columns to see where the demand is coming from/going to.
This new table also gives you access to our new demand grouping feature. Making sense of large demand matrices is often tricky when viewed zone-by-zone, so now we have the option to upload a grouping file which defines how zones fit into larger areas, e.g. 'City centre', 'Western suburbs' and so on. The viewer will then automatically group all of the demand from the contained zones, keeping the features of viewing it on an idealised network and filtering it.
The distance and number of trips filters which used to be below the map are now in their own overlay in the bottom right hand corner, allowing easier access to use them whilst keeping the map front and center.
Finally, this page is also now considerably faster - despite the fact that the data is being loaded directly from the .UFM files - as a result of numerous improvements we've made to the underlying data representation and the format it's transferred in from our servers.
Across the site you'll notice that we now show you a loading indicator and progress bars when we're downloading data or doing some intensive calculations. Whilst we'd ideally like everything to be lightning fast, all the time, this is a little helper when it's unavoidable that things take a couple of seconds.
Another helpful addition is improved tooltips on map features. They now contain not only identifiers for the node or link, but the relevant values and the appropriate units for those values. This means it's easier to distinquish your pcus/hr from your kg of CO2.
Ignore missing turns on comparison page
You can now compare outputs between slightly different networks - e.g. where turns or links are missing between the two variants you're comparing - without error. The mis-matching pieces of the network will just be ignored.
Comparison charts and links match colours
On the comparison page, the colours of the links reflect whether the values you're comparing are higher, lower or about the same as your baseline. Until now though, the chart that let you filter these down to show only 'over' or 'under' links didn't match the colours on the map, which was needlessly confusing.
14th May 2018 - Bernese
Faster demand pages
As part of our work to scale the tool to support larger and larger models, we've altered the underlying algorithm that helps us draw our demand mesh diagram and route demand over it. This has increased the speed of that process nearly 10x.
This takes a significant chunk out of the total time to render that page, but we're continuing to work on reducing this further over the next few weeks, as it's still the least responsive of our tools currently.
Compare branches without variants
In a further addition to our comparison tool, you can now compare two branches of a project even if you don't have any variants configured on those branches.
Switching cost metrics on the routes page (e.g. between distance and time) whilst you had a link selected caused all manner of things to go awry. Now, the page works as you might expect.
04th May 2018 - Akita
Compare across branches
In the previous release we announced our new output comparison page but cautioned that it was limited to comparing variants within a single branch. This was useful for tasks like sense checking your variants (e.g. is every link the same distance between am/pm and ip? However, it wasn't the most useful tool beyond that.
Now, it's possible to compare across any branch in your project, so you can explore the differences between any two scenarios. This makes the tool much more useful for visualising what the impact of certain changes is going to be.
Routing in minutes
Following feedback, we've updated everywhere that the routes page displayed times to show minutes and seconds, rather than just seconds.
- Tooltips of various links were difficult to access at times, now they're less temperamental.
- Dragging the flag on the routes page to a new link resulted in the autocomplete opening, now it stays closed.
- You couldn't de-select columns in the "Lanes" or "Turn Saturation" charts in MS Edge, now you can de-select to your heart's content.
- The axis labels on the Comparison page's scatter chart now make it easier to identify which way round the comparison is being made, and show the units of the property you've currently selected.
- If you select a property on the comparison page that only applies to links or turns, the charts now update to reflect that.
We completed a security audit in this release, fixing several places where we didn't adequately escape user data before displaying it.
The bugs we found meant that someone with carefully crafted project data or configuration could, theoretically, execute code in the context of another user (if they convinced that user to visit their bad project whilst logged into the site). This is known as Cross-Site Scripting.
It was not actually possible for anyone to exploit these flaws, since we currently control all of the data internally and no-one else has write access to projects or their configuration. However, in preparation for opening this access up in the future, and as part of our commitment to securing your data, we took the pre-emptive step of auditing all of our code now.
18th April 2018 - Dogs
We've totally rewritten all of our maps in this release, one of the series of performance and foundational improvements we've been making over the last few weeks.
With this new mapping technology we have a few improvements to the experience right away:
- Faster loading and filtering of large networks
- Ability to re-orient the map compass or plane
- Better searching when there are multiple features with the same caption (e.g. zones and junctions with the same id).
- Cleaner off-setting of link pairs.
- A new 'dark' layer to make some visualisations easier to see
However, the larger gains are from what we'll be able to do in the future:
- Present features or values of features in 3D.
- Add arbitrary additional layers to the map, e.g. demand zones, LSOA's, etc.
- Use custom base maps
- Scale to much larger networks
We've had a comparison page on our example Exmouth project for a while, however we haven't been able to offer arbitrary comparisons for everyone. Now we've both revamped the original comparison so that it's map-based and made it possible to compare any two outputs across all projects.
For now, the page presents you with a selection box to choose one of the other configured variants in your project, but eventually the aim is to be able to compare any two versions, either of the same variant (e.g. before and after you made a change to the demand or network), or another.
The way the page works is to let you pick a particular property from the solution (e.g. CO2 Emission) and then it displays the difference between the two model runs using a colour scale from green to red (for decrease to increase).
We also have the usual charts to allow you to filter down what is shown on the map by junction type, whether the new value is higher or lower than the origin, and a scatter chart to easily see values which have changed significantly.
We're planning to keep working on this process over the next few releases, adding the ability to compare the networks themselves and making it more robust so that we can eventually integrate it as a key tool in the version control.
New help videos
Node views of all types of node
We now show the detailed node view for every node type, so you can see all of the output properties on your dummy nodes and more.
- We now correctly label links and turns that were given infinite capacity using the special 9999 SATURN value.
- When you drag the routing start marker to a new link, the table of link costs now shows all of the links again.
- The typo of pb Emissions in output properties is now fixed.
4th April 2018 - Easter
A relatively small sprint this time due to the Easter break and a lot of our time being put into some larger ongoing improvements which aren't quite ready to release.
We've been busy improving the speed of file conversion, with significant improvements to networks and solution files so far, but there's still a way to go before we're happy to release it.
We have had time to sneak a few minor UI upgrades in, adding new icons for 'dummy' nodes (only visible if your network uses these types of nodes obviously) and for the panels on the output page.
- Using Up/Down arrows to toggle values in the routing cost input in Microsoft Edge now works like all other browsers.
- Single node diagrams could get cut off in some instances where nodes were very close to one another, now they don't.
- You're no longer auto-redirected to the login page if there's an error, meaning you no longer see a brief flash of an error page beforehand if something's gone wrong.
- Tables that have pagination had some issues updating the total counts shown when the rows changed underneath them. These are now fixed and the numbers always match what you can see in the table.
- Some turns were being excluded from the single node view due to a misguided attempt at de-duplication. All turns are now visible.
- The page footer now stays down at the bottom of every page where it belongs, rather than riding up on short pages.
- This page had the wrong page title, it's now 'Changelog' as it should be.
21st March 2018 - Goodenough
Live file conversion & online editing
All our work so far has built on our ability to process the input and output files from SATURN into formats more readily understandable by modern web technologies. However, the conversion process has been manual until now, requiring users to send us their data and then wait for us to upload it.
In this release we have an experimental (at this stage) feature which allows us to perform this conversion 'live'. This means you can upload new files to projects and immediately see the updated data across any of the existing views.
This feature is still in its infancy, so it's not currently enabled by default on any existing projects. It's still quite slow to convert large networks, and we'd like to improve the information it returns when there's an issue parsing data. If you'd like a demonstration now though, please do get in touch.
Complementary to this new ability to convert files in real time is the ability to edit them online. You can also upload new files, overwrite existing ones and delete files. Each action is connected to the version control system, so you create a new version of the project with an identifying message with every action.
Again, this isn't enabled by default on existing repositories because we're still experimenting with it. There is also some slightly complicated configuration needed to connect the files you upload to what you view in our stats pages. We're more than happy to give a demonstration or enable it for those that would like to try it out - please do get in touch!
Improvements to output properties
Related to our fixing several bugs with the data in UFS files, the output page now has much more human-friendly names for output. We've also limited the previously rather long list to those that users have told us are useful to them.
Routing by time (using turn delays instead of just link distance) is now available on all networks.
We've changed how we extract information from UFS files so that we use the unchanging ‘DA code’ identifier for each property, rather than relying on the names they're given, as these vary between SATURN versions.
The demand viewer is now available for all networks
We've resolved an issue whereby we couldn't display demand matrices when there were multiple zones with the same coordinates. Because we draw the demand on a map too, we now take these identical points and cluster them around the original location so that they're all visible and demand can be routed through them individually.
Searching for links now works across all maps
You can now search for links using identifiers like 1001-1002, where 1001 is the anode id and 1002 is the bnode id, in every map across the site.
07th March 2018 - Ascension
Selecting variants and new project page
Until now, we’ve only been showing a single ‘variant’ of the data in projects, usually AM (rather than PM or Inter-Peak). With this release, every page has been updated so that we can display data from any of the variants we have data for.
We’re using the term ‘variant’ here rather than the more obvious ‘time period’, because it can be used for much more than the usual am/pm/inter-peak separation. We have a very basic example with our demo project for Exmouth where we’ve built variants for normal arrivals and then solutions for the same network with arrivals multiplied by 3 and 5. This is something we know people do as a sanity check of their models, but we’d love to hear about other similar things that you do too.
As you can see from the screenshot, as part of this work we also have a new project page to serve as the starting point when you open the stats section. This lets you jump directly to any page for any variant we can currently load.
We’re aware that there are a few gaps where we’re currently unable to process files or have missing data, but we’re working on filling these soon.
New Isochrone options
We’ve moved the isochrone rendering that was part of the output page into its own page for this release and given it additional options that make it much more useful. Firstly, we can now offer isochrones based on turn delays as well as distance. This is a big leap in usefulness, allowing you to see the impact of congestion on the network and its clearly visible in our demo network:
With normal traffic:
With five times as much traffic:
In addition to this, we have a whole new set of controls which let you examine the network in even more detail. You can now set a maximum "cost" to see where is reachable within a certain time or limit the isochrone to a certain distance from your starting point. You can also remove or ‘ban’ a specific link, to examine the difference removing a key road would make.
The screenshot also shows another new feature, which is a table showing each link, it’s calculated cost and distance, allowing you to examine each link directly.
New help page with videos
Our final new feature this time is a help page, with the beginnings of our set of help videos to explain these features in more detail:
We’ll be expanding on these over the coming weeks, trying to cover all of the major pages and features we’ve developed so far. If there’s anything in particular you’ve struggled with, we’d love to hear about it!
Other minor features
There are now buttons to download the original "raw" versions of any file, "permalink" directly to the current version, and view a specific file’s history:
- The page no longer hangs when viewing the contents of particularly large files
- Node tables are now sorted in ascending order
- We moved our Clyst Honiton project under our own CSC organisation
- The header and navigation now work better on small screens
21st Feburary 2018 - Galapagos
Version control and file browsing
We’ve launched a major new set of features this time, with our file browsing and version control tools. We think they have some amazing potential to improve the process of transport modelling so we’d love to hear your feedback on them too.
As a starter, you’ll notice the site has a new homepage, and then when you login you’ll see a new overview of your projects:
This shows you a news feed of recent activity (it’s a little one-sided at the moment as we keep everyone’s data up to date, but watch this space) and a new repository search box that lets you navigate to any of your projects.
Once you’ve selected a specific project, there’s lots more to see:
We now list all the files you’ve uploaded, along with a host of version control information to help you keep on top of changes. The current examples are a little contrived, but they hopefully let you see the potential.
For example, you can pick a specific file and read the contents directly online:
But you can also see a history of changes:
And see exactly what changed in each version on a file-by-file, line-by-line basis:
Each of these files, their versions and the changes made have unique URLs which will never change. This allows you to be sure everyone is working from exactly the same file and talking about the same thing.
As well as these features for project collaboration and internal work, we’re also pleased to announce that we’ve released some of our internal test projects to the public. Anyone can now access our Exmouth and Clyst Honiton projects via the new ‘Explore’ page:
Other small features
In addition to these big new features, we’ve continued to make lots of small, incremental improvements to other pages as we collect feedback from our beta testers.
- The demand matrix now lets you select specific OD pairs by selecting the row and column to get an intersection
- Hovering over a specific cell in the demand matrix shows the full detail of the demand for that OD pair in a new info box.
- We now show more informative data when you’ve filtered down a view so much that a chart has no data to show, or all the data has the same value.
Finally, we’ve also fixed a few bugs this time as well:
- Toggling links & nodes on/off on maps no longer moves them up and down on top of each other.
- Links should always stay their appropriate colour when you change map layers to satellite imagery or back to map tiles.
- The audit page’s warning severity chart correctly shows the severity labels again (e.g. "Semi-Fatal error") rather than their numerical id.
- The single node view should no longer overlap the info boxes for each turn on complicated junctions.
- Links should now be easier to hover and click on all maps
7th February 2018 - Titan
Performance improvements across all pages
Our big work this sprint has been on reducing page load times and making the maps in particular more responsive. We’ve managed to speed up the initial network page load by 2.5x, and map drawing by over 10x. There are a few wrinkles still to work out of this new system, but we’re very pleased with the improvements, especially on our biggest networks.
Another key aspect of this speedup has been adding pagination to the node tables on the network and audit pages:
Zoom and pan in the demand viewer
The demand viewer we added last time has gained the ability to zoom and pan inside the demand matrix.
This makes it much easier to explore large matrices.
Other small features
- Origin/Destination axes are now labelled on the demand matrix
- The first property from the relevant menu is now shown by default on the output page, so you don’t need to pick it manually.
- You can now select either side of a link when viewing isochrones. Previously dropping the flag on a link would somewhat randomly pick one side or another.
- Axes are labelled correctly on output page charts, depending on whether you’re viewing nodes, links or an isochrone.
22nd January 2018 - Pluto
We have a new page for viewing demand matrices attached to your projects. We can load demand files and then represent them on a map, in a matrix form and show some statistics about the number and length of trips.
As with other pages, these all allow you to filter and explore your data, so you can see all the trips to or from a given zone:
Select specific trips:
Or filter all trips by length or total demand:
Better zooming on maps
We’ve added a new control to every the map that can be used to zoom to just show the currently active links or nodes.
You can also press the shift key and then click and drag to select an area to zoom to:
Showing better messages when graphs are empty
Often, using a lot of filters in combination to drill down into data will result in some of the graphs becoming empty because there’s nothing relevant for them to display. We’re now showing appropriate messages in those cases so that it’s clearer what’s going on.
- The map no longer errors when switching pages on Microsoft Edge
- The node view no longer causes errors in Safari
- Links can be opened in a new tab and a long press works on iOS devices
- Isochrones and other output sections work better when there is no data or no option has been selected
- Map search control only searches through layers that are currently visible
Behind the scenes
- Isochrone flag icons moved into a property object.
- Using a shared node source text view in all appropriate places.
- Displaying captions instead of IDs in tooltips.
- Split the bar chart code into ordinal and frequency charts.
- Split map layers code into several smaller modules.
- A basic output page can now be displayed on all networks, whether we have output data at all, by using data from the network file.
- Project config now allows for different versions of files, paving the way for different demand profiles or variants of networks
- Various small issues with automated browser testing improving performance and fixing some false positives
8th January 2018 - Santa
All Output variables now available through the output and individual node pages
It’s now possible to view every variable that’s present in your solution output, from A-Flows to Woven, overlaid on a map on the output page.
Variables are divided up by link and node depending on which they apply to, and are displayed either by colouring the link or drawing a coloured bubble around the related node. A summary of all the values is also displayed in a bar chart at the bottom of the page.
As well as viewing output variables, we’ve also started the process of using some of these output variables to produce other visualisations. The first of these is a distance based isochrone, allowing you to explore the routes available through your network, to or from any given link. Simply click on the start/end flag and drag it onto a link of your choosing to have the isochrone re-calculated on the fly.
We hope to extend this in future releases to include speed based routing, using the calculated output speeds from your solution files.
Turn diagrams and turn-by-turn output data on the individual node page
Extending the new node page we added last time, we now include table for each connected node, showing diagrams of each of the turns that are coded for it.
As well as making it easier to see the structure of the junction better, we also include output data for each turn directly in the diagram and in a table. As with the output page, you can select any of the output variables that are present, giving you a page to drill right down to a specific node and explore the data there.
As part of our ongoing work on the underlying platform, we can now expose the user profile settings from the supporting gitea version control system. This allows you to change important login details and set your avatar image, paving the way for team-based workflows in the future.
Other small features
- Warnings page renamed to Audit
- Tooltips on the output page now include node/link values for the selected variable
- Selected links are highlighted better, and coloured white over satellite maps for better visibility
- Source text from specific nodes can now be copy & pasted directly from the page
- The buffer network (if present in the network model) is now shown on the output page too
- Consistent sizing and colouring on all output page views, with data matching the graphs in all cases
- Map controls no longer move around when different layers are selected
- Main menu items correctly highlighted
- X-axis values on GAP charts are no longer zero or otherwise incorrect
- Map search suggestion box doesn’t get cut off in Firefox & Edge
- Variable selection on individual node view doesn’t get cut off
- Turns to Zones are now shown on the individual node page as well as turns to other nodes
Behind the scenes
- Repository branch list and navigation now built from configuration file, allowing them to have any names
- Lots of work on automated regression testing
5th December 2017 - Gimli
New output page dedicated to viewing simulation output
A new page has been added to every project where we have an output file, dedicated to visualising the data in a single KP or UFS output file.
Currently this page displays three variables from the output: turn saturation, assigned volume and link capacity, but additional values can now be added in at will. Nodes and links can be filtered as with other pages, and different map visualisation layers turned on or off independently.
This feature is the first step in our work towards releasing the data that’s currently locked up in complex simulation output files.
New drill-down page to view a single junction
From pages which have tables of individual nodes such as the network and warnings pages you can now access a drill-down view of individual junctions. This page shows an exploded diagram of the node and its turns, along with the assigned saturation on each turn and their lane counts.
- Junction colouring is now consistent across all pages, graphs and maps, so the junction type graph can be used as a key to the maps.
- All maps have been made faster
- Maps now show all junctions and links in the simulation network, with irrelevant data greyed out rather than removed.
- Nodes external to the network are handled better to show the full extent of the simulation network.
Behind the scenes
- The available data files can now be configured in a json file in the data repository, optionally for each scenario individually
- Initial work on editable user profiles
- Gitea upgraded to the latest version (v1.2.3)
- More work on making every chart responsively sized
- Maps can now hold any number of configurable layers
- Font files have been trimmed down
- Production asset minification turned on
20th November 2017 - Rainbow Dash
Basic browsing of organisations and projects
The homepage of the site now shows you the organisations you belong to and the projects within them that you can access. Currently you’ll see any projects you own and our built-in City Science models which we’ve also given you access to.
Select different scenarios of a model to view
As well as browsing organisations and specific projects, you can now select different scenarios of specific projects. You can see we’ve created an example by uploading the outputs for different demand multiples, but the scenarios can also include changes to the network itself.
- More human-readable titles for many charts
- Better consistency of units and axes labels
Behind the scenes
- Continuous Integration for the version control layer
- Separate html files combined into two Backbone.js Single Page Apps
8th November 2017 - Freyja
Data and Authentication are now managed by a version control system
All data stored in the site is now backed by a full version control system, based on the open source VCS server Gitea. This provides us a whole host of features on which to build better collaborative data management tools:
- Organisational accounts, project teams and individual user accounts
- Store every iteration of a model, along with who made what changes to it and when.
- Keep multiple versions alongside each other and compare the differences
- Publish and share data, or keep it private with fine-grained permissions
- Easily backup and restore entire projects with a variety of tools
The process of getting simulation output into the tool is now automated
This means that we can obtain the contents of any KP file and visualise it in the tool. Support for UFS files and extracting any of the extra data they contain is coming soon.
- Node search box works again
- Centroid turns are now associated with the to node, not the from node
- Saturation charts are only bucketed if there are a large number of distinct values
- You can cancel an attempt to authenticate for a data and return to the one you were viewing before
- Saturation chart axes were the wrong way round
- Brush selection no longer covers the whole chart when zoomed so you can de-select it without clearing all the filters
Behind the scenes
- Each chart is now in an individual class
- Webpack and ESLint upgraded to the latest versions
- Data loading tests are more robust
- Reducers for data processing are more flexible, taking a lambda to retrieve properties rather than a simple property name
- Reducer performance is improved, speeding up some of the scatter chart filtering.
23rd October 2017 - Loki
Links are now drawn on maps
As well as individual nodes, we now show the links that connect them on the maps on the warnings and network pages. Selecting a node filters the links down to those which connect to that node, whilst selecting a link filters the entire page down to that specific link, so that you can inspect individual link properties (or warnings) more easily.
- Fix issues with mouse scrolling on scatter charts
- Increase map zoom level
- Better bucketing on turn saturation charts
- Adaptive rather than fixed axis values on cycle time and turn saturation charts
- Charts are now sized responsively, so they adapt to different window sizes better
Behind the scenes
- Lots of code refactoring to move towards sharing code across pages and bring the various prototypes into a single app.
- Improved testing setup so that we can run automated tests against more of our code.
- Better testing of data loading code.
- New more human-friendly error pages
- Documentation of how the displayed data is produced from original network/solution files