I make up my mind. I will continue to develop the visual tool and try to keep the visual side to a minimum. I will share here some reflexions about what i want to build. The idea is to use this tool to help children and total beginners come to the right side of programming : building small efficient apps, talking well to each other. Help content I use a not too classical approach, especially regarding vocabulary. I think, being able to use simple analogies, is helping people to grasp some basic concepts more easily. Try to think of your grand mother / father (Artemisia and Elmer) taking programming courses along with your 12 years old nephew Arthur. How can they share basic knowledge on how to program a computer ? On Artemisia birth date, there was no computer at all, but for Arthur is quite difficult to imagine a world without smartphone and real time video games. Another point is language. If children will use the tool, instructions and commands must be in their native language (no, everybody does not speak english). I don't want to add mental load to people learning new stuff by instructing them in a foreign language and create ambiguities along the way with half understood words. Help must be always present (except if you don't want it) and contextual. Ideally, help content must indicates what actions are available at any time. There is two kind of help content : - content to learn : formal explanation and related checks to be sure you have correctly understood - content to help you discover and manipulate your tool Why this visual thing ? In my experience, when you have no experience in programming at all, it is quite difficult to "see" what a program, even a very simple one, is doing because you have to : - decode the instructions text (understand what the instruction achieves) - building a mental model of the program flow (how the instructions related to each others) In order to go over this step, i wonder if we can imagine an application execution as a graph flow. Each instruction is a node in a state graph, the next state to execute will be determined by the result of the execution of the current node. To be continued ...