Taxi is one of the most popular services today: it’s quick, comfortable, door-to-door, and the rides cost is recently quite fair. Where there’s demand, there’s supply, and the rivalry among the companies offering taxi services is very tough. One needs to have an obvious advantage over the competitors to attract and keep clients. Our customer placed his bets on the modern software, dedicated to taxi companies in the first place and harnessing the most advanced technologies for them.
The AzzApp application represents a taxi aggregator for taxi fleets. The customer, a French company Pragmatik, had already developed a similar system many years ago and had a certain idea about what the application should be like. But technologies had gonelight years away from that time, taxi services had also evolved significantly, so the project started with the stage of analytics: Noveo specialists designed the requirements for the new system and reworked the initial specification of the customer.
The system consists of two parts: a web-application for the companies-owners of taxi fleets, offering to its users different possibilities depending on their roles (a taxi fleet owner, its administrator, a taxi driver or the site administrator); and a mobile application for drivers for iOS and Android. The orders are transferred to AzzApp from the customer’s system via API and are evenly distributed among the taxi fleets, and within a taxi fleet - among the drivers by certain geographical zones.
The analytics stage was followed by the stage of prototype development: Noveo team implemented the first working version of the system, which is currently being tested by drivers. According to the results the commercial version will be developed, its release is planned for the beginning of spring.
At the prototyping stage we met a number of challenging issues. First of all, the system should carry high loads, processing simultaneously data from several thousands drivers incoming in the real time, as well as a big amount of orders. Wisely designed microservice architecture on Google App Engine not only allowed to satisfy present demands for performance, but also guaranteed the possibility to scale the system for even bigger loads in the future.
Secondly, a very important task was to ensure almost immediate, practically within several seconds, reaction of drivers to the received order. At the time of the prototype development the standard push notifications were generally used to send messages from the server to the mobile application; pushes work normally in most cases, but still don’t secure the speed and even the mere fact of delivery. To avoid lost and delayed orders, we used an online database Firebase - it is more convenient and sends messages in the real time, so that drivers can nearly instantly confirm an order.
The third challenge consisted in integration of the application with the trip computer. For this purpose we involved the OpenXC library helping the mobile application to get all necessary information from the car - its speed, GPS coordinates etc. and transmit it to the back-end, which allows to distribute orders in the optimal way. In the prototype it was realized only for Android version, because iOS didn’t support Open XC, but now it has been added, so in the first commercial release this feature will be implemented not only for Android, but also for the iOS-application.
The project has already proved itself as extensive and interesting, and its continuation promises to be no less exciting. Our thanks to Pragmatik for such a project, waiting for success of the commercial version! =)