myki made
simpler

Symbiote myki integration 2020 30

The upgraded myki system enables millions of Victorian commuters to top-up on the move.

Introduction

Millions of Victorian commuters are now using the upgraded myki system to get around every day. They enjoy simple, accessible, flexible options for planning and paying for their journeys because we’ve focussed on what they need.

We were eager to get to work when our client of ten years, the Department of Transport Victoria (DoT), decided it was time to improve the myki account management systems while also improving access to the myriad technologies that support it.

What is myki?

myki is a reloadable credit card-sized contactless smart card ticketing system used for electronic payment of fares on most public transport services in Melbourne and regional Victoria, Australia.

Making trips simple (when the world is really very complex)

Over many years we’ve spent time understanding how people use all kinds of public transport – what their journeys are really like and what would make them even better.

Then we put everything we learned into improving their experience of planning and paying for their trips.  

A key change was the incorporation of myki account management into the Public Transport Victoria (PTV) website, so travellers can now manage their travel card in the same place they look up timetables, plan trips and gather changing travel information.  

We’ve paid attention to the details. Life’s simpler when you can manage the money on your myki card digitally in order to top it up and see how much money is left on your account – or, if you have impaired vision, having your screen reader quickly tell you what’s on a page. We know people just want to grab their myki card and get going. 

The things commuters might not notice, but still benefit from, are the technological smarts we developed to make the site load quickly with data from a range of sources, even coping with huge spikes in demand, while serving up-to-the-minute information that gives them choices about how they travel. 

Travel is so much easier when your digital transport tools are fast, intuitive and highly accessible, allowing people to plan or modify their journeys on the fly and dealing with changes without disruption.

symbiote-myki-mac desktop-ipad-iphonex-mockup

Making the project run smoothly  

Projects of this size need more than just technological and programming know-how – they also rely on expert project management and communication at every step along the way. 

Our clients appreciate having someone they can talk to whenever they have questions, so they’re always happy to have direct access to our senior team members who know how to explain things to them in plain language. 

No-one wants surprises, which is why our daily stand-up team meetings and frequent reporting kept everyone in the loop about what was happening and what was coming up.

 

mac desktop-ipad

Making different kinds of technology work together, with an eye to the future

We worked closely with our technical counterparts at the DoT to develop ways to understand and manage complex inter-relationships between a number of different systems, handling surges in demand, allowing for future improvements and keeping options open to allow compatibility with technology that doesn’t even exist yet.

DoT now has greater control and flexibility with how their customer facing systems interact with key customer data, which means they can successfully deliver on their five-year Customer Experience strategy. 

The new unified API we designed and developed for DoT does the incredibly difficult task of making interactions between complex back-office environments appear seamless.

DoT’s expansive digital roadmap demands customer-focussed extensibility to the website, apps and the unseen future. Our solution has been designed with DoT and other technology partners to deliver a superb customer experience in the present, while maintaining flexibility for the future.

symbiote-myki-mac desktop-ipad-iphonex-mockup

Our Process

System integration

“We implemented a middleware layer API, which provided endpoints tailored to fit the requirements while hiding irrelevant details of 3rd party APIs. This enabled us to create a great interface for the UI implementation and other digital channels.”

Rob Sternberg - Lead Software Engineer

Team member

Rob Sternberg - Lead Software Engineer

Read Our Process
A motif of six squares arranged in a grid pattern with three squares on top and three squares on the bottom

The solution

The previous mymyki system provided a clunky interface for users who wanted to do simple tasks quickly. It had more complex processes and was error prone. This system could not be improved as it wouldn’t allow external systems to interact with any of the myki subsystems.

The new API needed to make it as easy as possible for customers to use the PTV website and PTV mobile app to: 

  • log in with a myki account
  • order and pay for myki cards or specific passes
  • top up myki card balances
  • manage payments and review transaction histories.

