Taxi rides, food delivery, education, babysitting, lifestyle – on-demand platforms, and apps have revolutionized the services sector thanks to providing people with easy access to products or services. For a few years in a row, Uber is considered a leader in the market. And currently, we can notice a growing demand for Uber-like applications among business entrepreneurs around the globe. How possible is it to create a similar app?
What is the Uber app? How does it work?
The idea was born in 2008 when Uber founders were discussing the future of tech at a conference. 2 years later, Uber officially launched in San Francisco. In half a year, they had 6k users and provided roughly 20k rides, and the company is still growing all around the world. BBC reports show, Uber estimated worth is $90 billion as of April 2019. This proves the expeditious yet continuous growth of Uber as a ride-sharing and hailing provider. So for those who have a plan to build a cool mobile app, we advise following their example. Uber definitely has transformed the world due to more than 75 million active Uber riders across the world.
Uber is one of the companies that created the so-called Sharing Economy. Being an online peer-to-peer marketplace, this platform connects service providers with users who need a particular service. Other examples of peer-to-peer marketplaces are Airbnb or Fiverr.Uber mobile app which is available both for Android and iOS connects customers (or riders) with drivers in a couple of clicks and charges the user’s debit/credit card automatically. Based on availability, there is a choice of various levels of Uber service that can be chosen directly by the user:
UberX – standard and the most cost-efficient option
UberSUV or UberXL – can accommodate up to 6 passengers
UberSelect offers luxury sedans. Expect to pay a premium price, and accommodate up to 4 riders. Select cars are typically BMW, Mercedes, Audi, etc.
UberBLACK and UberBLACK SUV – Offer luxury rides in the original Uber black car service. Vehicles must have a black exterior.
UberPOOL, offered in some cities, allows you to share your ride with another person and split the cost.
Before you start creating a mobile app (for taxi booking, for example), you should consider not only the technologies and frameworks that have to be used. The first thing to think about is the list of benefits that passengers and drivers can take. Uber is positioned as customer-oriented due to providing a user-friendly app with a bunch of features. If you want to create the same, your application needs to be convenient, reliable, and professional.
A classic uber-like app should be able to place and accept a trip request, send push-notifications and SMS, determine geolocation, and be cashless by making payments in real-time. These functions will be discussed in the article later.
The first thing to keep in mind when starting up your project: Uber is more than just one app. It's the whole system that consists of 4 connected with each other components:
Mobile app for passengers;
Mobile app for drivers;
Admin panel for monitoring and managing work processes;
Analytics - including trip histories, fares, user and driver databases, and other information
Let’s analyze its user flow from the passenger and driver sides:
Customer App Features
The first version of Uber or their MVP which was called UberCab set out to connect users with drivers and accept payments. Now, Uber offers a wider variety of features, for example, live-tracking for drivers, fare splitting, far estimates, automatic card payments, pre-booking, and more. Here are the core features to create an app like Uber from the customer's point of view:
The easy registration process and profile editing. A user could log in via email or social media account, add bank cards or promo code(s) info or choose another preferable payment method.
Geolocation and routing. Geolocation is the basic feature that should be considered while developing an app like Uber. In general, GPS technology is used to detect someone’s location. will discuss it in more detail below.
Push notifications. If this feature is not disabled by the user, It informs about the trip status, arrival time, driver and car details, and finishing a trip.
Ride cost estimation. The payment process seems more transparent because a user can check the estimated cost of the ride before booking.
Contact and feedback. In addition to the feature that users can easily find a driver’s phone number on his/her profile, there are also some options to contact the driver directly from the Uber app - send a message, call the driver and, when the trip is finished, rate and review them. Moreover, the user can check the driver's rating before a car arrives.
Booking history. This allows the customers to access their previous booking history, change star rating, switch a payment method, and report an accident or a different issue.
Customer support. Uber provides 24/7 customer support to its users. It does not matter whether the user is on or off the road, customer support agents provide consistent assistance on demand. The help section is also available on the website.
Even that list is not full. Uber developers and managers are constantly adding new features allowing passengers to have more personalized trips:
Choosing a type of car (standard, SUV, premium)
Booking a ride for others
Splitting a fare with other passengers
Booking in advance
Multiple drop-offs - users can tap “Add a Stop” to select up to two extra stops, either before or during a ride.
Driver App Features
Unlike a standard Uber app, one needs to pass the technical checks and to validate the driver's license to become a driver app user. After the procedures, the driver will have a right to have access to his/her personal app functions.
Basic features of the driver app include:
Easy Registration /Log-in features
Estimated costs and the earnings tab. Driver Delivery Reports provide statistical information regarding trips and earnings regularly.
Push notifications and trip alerts. In the same way as customers, drivers can receive alerts such as a new order, route details, payment info, and order updates.
Navigation and Route Optimization
Customer Support for drivers
Communicating with customers
Customer rating. It's the mutual process - passengers are rating their drivers and vice versa.
Technologies used to make an app like Uber
As was mentioned previously, a basic app (or your first MVP product) should allow users to request a trip, process payments automatically, and use Google Maps API to determine locations. All of this requires third-party integrations and scalable backend infrastructure.
Geolocation and Mapping Software
In order to locate a device, the Uber app uses the CoreLocation framework (for iOS apps) and Google’s Location APIs (for Android), however in React Native it’s possible out of the box. When the trip is started, Uber sends directions to both the driver and the passenger. To make it available Uber’s developers use MapKit for iOS and Google Maps Android API for Android.
Payment processing
Since this service is providing a cashless system too, customers can use debit/credit card, PayPal, Google Pay, or Apple Pay to pay for trips. All of it is easy to use in React Native, which speeds up development in React Native for both Android and iOS. As a payment provider, in February 2011 Uber chose Braintree for all of its international and US-based payments. Braintree processes payments in over 130 currencies around the world, so Uber's international passengers can pay in their local currencies. In addition, as Braintree claims, their encryption has also helped Uber reduce its PCI compliance costs by making sure all data is encrypted while sending between Uber and Braintree servers. However, you may want to consider other payment gateway products for your product. The top competitors in Braintree's set are ChargeBee, PayPal, Stripe, Square, and others.
Push Notifications and SMS integration
The communication in Uber-like apps goes directly from one side (a passenger who's ordering a trip) to another (a driver who is accepting or declining it). The same is with trip updates: a call center or customer support is not included in the process.
Uber text messages are processed by the Twilio telecommunications provider. To implement push notifications in the iOS app, we recommend to check more about Apple Push Notifications Service, and for Android - Cloud Messaging.
How to develop an app like Uber?
When you develop an app like Uber, from a user's perspective, you develop two separate apps: for passengers and drivers. So, which processes are included in the development? For sure, you would need to consider the following services:
Prototyping, UI and UX Design
App development (iOS and Android, or cross-platform)
Backend development
Web development
Quality assurance and project-management
A set of features you are choosing to build an app like Uber is the main factor of its price. The development cost is ranging depending on the number of basic and advanced features you as a product owner would like to implement. The estimated time can take from 1500 to 5000 hours (depends on the project requirements), including a separate app for drivers and passengers. The time may be distributed as follows:
Prototyping and Design – 15%
App development – 40%
Backend development – 20%
Quality assurance and project-management tasks – 25%.
Based on Uber example, the following skills are required from the development team:
for the web development: JavaScript, React.js, Angular, Vue.js
for app development: React Native, Java, Objective-C, Kotlin, Swift
backend and business logic: PHP, Node.js, Python
databases: Redis, MongoDB, MySQL.
Even If you don't have an in-house development team, outsourcing can easily solve this. Collaborating with a software development studio makes it possible to meet any problems head-on, cut down operational costs, and reduce the amount of risk. Here you can get familiar with some of our successful projects.
Uber as a business model
Uber-like services can be applied not only in the ride-sharing sector. Various business categories can implement the same approach, especially when:
Existing services work too slow and old-fashioned (food delivery, trip accommodation).
People need quick help with tasks they don't have time for it (babysitting, house-cleaning);
Even Uber has implemented its own model for in a different market segment and launched Uber Eats, a three-sided marketplace connecting a driver, a restaurant owner and a user with Uber Eats platform at the center. Uber Eats has grown from nearly 5% of the U.S. food delivery market in 2016 to a nearly 25% share in 2019.
This proves that the most important thing is to conduct market research, find your niche, and use Uber as an example of an on-demand services leader. At UIG we recommend starting with developing a Minimum Viable Product (MVP) instead of running a risky full-featured application from the very beginning. It would allow you to test your idea in the market and get the first customer feedback. What makes Uber so successful is the ability to change our imagination on how we think about technology and its operation.
Potential Development Time and cost
Based on the bare essential nature of the mobile MVP (the ‘must-have’ features), here’s what we estimate could look like in terms of time:
Mobile development- from 525 hours (less, if using React native framework)
Backend development- from 350 hours
Project Management and QA - from 375 hours. This is around 25% of development time, as the amount of testing is scalable to the amount of work produced.
Total: from 1,500 hours
Cost? It depends on the core feature list and can be estimated from $75 000 - if you choose the right development team!
Here we also would like to note that this is the number of man-hours which means that hiring additional people gets the work done faster (although there is a limit on how many people should be in a project - remember, too many cooks spoil the broth!) but doesn’t make it cheaper. If you are ready to translate the idea of your application into reality and evaluate the project in the first place, we are happy to discuss the details here.