What is Glamorous Toolkit?
DRAFT of a new onboarding page. Start with a brief definition, then illustrate it with several concrete examples. In this draft we start with some placeholder examples, which we can replace later. The examples should solve real problems, and be available in the default download.
Glamorous Toolkit (GT) is the Moldable Development Environment. It enables you to make software systems explainable by creating dozens — or thousands — of inexpensive contextual tools that are tailored for each problem.
Let's start with an example of understanding an algorithm to nicely layout Treemaps. a Treemap is a common visualization for displaying hierarchical data using nested rectangles. A naive algorithm will generate long, skinny rectangles, whereas more “squarified” treemaps, are easier to read.
Below we see how the algorithm works by incrementally adding nodes to the treemap, adding skinnier rectangles, until they become too skinny, and a new subdivision of the treemap is created. We are in step 4. Two nodes have been added, but the third node was rejected as being too skinny, and we see the fourth node starting as a new rectangle at the top right. By clicking through the steps, you can see how the final treemap is generated.
What we are seeing is nothing but an object inspector on an instance of a treemap, which has been “molded” with several contextual tools that help us to explore and understand its construction. A conventional object inspector would only show you the “Raw” view of the treemap. Instead, using a lightweight plugin mechanism, the inspector is showing us numerous custom tools that are specific to the context of the treemap instance.
For more details, see Explaining the squarified treemap algorithm.
Let's see another example. Suppose we are interested to learn about the GitHub repositories of the GT project itself. Below we see an inspector of the GitHub organization data of the feenk organization, retrieved dynamically through GitHub's REST API.
Again we have contextual views, showing us the list of repositories and git events for the organization, from which we can navigate to views of the individual repositories, and so on. For more details see Working with a REST API: the GitHub case study.
In both these examples we have molded the GT inspector with contextual tools (views, searches and actions), but they are different ones, each specific to the context of particular objects and particular questions we want to answer.
Continue with a few more examples, then with pointers to next steps.