Haven

Haven

As computer power user, I often get unhappy, especially as a result of the changes that have happened over the last decade:

  • almost every application I use looks and feels different,

  • senseless animations vie for my attention and add delays,

  • many applications are hard to control from the keyboard,

  • visual clutter distracts me from tasks at hand,

  • lack of customizability sets all those problems in stone,

  • and unbelievable hardware requirements, stemming from accidental complexity and a general lack of care, push me to buy unnecessarily expensive equipment just so that I don’t feel like being used by the computer.

haven is an umbrella project for a range of mostly desktop applications. The greater goal is to create a fresh computing environment for daily work and play--easily controllable, reasonably complex, both visually and internally unified and last but not least responsive.

I’m not trying to create anything novel but to achieve something elegant and pleasing.

Related articles:

Further reading

To get a better sense of the direction this project is going in, you can take a look at a list of GoodThings and BadThings. If you’re of the shallower kind, have a look at Identity, and if you’re interested in the overall design, consult Technicalities.

Status

Trying to gain momentum, there’s an astounding amount of work to be done. Hop on if you know Go well, my contact is on the front page. Top priority tasks:

  • ✓ start writing a detailed wiki for propagation purposes

  • ❏ create a basic terminal emulator for TERM=dumb (exercise)

  • ❏ create a basic CSV viewer (simple, useful)

  • ❏ create an IRC client (lots of know-how, trivial UI)

  • ❏ create a basic vi-inspired text editor (required component for later)

  • ❏ create a personal wiki/organiser/PKB (urgent)

Mockups

ht -- terminal emulator

This is just supposed to be a simple terminal emulator application.
It ought to be a rather simple exercise.

While I despise the Unix terminal, I can’t just stop using Unix tools, and so I’ll need a means to interact with them. One day it might evolve into a graphical terminal with a tty compatibility layer, which would need integrating a custom POSIX shell such as https://github.com/mvdan/sh.