I think this is a major challenge facing software technology now. Seems to be related to my question at: <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=10883322" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=10883322</a><p>One way to solve this is to create a modular super-app for which developers can write components. This is much more than just the idea of plug-ins or extensions, because the super-app will be built from the ground up, and at various layers, to be highly modular, which almost every aspect being replaceable with user-chosen components. Also, the basic structure of the app and the its extension points cannot be changed unless by majority vote of registered users.<p>For example, imagine a task super-app. The user should be able to choose from various competing workflows, UIs, or 3rd-party integrations. These components could be purchased outright from a gallery, subscribed to, or paid per use. So if I have a little idea about how to improve todo lists, I don&#x27;t have to build an entire app from scratch to do it, I can just define a UI flow.