View on GitHub

smash

a new kind of terminal

Frequently Asked Questions

Why is [thing X] different than the way it normally works?

It may be the case that everything as it currently is is already perfect and should not be changed. However, many good new ideas are only obvious in retrospect and cannot be discovered in an environment where any deviation from the status quo is immediately shot down.

The purpose of this project is to explore new directions for the command line user interface. If you think that the way things currently work cannot be improved on, you should just use one of the existing terminal emulators and keep your criticism to yourself.

Why is smash’s UI implemented in HTML?

I am developing smash on a ChromeOS laptop, where HTML is the native UI framework. In previous experiments in this area I have have prototyped native UIs for smash in both Go and Rust, and in the latter I even went as far as building native Linux and Win32 frontends; see the (obsolete) branches in the github repository. (With a native app developer’s perspective I would add that HTML provides many convenient tools for rapid iteration on a prototype.)