Yarra Trams operates Melbourne's extensive public transport tram network, ensuring efficient and reliable service across the city. The need for this project arose from the desire to enhance operational efficiency and provide internal staff with precise, real-time information about tram locations. Recognising the potential for significant improvements, Yarra Trams partnered with Portable to optimise their MAPRA system.
With a proven track record in developing and refining systems for public transport networks, Portable conducted a thorough analysis of MAPRA's existing functionalities and identified key areas for enhancement. Leveraging advanced technologies and user feedback, we implemented upgrades that streamlined the system, resulting in faster, more accurate tracking and improved decision-making capabilities for Yarra Trams' staff.
The Challenge
The client, YarraTrams, sought to resolve significant performance issues in MAPRA, an Azure Maps application, that was extremely slow and difficult to use. These issues resulted in wasted time, hindered decision-making, and complicated the integration of future layers such as passenger counting indicators, power poles, and traffic data. The prescribed outcomes and deliverables included:
- Performance Optimisation: Conduct a comprehensive performance audit and implement rendering optimisations to improve the application's speed, making it smoother and more responsive. This addressed the usability issues and reduced wasted time.
- Enhanced Data Processing: Streamline data processing methods to enhance responsiveness and efficiency, ensuring real-time data handling capabilities. This improvement facilitated better decision-making and ensured that updates could be processed quickly.
- Improved Extensibility: Ensure the application is scalable and capable of integrating additional features and layers, such as passenger counting indicators, power poles, and traffic data. This addressed the difficulties in adding future layers and made the application more adaptable to evolving needs.
Additionally, strict deadlines and the need to manage complex requirements for real-time data handling and scalability impacted our approach, necessitating meticulous planning and execution to ensure the application's robustness and future readiness. By addressing these critical areas, we transformed MAPRA into a high-performance, extensible application that could handle complex data and rendering tasks with ease.
Our Approach
Portable approached the optimisation of MAPRA, with a systematic and data-driven methodology. Our team first conducted a comprehensive performance audit to identify key areas of slowdown and inefficiency. Through meticulous monitoring and profiling, we pinpointed specific bottlenecks in the system. Our investigation focused on the following areas:
- Rendering Performance: We observed that the HTML map layer was causing significant rendering delays due to its reliance on CPU processing.
- Data Processing Efficiency: Real-time tram updates were being processed individually, leading to high latency and inconsistent performance.
- Object/Shape Rendering Strategy: The application was rendering shapes and objects one by one, resulting in slow and jerky updates.
- Startup Backend Requests: During startup, MAPRA was making around 200 GET requests to the backend for tram route timepoints, causing a delay in initial loading.
Armed with these insights, we implemented targeted solutions to address each issue:
- HTML to Shapes WebGL Layer Conversion: By converting the HTML map layer into the Shapes WebGL layer, we utilised GPU acceleration for rendering, which significantly improved the map's interactive performance.
- Bulk Data Processing: We introduced a bulk processing method for tram updates, partitioning the updates by tram and processing them every N seconds. This reduced the system's processing load and improved real-time update performance.
- Bulk Object/Shape Rerendering: To enhance rendering efficiency, we implemented a bulk rerendering approach. This allowed multiple objects/shapes to be updated simultaneously, ensuring smooth and rapid updates.
- Reducing Startup Requests to the Backend: We optimised the startup process by consolidating the approximately 200 GET requests into a single bulk request. This drastically reduced the startup time and backend load.
These optimisations transformed MAPRA into a smoother, significantly more responsive application. It now starts up much faster and uses fewer CPU and memory resources. As a result, MAPRA is a more robust and high-performance application, capable of handling complex data and rendering tasks with ease.
Data Sources
Dynamic data sources
Vehicle Monitoring Data: This real-time data source provides live updates on vehicle positions and movements.
Smarter Trams Pipeline - Augmented Data: This data source enhances the raw data with additional contextual information to improve accuracy and relevance.
Static data sources
Stop Details: This dataset contains information about tram stops locations.
Route Details: This dataset includes the specifics of tram routes, such as start and end points, and the paths taken.
Timepoint Names: This source lists the names of key timing points along the routes to aid in scheduling and tracking.
Outcomes
Real-Time Updates:
Having real-time data integrated into a map-based application significantly enhances tram operations. This application allows Yarra Trams Operations Control to monitor the precise location and movement of each tram within the network, ensuring adherence to schedules and swift identification of delays or disruptions. The Yarra Trams Operations Control receives real-time updates, enabling them to communicate with the drivers if they need to adjust their speed or routes to maintain optimal service.
Furthermore, there is an overlay that shows overall network performance across the day. This overlay helps the Controllers to make optimal decisions around how to deal with delays, based on how the overall network is performing.
Incident Management:
Effective incident management is crucial for maintaining reliable tram operations. Real-time monitoring allows Yarra Trams Operations Controls to swiftly detect and respond to disruptions such as accidents, traffic congestion, or technical issues. Immediate communication of updates to drivers and passengers mitigates confusion and ensures everyone stays informed. In significant disruptions, emergency protocols are activated, dispatching technical teams or arranging alternative transport options to minimise delays.
During incidents, the Yarra Trams Control Centre can contact relevant Customer Service staff to play the vital role in assisting with enquiries, alleviating passenger concerns, organising alternate transport or augmenting the services. The MAPRA application allows the Control Centre to place staff where they know the passengers will be, down to the most appropriate side of the road. Overall, real-time monitoring, efficient emergency responses, and continuous support ensure effective incident management and minimal impact on service quality.
Peak Hours Management:
The application displays deviation data on the screen, providing the Yarra Trams Operations Control with immediate insights into schedule disruptions. This real-time information allows operators to quickly address delays, adjust tram frequencies, and communicate updates to drivers and passengers, ultimately ensuring a smoother and more reliable service.
Asset Intelligence:
The application’s ability to map out assets on the network provides significant benefits for Yarra Trams Operations. It offers a comprehensive overview of the entire tram infrastructure, including the locations of trams, stops, powerlines, poles, and maintenance facilities. This detailed mapping enhances operational efficiency by enabling better resource allocation and quicker response times to incidents. It also aids in preventive maintenance by allowing operators to track the condition and usage of assets, thereby reducing the likelihood of unexpected breakdowns. Furthermore, having a visual representation of the network supports strategic planning and decision-making, ensuring that services run smoothly and effectively, ultimately improving the overall reliability and safety of the tram system.
Reflections
"It was interesting getting to work on and improve such a crucial tool.
Through this project I got to learn how to improve data structures and design patterns as well as utilise networking knowledge. We had limited time to complete the work so we had to be very efficient in our approach of identifying problems and quickly come up with long term sustainable solutions. In the end we saw large performance improvements and rewrote the entire tram marker and tram stop rendering system."
Paul Thomas, Mid software developer — Portable
Project Team
- Anthony Daff, Business Director
- Joel Langford, Producer
- James Zhang, Lead Developer
- Paul Thomas, Mid Software Developer
- Divya Puthumanappully, Senior Software Developer
- Terry Collins-Hawkins, Senior Software Developer
- Faiq Gazdhar, Technology Lead