The question mostly says it all, but I will give one of my ideas. I would replace the concept of a holistic app and instead replace it with a loose collection of features. The point would be to allow the end user to build a GUI from elements of multiple apps. You could have buttons that perform multiple functions in multiple apps. It would allow you to streamline and remove remove annoying elements; you could lock interface elements so you don't have to relearn the interface when the devs randomly decide to change it.