I'm building a ui from first principles, ostensibly in 2012 it started as an itch to scratch because I found that no note taking software met my needs, the way people used email sucked, jira et al sucked, and I couldn't wrangle non-nerds into interoperating with me on emacs.
Instead of the computer as desktop or some other abstraction I started with an interface predicated on the idea that reality itself has 3 first class citizens: Time, Space/Structure & People/Minds.
As an organizing principle applications are just metadata on data structures (_App_tributes on a node if you will) in the same way a function is a file in a directory or hosted on a cloud service. "Data first" happens when you get rid of the "container"/desktop metaphor.
First Class: Nodes, People, Time
Second Class Enablers: Namespaces, Fragments, Timestamped Messaging, Specialized sub-interfaces
The reason projects like chromebook try to hide or delete structure is because App based interfaces are more conducive to advertising and because people use APP as a visual reminder of "functionality". A person or org must have complete "write" control of their data if they are using a first class data/structure interface (MS Word can't have in doc advertising), apps are a weird abstraction that make it easier to sneak "ads" into your workflow.
I am nearing 80% of my time in this interface, the plan is to have a consumer friendly note taking/sharing app (the best damn cross platform note taking app) that becomes the core UI experience to replace existing OS interface in future. As an aside, I muse that the way computing evolved from TTY interfaces created strong adherence to single line CLIs and software engineers never really overcame that, and that's one of the core oversights of human interfaces in computing.