3 ms·
> Tooling is a major issue: compiling the app from scratch takes 25-30 minutes on iOS and around 10 on Android As a relatively naive to massive apps iPhone dev
by jonplackett 5y ago
> Tooling is a major issue: compiling the app from scratch takes 25-30 minutes on iOS and around 10 on Android
As a relatively naive to massive apps iPhone developer (I’ve made apps with millions of downloads, but nothing on Ubers scale) I find it confusing how a relatively straight forward iPhone app like Uber can be so complex. It’s basically a map and 3 buttons? And an ‘in the car’ state. They weren’t doing pool or bill splitting at this point I don’t think. I’d have thought everything else is back-end complexity?
Can someone do an explain like I’m 5 on this?
- solarkraft 5y agoHere‘s a pretty comprehensive video about it: https://youtu.be/zmeCYiD0hnE https://youtu.be/zmeCYiD0hnE TL;DW (IIRC): Uber is in a ton of markets and each one has significant differences, for example in payment providers - the app needs to support all of them and each comes with its own SDK.
- aidos 5y agoFrom memory, when this came up before there was a lot more information about how they have to jam in a load of stuff to deal with international travel so that everything works as soon as you arrive in another country.
- lhorie 5y agoThis exact question was answered before here: https://news.ycombinator.com/item?id=25376346 https://news.ycombinator.com/item?id=25376346
- twobitshifter 5y agoEven reading all of that I am still surprised to find that the Uber Rider app is a over 1M LOC per platform. 20% of the functionality used by most users takes how many lines? It seems that they’re chasing the long tail of covering every global trip-taking use case. It might be fun to build, but how many of those features have a positive ROI?
- throwaway3699 5y agoIt's the ancient Microsoft Word vs. Google Docs debate. Without long tail features Uber would be less valuable to each customer.
- ransom1538 5y agoYou land in Madrid. You hail an uber using the app. You stand there for 2 hours, hail multiple drivers. The uber never comes. For some reason the uber on the map drives in circles around the airport - then cancels. You eventually get in a cab. The driver says 1) uber cars can't be that close to the airport - and 2) that he doesn't take cards. You no longer use Uber in Spain. You tell the rest of your family to not use Uber when they get to Spain.
- deleted 5y ago[deleted]
- jamil7 5y agoI asked this question to another iOS dev a while ago and they mentioned the way that uber is a single app that functions in all countries it’s available, you never have to download a country specific version by design. I think for that reason it needs a whole lot of regional specific functionality and localisation, I believe a lot of work is done client side too. Someone from uber could chime in and correct me if I’m wrong. Edit: looks like it was also brought up in a previous thread.
- martpie 5y agoWhere to start? A wild guess: - A/B testing capabilities - Different features per country/region - Different payment methods per country - ... I mean it's like e-commerce, when you stay in a single country, things are easy. When you go international, wild sh*t happens to cover all the spectrum of scenarios and respect the laws in place, while keeping it simple enough to maintain for devs.
- diegocg 5y agohttps://mobile.twitter.com/StanTwinB/status/1336890442768547845 https://mobile.twitter.com/StanTwinB/status/1336890442768547... It's way more complex than it seems