Cab My Ride
For over 6 years, DevECS created and managed the technology for local taxi company Cab My Ride. During that time, the local start-up has become one of the highest rated taxi services in Southampton. All of Cab My Ride's technology, including dispatch system and mobile apps, were designed and developed by students. During the 6 years, we were constantly adding new features and ensuring the system runs 24/7.
DevECS had a very close working relationship with the Cab My Ride team, with our students often engaging directly with the client. This meant, when the company was in a position to recruit a full-time software developer, they hired one of our students!
Find out more about our work with Cab My Ride below.
The Challenge
In 2012, two brothers approached the University with the idea of an app-based taxi dispatch and booking system. While not experienced in tech, they were experienced in the taxi industry, and wanted to build an automated system that was fair for both customers and drivers.
Among the features of such a system would be:
- Taxi dispatching system, with smart and fair algorithm, including time and cost estimations
- Driver application, for both iOS and Android
- Customer application, for both iOS and Android
- Phone booking
- Web booking
- Taxi dispatcher management tools
Our Solution
We started by formulating a planning document based on customer requirements, allowing us to build the underlying architecture of the system - dispatching tools, websites and mobile applications.
Naturally, as technology and industry changed, so did our apps and dispatching systems. For some developments, such as in-app card payment, again a more traditional waterfall based method of development was used. For others, such as user interface design or new metadata, a more Agile approach was adopted to allow feedback from the client to be instantly reflected.
We also had to ensure the taxi service was running 24/7, including coping with periods of very high demand.
Android and iOS
Maintaining four apps is not easy, especially keeping them in-line with each other in terms of design and functionality, with both being updated frequently to keep up with trends and technology. One noticeable challenge over the years was the changing technology, first moving from Objective C# -> Swift on iOS, later migrating from native apps to cross-platform Flutter apps. This move served dividends in reducing time updating the apps, halving the number of apps to maintain.
Java
The Dispatch system was built in Java, utilising the powerful Java Spring framework. The core of dispatch was a state machine, managing the status of bookings and drivings, which has largely remained the same since its original design back in 2012. A series of APIs handle driver, customer and dispatcher requests. An auto-dispatcher service will automatically pair active drivers and pending bookings, allowing for a fully autonomous system, however a manual dispatcher could also intervene to allow much needed flexibility in decisions. Additions over the years included card payment services and refined routing and cost estimation services.
Website
The Dispatch website was a key tool in the operation, allowing operators to manage bookings and drivers, and input phone bookings. The tools of dispatch would evolve in both design and complexity over the years, as the company grew and expanded their services. Technology wise, it evolved from a tightly coupled JSP implementation into an independent Vue.js instance, allowing greater flexibility in design and hosting.
Uptime
One challenge of Cab My Ride over the years was ensuring it ran 24/7. As their customer numbers increased, a number of challenges were presented. One challenge was ensuring updates had little no effect on operations, as the busier were the less 'quiet hours' were available for a large system update to be deployed. Another challenge was ensuring that, as more people used the system, it would cope with load. This was particularly critical in the dispatch service, which was expected to reflect the updated state of bookings and drivers within seconds, so any lag had to be eliminated through caching and other optimisations.
Achievements
Cab My Ride has come a long way since 2012, and is now one of the highest rated taxi companies in Southampton. The technology provided by DevECS was key to that success, and has managed to stay up-to-date and in-line with business needs over the years.
Want to know more?
Quote From client
Our work with DevECS has been ongoing since 2012, and has covered the development of a full taxi dispatching system and suite of mobile applications. By providing industry ready students, for both long and short term contracts, DevECS has bolstered our in house development team, as well as facilitating the complete handoff of projects/management to student led teams.- James Adams, Chief Technical Officer, Cab My Ride