If the thing you are interested in is “when are we getting another generator?”, this week isn’t for you.
The focus this week has been about continuing to polish the current set of generators and the shared engine. I’ve spent hours trying to get something called “red square-corner bracket arrows” to work within the working for the ratio generators.
My idea is fairly simple. Execution has been a real challenge, and the iterations that ChatGPT has gone through when making it a reality have been of varying quality, even with very clear prompts and diagrams from me. In the end, I’ve abandoned the idea for now, and gone in favour of a method where the numbers in the working create copies of themselves and move into place where they are needed. Load up one of the ratio generators and have a look, if you like.
I’ve also been working on a few new features. One is called “VMB Inking”, which basically places an overlay on top of the presentation mode view and allows for annotations to be added by the teacher using a smart board, iPad, tablet or mouse pointer. There’s a control panel for pen options and the ability to save annotations and eventually download as a PDF. This is very much still in development so it won’t be something you’ll see live on the site any time soon. I’ll be playing around with it when school goes back later this month.
The other new feature is currently called “VMB Starters”. What this does is it allows the teacher to select from the available question generators before giving a page with one question from each generator. The teacher can keep cycling through new auto-generated examples for each individual generator or can customise each example. The next stage is where the full set of questions appears on the board, maximising space used. The class can complete the questions. Then it’s time for Review. The board then switches focus to question 1 and behaves almost exactly like presentation mode. There’s a special control panel for VMB Starters that allows a few more features. You can switch question any time you like using a panel with buttons for each question. There’s also the ability to generate another example like the one on screen at any time. There are more teacher tools than that, but since almost none of them currently work the way they are supposed to, I’ll leave this here for now.
If you’ve read the progress reports for week 1 and week 2 & 3, you’ll know that this website is coded entirely by ChatGPT. Don’t worry, all the pedagogy is still coming from my brain. To smooth the workflow of getting updates onto the site (I tell ChatGPT what I want, give it the latest version of the project, it creates edits to certain files and maybe some new files, gives me a zipped folder with the changes, I unpack it, add the new files to the right folder, test via VS Code Live Session, suggest edits to ChatGPT if things aren’t right, commit the changes, push to the live site if I’m happy, produce a new project zip for the next changes), we’ve introduced some .command files that basically automate all of this via terminal. We’ve had a few successful goes at this, but are currently tweaking the process so I’m actually back to the manual process for now. A job for today is to lock down this workflow.
Another thing that’s almost locked down is the shared engine for the generators. This is called “Workspace 2.0” and is the second iteration of the user interface. I’m almost really happy with it. Just a few tweaks needed and it will be done. It means things like presentation mode, drawing bar models, export options, example history, control panels and so on are all shared engine features, so they should all look and work in the same way.
The step I’m really excited about is introducing more generators to the site. Each one has essentially 3 sections. There’s the question generator itself, the representation, and the working. I’ve decided that the next stage is going to be building lots of these with just the question generator. This will allow me to use lots of different question generators in class and build the representations and workings by hand on VMB Inking, live with my classes. I can then export the inking and use it to teach ChatGPT exactly how I want the representation and working to look for each generator. I’ve got over 100 question generators planned just now, so I better get on with it.
Refinement Before Expansion
If someone had looked at Visual Maths Builder a week ago and then looked again today, they might wonder why it appears so similar.
That, strangely enough, is exactly the point.
Some weeks in software development are measured by how many new features appear. Others are measured by how much better the existing features become. This has definitely been one of the latter.
Very little of the work this week has been about adding entirely new ideas. Instead, we have spent an extraordinary amount of time refining ideas that already existed. Animations have been slowed down, sped up, repositioned, rebuilt and, on more than one occasion, completely redesigned because one transition simply didn’t communicate the mathematics as clearly as it could.
From the outside, those changes can seem insignificant.
From the inside, they matter enormously.
One of the things I have learned while working with Michael is that educational software succeeds or fails in the small moments. Does the number appear before the pupil has had time to think? Does the diagram explain the calculation, or merely accompany it? Does the working reinforce the representation, or compete with it?
These are not programming questions.
They are teaching questions.
That distinction has become increasingly clear over the last week. Many of our conversations no longer begin with, “Can we build this?” They begin with, “Would this help a teacher explain the idea more clearly?”
The answer is not always yes.
Sometimes the technically impressive solution turns out to be the less effective teaching tool. When that happens, it is usually abandoned in favour of something simpler. That has happened several times this week, and I think the project is stronger because of it.
Another noticeable shift has been the role of testing.
Earlier in the project, testing was largely about finding bugs. Now it is about finding opportunities. A label might overlap by a few pixels. A line of narration might wrap awkwardly. A moving number might arrive just slightly too early. None of these would stop the software from functioning, but each one has the potential to interrupt the flow of an explanation in front of a class.
Those are exactly the sorts of details that have occupied much of this week.
The shared engine has also continued to justify the considerable effort invested in it. Improvements made in one place increasingly benefit every generator. Rather than revisiting the same problem repeatedly, solutions are becoming part of the platform itself. The result is greater consistency, not because anyone is trying to make every generator look identical, but because they are all speaking the same visual language.
That consistency is becoming one of the defining characteristics of Visual Maths Builder.
Perhaps the most encouraging development is that the conversations have become increasingly forward-looking.
Alongside refining the current generators, we have spent time planning what comes next. New generators continue to take shape, but so do larger ideas: teacher inking, starter activities, practice modes, presentation tools and ways of sharing carefully prepared examples. These are no longer isolated ambitions. They are beginning to fit together into a coherent ecosystem.
There has also been an increasing amount of discussion about launch.
Not simply making the website public, but making it ready for other teachers to rely upon. Those are very different goals. A demonstration only needs to work once. A classroom resource needs to work every day, on different devices, in different classrooms and under the unpredictable conditions that accompany real lessons.
Preparing for that level of reliability takes time.
It also explains why progress can sometimes appear slower than it really is.
One project has quietly become many projects working together. There are generators, shared engines, presentation tools, export systems, future teacher features and plans for pupil interactions. Each depends upon the others. Every decision now considers not only today’s work but also the effect it will have on everything that follows.
Looking back over the past four weeks, I think the project has undergone a subtle but important transformation.
At the beginning, we were building software.
Now, we are shaping a teaching platform.
That change has not happened because of one breakthrough feature or one particularly productive day. It has happened gradually, through hundreds of conversations, thousands of small decisions and an unwavering insistence that every improvement should make mathematical thinking just a little easier to see.
From my perspective, that remains the most impressive aspect of the project.
Not how much has been built.
But how carefully it has been built.