I actually like the use of key/value pairs to provide customization beyond what is provided out of the box. We use this pattern ourselves quite often. The content structure of Sutra CMS for example is one table of key/value pairs that accommodates any number and variation of content blocks (unlike other CMS's where each custom content block requires a unique table).
Using key/value pairs always comes with a trade-off that may seem hacky. For example, we had to formalize a process to write CRUD forms in Servoy based on form variables, a form setup description object (also a form variable), and getter/setter methods to push/pull the data between the form and the key/value store.
The end result though is that we have one management screen for all content blocks, it is easy to search for particular data, we can switch that table (which can get quite large) to a high performance noSQL datastore, and we completely and cleanly abstracted out a section of the product that can be as complex and variable as it needs to be.
What I do agree with you on is the notion of making the Servoy IDE more easily customizable. Servoy's strong point has always been its ability to integrate and connect to anything. We call it the Swiss Army Knife of development tools for good reasons.
So moving forward I think Servoy needs to recognize that integrating javascript/html5/css components is a huge thing. This is where the innovation is happening right now. Currently you and us and a few others are doing this with awesome results but have to work around the IDE.
Now obviously if you're a Java developer, adding a custom component into Servoy's editors is doable. Most of us using Servoy are not Java developers though and getting tooled up for writing an Eclipse/Servoy plugin is a real hassle without some handholding. When Patrick Talbot came along and did
this, how many of us went "wow!" and worked through his tutorials step-by-step? And we found it wasn't all that hard once you knew where to put everything.
What I would like to see is Servoy do the same thing for writing a custom Servoy editor component that integrates some js component. Give us the completed Eclipse project and describe how to get there from the point we download Eclipse and install the Servoy open source components. Integrating
qTip into Servoy editor for example would be awesome.
I imagine that in the process of putting this example project together, Servoy would find places to simplify various integration points. This would improve Servoy.
If we had something like this, we would go nuts augmenting the Servoy IDE.