Last night, I attended a tech talk from Uber’s VP of Engineering, Ganesh Srinivasan. It was conducted at a lavish office located in the outer suburb of Bengaluru. We initially thought it was a full technical talk and eagerly entered the event for listening words like scaling, micro-services, automation, feature release frequency etc. But after listening to him for 10 minutes, we came to know it is about the business challenges for Uber.
Instead of feeling disappointed because of unexpected(non-technical) talk contents, all listened to the session with great interest because of challenges posed by VP.
Uber initially released its services in India in August 2013. Since then it became a go to the transport system for people who can afford a smartphone and an internet connection. That section of people increased rapidly thanks to the mobile revolution in India. Even retired senior citizens of major cities are using Uber for their transportation because of some what greedy auto rickshaw(tuk-tuk) drivers. Even though there are few more players in the market, Uber showed a deep mark in providing quality service. In this article, I wanted to share the thoughts I collected from the tech talk yesterday.
Uber’s main motto is
To make transportation as running water for everyone and everywhere
But can Uber can its final goal? VP of engineering says strongly it can do reach if it solves few challenges first. Any big problem can be broken into small pieces. Similarly, many small(& large) problems are blocking the Uber’s growth.
Here, I will share the VP’s ideas in his own words with a section wise discussion.
These are the problems specific to a particular place/community
Smart phone penetration is still needed to rise in developing countries like India and Brazil. More and more smartphones with good network connection imply more chance of using a transportation app. India looks very promising with many handset vendors are competing to attract the Indian customer.
There are few indirect factors that can benefit Uber. Reliance JIO brought free internet to majority people in India. It made people taste the all time network connectivity. Indian middle class used to think twice before recharging a data pack(3G, 2G) because it is not a necessary commodity. But, now with JIO people are consuming Gigabytes of data volumes in a single day.
Coming to Uber, it may be a boost for pushing people towards digital transportation. The problem with devices is India mostly uses Android and there are a thousand types of devices(cost wise, OS wise) out there. The 3G connectivity speeds are not as good as other countries.
Internet access is the main problem in remote parts of India, but in metro cities like Bengaluru, Delhi, Chennai and, Hyderabad due to the current generation of free wifi spots, JIO, and affordable data packs the conditions are improving.
The problem is the telephone networks are not reliable in providing 3G speeds, which shows an impact on mobile apps interaction. If app loads slowly, a consumer might get distracted. In hugely populated countries like India, the network congestion is a severe problem in providing the promised bandwidth.
Many people feel comfortable in their local language. European countries stress this point very clearly. Do you operate in English? We need French. To give a better and easy usability experience localization should happen. The app/service should be truly local. Uber is constantly trying to bring its mobile applications in multiple languages. Leave India, it needs to take care of all its countries of operation.
Pricing is a very important factor for Uber. If it is able to safely transport people with prices that are much better than local private channels, it can solve this affordability problem and can acquire more user base. There are few other sub challenges that Uber can face in the path of affordability.
- Surge prices
- Short distance pricing
Surge makes people turn away to another provider. Short distance pricing is a bit tricky because of minimum fare threshold. Uber should make sure that fixes for this challenges are economically viable for the company.
In developing countries like India, Indonesia & Latin American countries, the population density is high. This is going too much near to places like movie theaters, shopping malls, temples and, visiting places. The availability of cars will be same for each and every part of the city with a slight variation. Uber might be deploying more cabs at the peak time near a shopping mall, but once they are departed for a mission, next set of cabs should be routed to this mall area to constantly give the service.
This is an idea or proposal. We need customized algorithms to do these things. Uber is trying to handle these special conditions
All these tell one thing
Solving India’s needs can solve problems of other emerging markets
These are the technical/engineering challenges in front of Uber where its engineers are striving hard to come with solutions.
Graceful Degradation of UX
Uber should gracefully degrade the users when there is no sufficient bandwidth or processing power. It means the app should choose what UX it needs to give depends on the capacity of the user device. An app should utilize the power of Samsung S8 or Nexus 6 to give best in class experience to the user. The same app should do the purpose of the app even on the sub par mobiles like Moto E.
This process is called graceful degradation. The two ways to achieve them are:
- Using Lite versions on low-end mobiles
- Limit API calls to server
Caching in Real Time
Uber does a lot of real time computation and should be very careful while caching things. News sites like Guardian, BBC can use caching efficiently deliver news articles & journals for the consumers. But for Uber, the problem definition is different. It cannot freely take the benefits of caching.
There will be caching on the server where already computed elements may need not recomputed.
Yet cache busting mechanisms should be clever and error free to avoid eternal confusion.
Whenever a new project is started, the infrastructure and layout are more important. The design should be solid, future proof and viable. But in a rising brand like Uber, in order to stay in competition the new features should be added every now and then. There will be few compromises on infrastructure, best practices and hence exists the technical debt.
Uber is taking this problem very serious and asking its engineers to think upfront. By that they can easily rollout features they need.
Accuracy of Maps
Uber maintains their own map and navigation system. The accuracy of Uber vehicles depends on the quality of GPS chips they install on the driver’s handset. This overall chips cost determines the service quality. But Uber need to think another way of solving this problem.
Ganesh Srinivasan pointed out “In India a Uber driver can easily be bewildered if GPS points him wrongly onto outer ring road instead of a service road. We are trying our level best to make the navigation works more accurate”
New Interfaces & Usability
Uber is launching its services in multitude of countries. In this course, they are understanding the cultural differences and trying to give best possible interfaces which are localized(look & feel as native built)
In countries like India, If driver is not well educated, there should be an easy way for him/her to understand the application. So app designers/developers at Uber need to take care of all localized mindset inputs.
Build best class interfaces for best class devices on available best class networks — Ganesh Srinivasan, VP of Engineering, Uber
Fraud detection systems
Uber already has and in future continue to have the fraud detection and monitoring of critical systems in its real time payments. It also needs a more robust testing automation enabled for frequent releases
Finance technology teams are organized by Uber for this purpose and they did the job pretty well.
Sandeep Menon explained more about this department here.
What is FinTech @ Uber? Uber Mission # "Make transportation as reliable as running water everywhere, for everyone…
In all these areas, Uber is already moving with a great pace. But it is wishing to do more. More and more interesting stuff comes in the engineering blog of Uber.
Few things Uber Can Try in the future
All the above points are noted directly from VP and took down as notes. What Uber is trying to fix, where it is trying to improve etc. Here as a listener, I wish to suggest Uber try few things.
Place kiosks at the Airports & Interesting City Points
Uber should try to serve and attract a new customer too. A person who is getting down from a flight should not worry about charging in his phone battery. If electronic wifi connected kiosks are available for customers, there is no need to think that Uber can be booked only from a mobile. This allows new customers to try Uber and gets engagement.
This is not simple because of no GPS at customer. The implementation layout can be this.
- A customer comes to Uber kiosk and books a cab. Take UberID
- Give kiosk location to nearby driver
- Repeat steps 1 & 2 with different customers
- Pop a list of customers | drivers | mobile-numbers on kiosk
- When driver arrives at kiosk, he declares the Customer and gets him in
- Remove mobile/device as a necessary criteria
- Make Uber available for everyone
- Since no mobile is involved, may lead to confusion
- Safety of Kiosks
Gift a Uber ride Booking for a Stranger
I said to gift a Uber ride booking doesn’t ride itself. Since Uber has the cash payment option, when a stranger or a recently met guy is in a need to book a cab, what we can do?
We can book a cab to his/her location, and add cash payment as the mode of payment. Here we are losing nothing but helping others to reach their destination and allowing Uber to serve
- Chance to boost Uber rides without mobile app/device
- Helping the people in need
- Implementation system already exists with cash payments in Uber app
- Fraud passenger detection
- Review system will be skewed
These are just suggestions. May be Uber tried them before or planning to all the best for them.
Personally I got a lot to think through by listening to that Tech Talk. Hope you enjoyed my analysis.
Finally me with my friends who attended the tech talk
Thanks :) For comments, reply to @Narenarya3