Get started

Glamorous Toolkit is an environment for Moldable Development. It is also a significant case study since Moldable Development was used systematically to develop it. This means that GT itself offers an easy path to learning Moldable Development.

Exploring Glamorous Toolkit

You can learn about Moldable Development directly within GT, because GT itself is explorable and explainable. You can think of GT as a “language” composed of various visual and interactive components, and operators to combine them into narratives in live notebooks. You can learn about these components by exploring GT, starting with this book.

Exploiting GT implies programming it. GT is implemented in Pharo. If you are not familiar with Pharo, take some time to follow A gentle introduction to Pharo Smalltalk. Don't spend too much time on it. Browse it so you know what the language offers, especially if you are new to Pharo or Smalltalk. Once you form an idea of the programming language, learn how to navigate the environment. Better yet, learn how about Querying Pharo code with GT filters.

Learn from concrete case studies

To guide the investigation, focus on practical scenarios you have an interest in. Some examples can be found in Case studies of Moldable Development:

API exploration: take an API and build a browser for it. Take a look at Working with a REST API: the GitHub case study or Exploring GitHub through GraphQL .

Program with Python: take your Python project and explore its runtime with GT

Extend the inspector with Python: Inspecting Python objects with custom inspectors

Improve the performance through custom Python extensions: Exploring the execution of a Python LampSort algorithm

Software analysis: take a system written in a language like Java, C# or JS and analyze its structure. For example, Analyzing JavaScript React Native: the Zooniverse case study.

Data exploration: take piece of data, like some JSON files, reify and explore their content. Like in Exploring your Twitter data.

Domain discovery: take a domain you want to target and build a model for it that you visualize through custom views. For example, as described in Executable domain-driven design: the Ludo game case study.

Database exploration: interacting with a database can well be supported through dedicated snippets and inspector views. See Working with the PostgreSQL relational database..

Dedicated environment: if you are interested in working with other languages or technologies, building a dedicated environment can be a fun activity. See Working with AT Protocol or PetitParser SPL case study.

Learn from tutorials

And of course, you can also take a look at the GT in 7' videos.

Learn from examples

As Glamorous Toolkit is developed using Glamorous Toolkit, its code offers many examples both about how it works and how about it can be used. You can leverage this for learning about the environment. To this end, take a look first at How to find stuff in GT in 7'. Mastering the ways of finding things in the environment will boost your ability to learn how to use the environment as well.

Do some exercises

You can try to replicate some of the examples yourself, or you can try out some of the dedicated Moldable Development exercises.

Practical details

Working with Glamorous Toolkit implies programming. It's useful to get comfortable working with your code through a Git. Take a look at How to work with GitHub.

A good rule of thumb is to start with a fresh image every day. To this end, you want to automate your flow. See How to set up a GT GitHub repo in 7'.