Functional needs aside, the API must scale to perform under high traffic volumes, while also being engineered to allow flexible deployment techniques to remove the need for downtime as new functionality is introduced. We used a variety of AWS managed services to enable the system to quickly process requests, while retaining the ability to scale horizontally to meet increased demand. Alongside EC2s handling web workloads, we make use of AWS Lambda capabilities for performing asynchronous data processing, ensuring requests are processed as rapidly as possible.

As the API is at the centre of a large scale integration of several systems it needed to be resilient. A complete logging and monitoring framework allows the system to be managed, while observing privacy requirements. 

 

System Integration Summary

We used a suite of tools to help deliver this system intergration.

Tools used

  • Slim PHP
  • Docker
  • Apache2
  • PHP 7.3
  • MySQL
  • AWS Lambda
  • Postman
  • Bitbucket and GitLab incl. CI
  • VIM / Visual Studio Code
  • SilverStripe

User Interface Development

"The myki delivery incorporated a completely newly designed and built web front end. Our experience working with React within the existing PTV Website provided us with an in-depth understanding of the existing system and its reusable components that are served by Silverstripe CMS."

Chris James - Front-end Developer

Team member

Chris James - Front-end Developer

Read Our Process
Stylised dark green circle motif

The solution

A key goal was to iteratively deliver new capabilities to the main website project, allowing the PTV website to continue to evolve while not blocking development of myki features. 

  • User-research driven UI 
  • State of the art React/Redux single page application
  • Structured, reusable code & components 
  • Accessibility
  • Responsive

 

UI Development Summary

Improving the myki experience gave us the opportunity to use a variety of tools as part of this project.

Tools used on the MYKI project.

  • HTML
  • CSS
  • React
  • Sass
  • TypeScript
  • Redux
  • Webpack
  • Silverstripe

Devops

“Great system choices, excellent DevOps practices and bulletproof communications channels: these are the ingredients that allowed us to repeatedly release stable deployments. Our clients trusted us to test and release improvements to the interface without interruption to the users or the system. We had the plans, systems and know-how in place to ensure every release was fully functional, with a simple rollback solution to manage the risk of reverting changes. And the whole system was built to be maintained in modules.” 

Owen Windsor, Managing Director

Team member

Owen Windsor, Managing Director

Read our process
A motif of six squares arranged in a grid pattern with three squares on top and three squares on the bottom

The solution

Rapid development of the infrastructure was supported by great DevOps practices. Developers and DevOp engineers worked very closely to take into account performance, security and stability. Clear communication channels meant we could deal with issues and concerns quickly.

Deployments of such a complex application can often be a pain point and delay new releases in functionality. In this project, rapid deployments were one of our strengths. The whole team was involved in ensuring that deployments were stable, repeatable and frequent. We were able to release functionality at an incredible rate through a savvy use of automation.

Robust testing of the functionality, performance and stability of the solution gave the team and our client the confidence to release substantial changes. We mitigated risks by knowing the limits. We managed infrastructure and deployments through Terraform/atomic changes, which enabled:

    • Management of various components of the solution
    • Partial and full deployments
    • Failsafe and reversible deployments.

This was a complex solution with many moving parts. In order to wrangle all this infrastructure we leveraged Terraform to manage the infrastructure and primary method of deployment. This allowed us to make repeatable and atomic changes that could be rolled back quickly if issues arose. Happily, this was never required. Terraform also allowed us to treat parts of the solution as maintainable sub-systems in their own right, further reducing the risk on deployments and dramatically improving maintenance.

  

Devops Summary

Supporting a large site with many interconnected pieces is not just about technology. It extends to the teams and people, and working together for customer outcomes. 

Support tools we use with DoT:

  • HashiCorp Terraform
  • Gitlab
  • Docker
  • HashiCorp Packer
  • AWS Services (lots)
  • Okta
  • Jira
  • Confluence
  • Logzio
  • NodeRed
  • New Relic
  • JMeter
  • Python
  • AlienVault SIEM