Disclaimer: The information below is my own personal understanding of Q. This article is written to convey my ideas about how Q could be implemented from a developers mindset. Please feel free to discuss, improve upon and work with me to generate ideas and develop solutions. Also please bear with me because English is my 2nd language.

Way-back 2010, I started developing apps to share with the world. But during those times, the tool and framework available does not cater my requirement to execute and complete my ideas.

In fact, I was reluctant to embrace open-sourced framework back then. As I always thought, doing all of my app feature/capability from scratch is the best approach.

But when I began using open-source software, it made my life easier and helped me allot focusing on doing only the core part of my application and concentrate on solving problems specially process flow.

As I continue my journey to create life changing apps (wow), I discovered lots of helpful frameworks and standards. I will list some of it down below as it is related to what I am trying to convey.

As you can see from above, it’s all about metadata. The first one being a standard for specifying concrete object schema and related schemas that make up a hierarchy of data in a complete tree structure.

The second one is about validating those metadata so that when a payload or metadata get submitted to a server, all validations required for the data to be valid can be handled on client side. This saves time and avoid inconsistent data to store on the back-end.

The third one is just my personal preference for displaying such metadata so that given an object, I will not have to do UI manually but instead data gets rendered in the UI automatically in a neat fashion and fluid ways. (see image below)