1. Defining Quality
There is much academic literature on this subject, generalized to everything that software engineering covers. For engineering teams building modern apps and consumer-facing software, I tend to use the following axes:
Correctness. Does the software behave as it was intended to? Does it solve the problem (at a detailed level) that it was meant to solve? E.g., a user tries to upload a video to YouTube using the app. They press the upload button, and nothing happens.
Performance. Is the app fast enough? Typical performance problems include app start performance (cold and warm start), data loading performance for key interactions (loading the home page, loading the profile page), interaction performance (scroll speed, animation speed).
E.g., Google has famously invested much energy in speeding up Search because latency matters—a decrease of 400ms caused a 0.2-0.6% drop in searches, which compounded over time (users in the slow variants used Google less immediately, and even less over time).