Uber Introduces a Universal Signup and Login Stack

2022-09-04 19:15:44 By : Mr. Todd Zhang

InfoQ Technology Adoption Survey 2022: Win 1 of 5 QCon Plus Tickets ($599 Value) Take the 3-minute Survey

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

The panelists discuss ways to improve as developers. Are better tools the solution, or can simple changes in mindset help? And what practices are already here, but not yet universally adopted?

Shawn Wang (swyx), head of developer experience at Airbyte, and Daniel Bryant discussed the rise of remote development environments. Topics covered included, whether remote development experiences are good enough to see the death of local(host) development, what a wishlist might look like for the ultimate developer experience, and how cloud native organizations are currently developing software.

Automation to improve machine learning projects comes from a noble goal but true end-to-end automation is not available yet. As a collection of tools, AutoML capabilities have proven value but need to be vetted more thoroughly. Findings from a qualitative study of AutoML users suggest the future of automation for ML and AI rests in the ability for us to realize the potential of AutoMLOps.

In this podcast Shane Hastie, Lead Editor for Culture & Methods spoke to Idit Levine, founder of Solo.io, who is on the shortlist of women-founded Unicorn status startups in the world.

Aaron Rinehart shares his experience on Security focused Chaos Engineering used to build trust and confidence, proactively identifying and navigating security unknowns.

Understand the emerging software trends you should pay attention to. Attend in-person on Oct 24-28, 2022.

Make the right decisions by uncovering how senior software developers at early adopter companies are adopting emerging trends. Register Now.

Your monthly guide to all the topics, technologies and techniques that every professional needs to know about. Subscribe for free.

InfoQ Homepage News Uber Introduces a Universal Signup and Login Stack

Uber recently introduced Unified Signup and Login (USL), an effort to consolidate signup and login experiences across all Uber apps and services. USL lowers the engineering complexity and maintenance overhead associated with these flows and allows faster rollout of security policies and fixes. Over the last two years, Uber rolled out USL across Uber Rides, Uber Eats, and Uber Driver. Currently, more than 78% of Uber's traffic has adopted USL.

Initially, an independent signup and login experience for each of Uber's apps allowed Uber to innovate and move quicker. However, as Uber scaled and added additional lines of business, the experiences began to diverge, amplifying some inconsistencies. For example, these inconsistencies forced some users to create duplicate accounts:

In the past, [Uber] Rides allowed users to create their account with social identities, however the login experience for Uber Eats didn't allow users to log in using a social identity. Such incompatibilities between onboarding experiences lead to millions of users being blocked during login, or forced to create duplicate accounts, leading to a high volume of support tickets.

Different signup and login experiences at Uber before USL Source: https://eng.uber.com/usl-ubers-unified-signup-and-login-stack/

In addition, cross-cutting security policies and fixes and new growth features took much longer to implement. Since each team owned its signup and login experiences, 15+ product teams had to implement every such feature, significantly increasing engineering complexity and cost.

USL is a web-based signup and login experience embedded in mobile and web apps. Since USL is web-based, any security update or growth feature is instantly deployed to all users and doesn't require any mobile app upgrades, adding to developer velocity.

USL unified signup and login flows Source: https://eng.uber.com/usl-ubers-unified-signup-and-login-stack/

USL is implemented as a web-based single-page application built using FusionJS. When a user opens signup and login flows, a series of middlewares built on top of Koa.js process the HTTP request. After running through the plugins, FusionJS generates the HTML content and sends it to the browser. The JS and CSS are loaded from a CDN, and the React Application is hydrated in the browser.

Frontend architecture for USL Source: https://eng.uber.com/usl-ubers-unified-signup-and-login-stack/

Since performance in low bandwidth situations is crucial for USL, Uber engineers use JS bundle splitting to ensure that the browser only downloads a fraction of the entire JS code on the initial page load.

USL has complex product requirements that are also regionally optimized, resulting in 100+ different signup and login flows. The backend represents a user's login and signup journey as a graph. A node in the graph correlates to the screen the user sees and offers one or more challenges to the user. The challenge is validated based on the user's input. As a result, a state machine governing the graph gets executed and determines the user's next node (screen).

High-level architecture of the signup and login service Source: https://eng.uber.com/usl-ubers-unified-signup-and-login-stack/

Uber's engineers built a custom tool that generates monitoring alerts. It internally uses Uber's anomaly detection tool to determine the thresholds based on historical data automatically. According to the engineers, "we have integration tests for all of the flows and blackbox tests for the critical flows, which give us the confidence to deploy backend/web code multiple times a day."

Becoming an editor for InfoQ was one of the best decisions of my career. It has challenged me and helped me grow in so many ways. We'd love to have more people join our team.

Clumio is a secure backup as a service that provides comprehensive data protection against ransomware attacks and account compromises in AWS. Start Free Trial.

A round-up of last week’s content on InfoQ sent out every Tuesday. Join a community of over 250,000 senior developers. View an example

You need to Register an InfoQ account or Login or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

A round-up of last week’s content on InfoQ sent out every Tuesday. Join a community of over 250,000 senior developers. View an example

Real-world technical talks. No product pitches. Practical ideas to inspire you and your team. QCon San Francisco - Oct 24-28, In-person. QCon San Francisco brings together the world's most innovative senior software engineers across multiple domains to share their real-world implementation of emerging trends and practices. Uncover emerging software trends and practices to solve your complex engineering challenges, without the product pitches.Save your spot now

InfoQ.com and all content copyright © 2006-2022 C4Media Inc. InfoQ.com hosted at Contegix, the best ISP we've ever worked with. Privacy Notice, Terms And Conditions, Cookie Policy