And now for something completely different..

What is this strange thing? It's a prototype, thrown together with open clip art in a long weekend. It's an exploration how far an interface can diverge from the traditional and still work. And it's a mini-game.

Watch the video, and at the end, try to answer these questions:

  • What will you do then?
  • What happens next?

Spoilers below...

What I hope you might have answered to those questions, after watching the video, is something like this:

  • What will you do then?
    I'll move the egg into the brain-tree.
  • What happens next?
    It will throw away the junk I had installed and replace it with what's in the egg.

The interface I'm diverging from is this kind of thing:

My key design points are these:

  • Avoid words entirely

    One of my takeaways from the Debian installer project is that it's important to make the interface support non-English users, but maintaining translations massively slows down development. I want an interface that can be quickly iterated on or thrown away.

  • Massively simplify

    In the Debian installer, we never managed to get rid of as many questions as we wanted to. I'm starting from the other end, and only putting in the absolute most essential questions.

    1. Do you want to delete everything that is on this computer?
    2. What's the hostname?
    3. What account to make?
    4. What password to use?

    I hope to stop at the first that I've implemented so far. It should be possible to make the hostname easy to change after installation, and for an end user installation, the username doesh't matter much, and the password generally adds little or no security (and desktop environments should make it easy to add a password later).

  • Don't target all the users

    Trying to target all users constrained the Debian installer in weird ways while complicating it massively.

    This if not for installing a server or an embedded system. This interface is targeting end users who want a working desktop system with minimum fuss, and are capable of seeing and dragging. There can be other interfaces for other users.

  • Make it fun

    Fun to use, and also fun to develop.

    I'm using threepenny-gui to build the insterface. This lets Haskell code be written that directly manipulates the web browser's DOM. I'm having a lot of fun with that and can already think of other projects I can use threepenny-gui with!

Previously: propellor is d-i 2.0