News for hackers. Stuff that matters.
Re:The Uber Engineering Tech Stack, Part I: The Foundation by sandGorgon on Sunday July 24, 2016 @04:02AM (#12152664)
What I'm really wondering about is their app. The UI of the app can be impacted without an app update. For example the UI during the pride parade. Or minute of silence ( http://gizmodo.com/uber-makes-riders-take-a-moment-of-silenc... )

I wonder what's the architecture of the app and the API for this.

Re:The Uber Engineering Tech Stack, Part I: The Foundation by habosa on Sunday July 24, 2016 @03:10PM (#12154372)
Most major apps phone home for a big config object (likely JSON) at the start of a run. This would contain things like car icons, etc. You can see an example of this in the 3p Uber API which has a call to get which car types are available at a given geolocation. This API returns not only the vehicle types (Uber X, Uber Black, etc) but also a jpeg icon representing the car. In this way Uber can roll out new car types in locations without a client side update.

I'm biased for this next part (since I work on the product) but if you're interested in making your app have abilities like this check out Firebase Remote Config (https://firebase.google.com/docs/remote-config/). While setting up your own config service is not rocket science, having a free one with a web UI is pretty nice.

Re:The Uber Engineering Tech Stack, Part I: The Foundation by sandGorgon on Monday July 25, 2016 @02:49AM (#12156922)
That is for your answer. I suppose that the interesting code is on the app side rather than the server side (which basically returns a Bunch of Json) How do you architect a view layer that's so malleable - for example even the routes in Uber were shown in rainbow during pride.
Re:The Uber Engineering Tech Stack, Part I: The Foundation by nstj on Sunday July 24, 2016 @10:41AM (#12153433)
Last time I checked their iOS app pinged the backend around every 10 seconds for a big ol' payload of JSON config etc, which contained most of the A/B stuff and UI config (which car types to display, e.g., as where you are they might not have all of X/taxi/Black/Lux etc).
Re:The Uber Engineering Tech Stack, Part I: The Foundation by cwilkes on Sunday July 24, 2016 @11:26AM (#12153533)
The UI for their app can be changed without a deploy? You mean like an HTML page from yesteryear? :)
Re:The Uber Engineering Tech Stack, Part I: The Foundation by why-el on Sunday July 24, 2016 @10:24AM (#12153384)
Most likely just a simple alerts or announcements model that they fetch from the server and display into a pre-allocated section in the ios view (whatever they call it in iOS), if any. It's actually really good thinking.
Re:The Uber Engineering Tech Stack, Part I: The Foundation by tasteup on Sunday July 24, 2016 @10:11AM (#12153347)
They likely already preset views and controllers to react to backend events. If they add an event like "pride" to the backend, the app just has to render the view associated with that event.
Re:The Uber Engineering Tech Stack, Part I: The Foundation by possibleNoob on Sunday July 24, 2016 @07:01AM (#12152995)
If its updating without your consent to upgrade in the app store then its a webview youre looking at and they are just updating the webview.
Re:The Uber Engineering Tech Stack, Part I: The Foundation by tlrobinson on Sunday July 24, 2016 @07:10AM (#12153014)
I don't think it's that simple. The distinction between "code" and "data" is somewhat arbitrary. I'm sure Uber could get away with a rules engine that supports the cases the parent comment is talking about.
Re:The Uber Engineering Tech Stack, Part I: The Foundation by nevir on Sunday July 24, 2016 @11:46AM (#12153595)
Apple changed that rule a while back.