From Idea to Sketch

This chapter goes a bit more into detail about the internals of a future practice format. I will include some ideas that I have bounced off with the team, teachers, musicians and friends. It will give a good guideline where this project might go.

When first thinking about the idea of how to structure good practice it really helps to have some literature about learning, practicing and motivating people (and foremost yourself). Because as already mentioned in the last post, it takes loads of time and discipline to get things going. But how can we accomplish that? I came up with a pretty simple idea: A learning tree.

You start from a root with a tiny, easy exercise. Just enough to not bore you but spark the interest. From there you can choose from maybe two or three other exercises. From each of them again two and so on. Take a look at this example:

So the “One Note Samba” would be a simple line like this:

That’s not really complicated is it? But now we give it some constraints:

  • Play 100% to the beat
  • Always hit the correct pitch (playing the piano? Lucky you)
  • Play it at 240 BPM

If we add our goals to the tree it looks something like this:

But we are still missing something here. In the last post I said that you should be rewarded to keep improving. These goals should therefore consist of different levels with e.g. three steps in different difficulties. Now if I don’t like that exercise or I wanna get on moving, I can go for average (see image) and come back later to improve.

That is a valuable insight, because we now know, that our format needs to contain these goals and their meaning. Also the dependencies need to be depicted somehow.

Speaking code

I really like plantuml for modeling because it is very close to coding and very far away from drawing. And it offers all the UML diagrams I need.

Here is a simple model of the tree we saw above:


The practice is the main container for holding everything together. It has a MusicXML attached so we know what to render. The goals are in a plain list and can contain 0 to n items. Why 0? I want to leave this open for other purposes like collections of sheets as mentioned in the first blog post. And if you have a plan selection you don’t want to have goals to get to the next sheet.


Goals are the very fabric of the practice. They define what you need to do and what criteria (constraints) you need to fulfill to get to the next practice. I already put in some common constraints that could be useful.


This should not need explanation, it is just the sheet that is attached to the practice.

0 replies

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.