WOXAPP - company that develop mobile app for taxi. Taxi app development is a way to ensure efficient operation both for existing services and startups. Yandex taxi, Uber and Indrive are the most demonstrative examples.
Our team has created a similar project “7likes Taxi” for the taxi business in Switzerland. From this experience and after having worked with other geolocation services, we came up with a number of practical tips, “What should the customer know before starting a taxi app development.
You will find the answers to the following:
- What to start with? What tasks to set?
- How to choose a contractor?
- What platforms to choose: Android or iOS?
- What to pay attention to? How not to miss anything important? How not to exceed the specified term?
- What to do with the ready application?
- What questions to ask the contractor?
Let’s work it out step by step.
Who orders taxi app development?
Two types of companies may set their sights on a mobile app developing for taxis: existing businesses (taxi service, fleets of taxis) or startups. Although every taxi business has its own special characteristics, on the whole, a mobile app will provide the following characteristics.
The process of receiving and executing an order does not require the participation of a taxi service.
Without an order by phone. Reduces the cost of telephone communication.
The passenger does not need to call the dispatcher to call a taxi. The client sees in advance the brand of the car that will come to him, tracks it on the map.
Statistics for each driver: financial calculations, completed routes, location of the driver in real time, etc.
He sees detailed statistics of orders and monitors them in real time, controls the base of customers and drivers. This makes the business transparent and manageable.
Standard structure of the system
The Communication system of ‘driver – passenger – administrator’ consists of three independent elements:
mobile app for passengers;
mobile app for taxi drivers;
1. Mobile application for passengers
This provides the customers with the access to the taxi service online. A passenger downloads the app from the app store, and after starting it up, he can order a taxi. A customer can access many useful aspects of the app such as; tracking the car movements, monitoring the time the car is going to arrive, as well as being able to see the trip cost, driver’s rating, reviews etc.
2. Mobile application for drivers
Mobile app for taxi drivers is a working tool which helps to receive the orders, map the route, and calculate the trip cost.
The program records the trips and the bonuses are added up. A driver is able to see his statistics. The administrator has the right to deny access to the app in case a driver breaks the directions for use, or receives a lot of negative reviews from passengers.
3. Administrative web-panel
The ‘Admin web-panel’ is a tool to control and manage operating processes from the part of the administrator / s and the owner. Drivers’ performance, information about the customers, complaints, financial status etc. are shown in the form of tables and diagrams.
Standard architecture of the system
Specific features of the development of the taxi application ordering system, is that apart from mobile apps, you will need a so-called “back-end part”. This is a server application which will be collecting and processing data, sending them to the mobile apps. These data are operational for the purpose of the admin panels in the form of web or desktop applications.
This is a simplified scheme which we have used, specifically, in our projects.
Architecture can be roughly divided into 4 parts:
front-end part (admin panel)
As you can see, a mobile app is one of the parts of the whole system. It’s important to take care of other elements to achieve success with the project.
System elements communicate with each other via API. API is developed together with the whole system.
Work with system load
One of the weakest points of the system is the fast processing of huge data array. A passenger needs a taxi right now, and seconds count. A number of orders directly depends on the speed of the system response (mobile app addresses a server, looks for the nearest car, sends a response).
The second problem is peak loads. Whether there are holidays, a snowfall or it’s raining – a number of orders can rocket within minutes. A systems’ load multiplies accordingly, and it is at this moment the system should show its’ worth.
The following should be done:
- Lay the proper architecture on the server. What data in which tables to store, the structure of queries to databases, what data will be most often used, and what not.
- Determine the maximum load for your system. The taxi service in the city has 100 thousand inhabitants and services of national scale - different loads.
- Choose a list of technologies. Which withstand the load and the requirements for speed (databases, programming languages, etc.)
- Select and configure the appropriate servers in the desired region. Half the time depends on the response time of the server.
- During the development phase, carry out stress testing. Test the system at the planned peak.
That’s why we use queue and caching servers, build in the right architecture of storing data, customize a server to perform these tasks and conduct load testing.
Synchronization with existing systems
Do you use existing services and are not going to do away with them? Think through the process of synchronization with the mobile app.
They can be accounting systems, CRM-systems, VoIP, ready systems for taxi services etc. Synchronization is performed by operating the existing API or via developing the new ones.
Provide the developer with the requirements for synchronization before the development starts.
How is taxi app development carried out?
Determine which functions a mobile app will have. For this purpose:
collect the requirements from the departments which will be affected by the system implementation
select the programs which will have the synchronization
decide what way you will be operating the data
choose the platforms for which the app will be developed (usually it’s Android and / or iOS)
think thorough all the system elements and specify them.
Basic taxi app functions
A list of basic taxi app functions has been collected. You can prepare you requirements to the developers on its basis.
Mobile app for passengers:
The passenger app may have the following characteristics
function of searching the nearest taxi and selection of a car according to its parameters
possibility to specify additional requirements: number of seats in the compartment, driver’s knowledge of the customer’s language, availability of car racks for bikes etc.
information about the driver: rating, comments
options for communication with a passenger and methods of payment
possibility to leave a comment about the trip, to complain, to contact the administrator.
Mobile app for drivers:
The driver’s taxi app may include the following characteristics
Ordering table and notifications about the new orders;
‘Satnav’ and e-map with detailed routes of the trips;
Taximeter for calculating the trip cost;
Comments to the order: passengers requirements for the capacity and additional equipment (special child seat, roof rack, roof rails, box etc.);
Driver performance statistics: bonuses, statuses, financial report.
Admin panel, separate or synchronized with operating CRM, can include:
Interactive card in order to view the orders online;
Functions of control and managing: moderation of orders, examination and permit to work of new drivers or logging out, complaint processing etc.
diagrams and tables in terms of customers / drivers: which cars are available, how many orders are received / performed, distance measuring, payment etc.
Admin panel can also have the following:
Different levels of access to the information for the dispatcher and the owner (partial or complete).
Specify the access levels in the admin panel. The levels are set for the employees depending on their position and work location. If the service operates in different cities and regions, the access levels of the dispatchers in the regions are the following:
Statistics (day, week, month).
App screens: priority of choice.
When the basic and additional functions of the system are identified, the work starts at the app screens and user behaviour scenarios.
Application screens: sequence of selection
In the first place, a customer is required to input a number of parameters from the main ordering options.
Specification of address, from where and required destination.
What time and what car is required (what time the passenger shall be at the station).
Calculation of the approximate price and time of the car arrival.
Brief and clear comments to the order shall be shown in the blocks: search for a driver, will be available in 5 minutes etc.
The following can be hidden:
Driver’s rating and reviews about the trips.
Customers’ requirements (special child seat, non-smoking driver, language of communication).
Method of payment.
Why and what analytic systems to install
Build in one of the analytic systems. The most popular are Google Analytics, Firebase or systems on a paid basis - Amplitude, Mixpanel, Localytics.
It will give an opportunity to:
Monitor the events – particular actions of the users in the app.
Tracking – to see from which site the user installed the app.
Build in a service of collecting crashes (errors, failures) in the app operation and in unexpected shutting-down of the program. As a rule, fabric.io. service is used.
Before the startup, determine which indicators you should use to measure the apps
They are installed individually for each project and mainly answer the following questions:
how much the company earns;
how much it spends on attracting the clients;
how the clients use the app.
For taxi services they can be the following parameters:
Profit received from the app.
Number of active users a month.
Indicator of how many users missed the “flow cup” of the taxi ordering. For example, a user chose the direction, but didn’t press the “Order” button.
What else to keep in mind?
Build a feedback function in the taxi app.
Complaints and offers will be coming to the mail, so they will be fast responded. If such function doesn’t exist, the reviews will be left on the app stores. Negative comments on the app page can decrease the conversion and affect the search results.
It’s a vitally important element for a taxi. Service notifications – about a new order, about a just arrived car – will be entering via push notifications.
Introduce a possibility to estimate an app on a scale of 1 to 5. It affects the search results and product rating.
Which platform to choose: iOS or Android?
Select the one which is closer to your audience. Taxi is a mass product. In order to keep the customers we have come up with a taxi app solution for two popular platforms: iOS and Android.
In case you create a service for just one platform, you risk wasting your advertising budget. For example, a person noticed an advert, entered Google Play or App Store, but didn’t find the app.
Here is the example: When the app “7likes Taxi “ was being created, a survey was carried out on what devices drivers and passengers use. It turned out that all drivers with “7likes Taxi” have iPhones, so development of Android app for them makes no sense. However, drivers in the CIS prefer Android devices.
Convenience of interface and app nativeness
The easier, and more understandable the app interface is, the more orders are received and the faster the service is provided. On any screen a passenger should be guided quickly through the information of how to order a car.
To ensure the apps are convenient and retain the audience, it’s essential to follow the requirements for the design of iOS and Android OS.
The main task of these requirements is to create a visual language of communication for all the apps of the system. It’s called “nativeness”.
If a customer used a mail app and later downloaded your app, he should find familiar control elements and understand how to use your app.
Design for Android and iOS is different
Using non-native elements prolongs the terms of programming. If you want to introduce a non-native element, verify it with the business tasks. Is it cost-effective to extend the deadline because of this function?
Test the application
Test it on real users in order to know for sure whether the apps are understandable for the customer.
1. Conduct a survey of users at the design stage. Office staff or strangers can do the testing. Opinion poll can be held personally or via Skype. You can read about the method in the article “How to develop an interface” tips from a product-designer of Facebook Arthur Bodolts.
2. Perform a so-called “soft” startup. Publish the product and check its performance using a small number of customers.
There are excellent tools for beta testing in Google Play.
For iOS use Testflight tool (you should know the mail of the person who you are going to send the app to).
3. In Google Play you can test the graphics, icons, description using “Experiments” tool. A/B tests on your store listing.
Collected estimates and reviews will help to find and eliminate the errors and improve the product.
Taxi mobile app development cost.
The cost depends on the amount of working time of the specialists. The more complex the functionality is, the more time the development will require. The higher the cost..
How to make development cheaper?
If you already use ready-made taxi app solutions, contact the developers. Find out if they have mobile solutions.
Search for the ready-made solutions at the market. It will save you time and money.
How to choose a contractor?
Having chosen a development company, get to know its portfolio performance and recommendations:
Does the company have experience in similar developments?
How do they perform the development process? How can you control it? More details about how the development process is carried in our company.
What will you get from the developer in the end: a ready project, a source code, documentation package?
Does the company help in publishing the app?
What will be the cost of the technical support after the project handover.
Create development by iterations
It’s cost-effective to perform a development by iterations, i.e. release an app by parts. For example, the first options of the taxi order: the directions, mapping the route, cost calculation. These are more important as they form the basis of the ordering system. Later, operating complaints, crediting bonuses etc. should be added.
In this manner it’s possible to get feedback from customers, estimate the demand of each block at an early stage in order not to make unnecessary delays.
Take into account the cost of promotion and support
In order to attract an audience (passengers and drivers) it’s essential to draw up a marketing budget to promote the app.
Specific feature of the taxi app is that before attracting passengers you should involve drivers.
Beside standard methods of advertising (context, banner, social network advert etc.), become familiar with ASO-promotion. It’s a type of advertising which is created specially for mobile apps.
You will have to draw up a separate budget for promoting and supporting the product, where there should be expenditure items for evolution and support, payment for hosting service and server rental, payment for publishing on Google Play and App Store.
It’s important to develop and update the app after the startup for various reasons:
to take into account the incoming complaints and proposals from the users
to eliminate critical errors
to add up new functions etc.
Ready-made apps, both driver’s and a customer’s, can be published on special shops within Google Play and App Store. For this purpose you should:
Prepare publishing materials (an icon, screenshots, description, key words).
Pay annual fee for the account registration.
Upload the apps on Google Play and AppStore and send them for verification.
Taxi mobile app is a complex client-server program. We tried to describe the key moments which should be taken into consideration. The field of operations is a lot more extensive, and it would be impossible to delve into full detail here.
Are you thinking about developing a taxi app? We are experienced and can help you realise your plans for expansion. Contact us.