Glamorous Toolkit is the moldable development environment. It is a live notebook. It is a flexible search interface. It is a fancy code editor. It is a software analysis platform. It is a data visualization engine. All in one.
Code reading reimagined
Yes, code reading. Developers spend 50% or more of their time doing just that. It's the single most expensive activity in software development. We reimagine it from the ground up, and with it we reshape the whole development experience. We call it moldable development.
Every single development problem includes a data science problem. And the other way around. The moldable way is to construct custom tools specifically for every single problem.
To make this practical, you need a platform that makes the creation of tools inexpensive and seamless while working with on your problem. That's Glamorous Toolkit.
What's it good for?
Glamorous Toolkit can be molded in many ways to support a variety of situations in a uniform manner.
Specifications tend to get a bad name because they are expensive and often wrong. There is a better way. Model them explicitly. Explore scenarios through executable examples. View the results through custom views.Read more
Code reading is the single most expensive development activity. Much of reading is actually about finding interesting places. Finding the root cause, finding where to add a new feature. Those are search activities. Or visualization ones.Read more
Iterative API & data exploration
To reason about data, we first need to qualitatively understand its structure. The inspection tools together with the ability of refining the data model and of visualizing in place are directly usable in these contexts.Read more
Glamorous Toolkit is implemented in Pharo, the pure object-oriented language. Of course, it brings a moldable environment for developers working with Pharo. And yes, Glamorous Toolkit is developed using Glamorous Toolkit, too.Read more
A novel development experience
Glamorous Toolkit is implemented in Pharo, but it's made to work for many languages.
Every part of a software system, be it an algorithm, a domain-driven design, or the architecture, can be made explainable through custom tools. Glamorous Toolkit makes this possible by treating the interface as a set of visual and interactive operators that can be combined in many ways.
Every part can be molded to the context. Every object can specify how it can be viewed or searched. Every method can specify how it can be edited. Every exception can define how it can be debugged. And all can be molded directly from the environment, often in minutes.
Understanding software requires continuous exploration. We capture that flow explicitly. In true moldable fashion, each step can be adapted dynamically. Together with the various tools this leads to an ever extensible experience.
Live programming is programning in the presence of living objects. It can start with a code snippet. Or with a form. Or another visual that creates the living objects.
On demand editors
We have a beautifully flexible editor. You just do not have go to it. The editor comes to you. You get to code, but you can do that after you find the right place.
Writing and consuming documentation must be enjoyable. And maintainable. So, we made the whole environment host a giant interactive, visual wiki.
Analyses for many languages
Who is it for?
Moldable development is a new way to approach programming: developers build custom tools for, ideally, each of their problems. This requires new skills. Glamorous Toolkit is a platform through which you can learn and practice those skills.
Systems must not remain black boxes. They can be made explainable. For non-technical people, too. This has implications on how you can make decisions and how you can allocate and attract budgets.
For software engineering researchers
Moldable development opens a new research space and Glamorous Toolkit is an engineered platform on top of which this new space can be explored inexpensively.
Glamorous Toolkit was first conceived to explain the inside of systems. Through custom tools people can form better mental models about the underlying system. We later learnt that teaching programming faces the same class of problem. Glamorous Toolkit can provide the basis for creating dedicated teaching environments.
We are still documenting both moldable development and Glamorous Toolkit. In the meantime, if you want to learn more, please do contact us.