What is Albert?

Albert is a system that attempts to simplift improvising childrens' bedtime stories. It uses the similarities between varying disciplines by using design patterns: an architecture term also used in software engineering.

Okay. What's a design pattern?

Design patterns are like blueprints for making parts of things, or describing what a thing should be like. Design patterns are often called "tropes" when we talk about films and TV, for example. The idea behind the design pattern is actually really widely used, but different people call it different things, so we never seem to make the connection.

So what are you trying to accomplish?

Really, I'm trying to solve two problems:

  1. Telling children stories is easy, but telling children good stories well is very difficult. Particularly when you're coming up with them on the spot.
  2. There is no inter-disciplinery language for sharing what we've learned in different areas, like physics, art, and storytelling.

Those two points might seem very different, but in fact, solving one problem may help with the other. What if we had that language that crossed the barriers between subjects, and we could learn from architecture computer science more about language and writing?

Ah, so that's where Project Albert fits into this?

Kind of! I think design patterns are that inter-disciplinery language. So, Project Albert attempts to turn what I know about software engineering and what I've picked up about good and bad patterns into a set of patterns for childrens' story improvisation techniques. Albert is a proof-of-concept that bridges the gap between computing science and storytelling, although because it's proving the concept of the design pattern as that language most of what it does actually just comes down to patterns.


When I was very little, my dad used to improvise bedtime stories for me. I've broken down his method into a series of patterns, refined them, and put them together into this framework. (With his permission!) Structuring the framework as patterns means we can borrow techniques from software engineering to make the stories simple and easy to create, while remaining interesting to the children listening. Also, they can be flexible, and change to suit each situation, because the patterns are blueprints and guidelines rather than hard-and-fast rules. That means we can reason about what the story will end up like, too, so you can have some confidence that the stories are actually worth telling!

Alright, I'm curious and I'm willing to hear more. Where can I learn more?

The page on patterns is the best place to start!