<story><title>Rich Command Shells</title><url>http://waywardmonkeys.org/2014/10/10/rich-command-shells/</url></story><parent_chain></parent_chain><comment><author>zorbo</author><text>Text is the universal interface. You can do things with it. You can strip it, cut it, transform it, send it to other places. Humans can read it, programs can read it, your printer can output it. It can be sent to web APIs, it can be stored anywhere. It&amp;#x27;s compressible, can be colored and can be copy-pasted and is infinitely extendable. Thousands of protocols run over it.&lt;p&gt;The command line works with text. The command line remains the best interface I&amp;#x27;ve ever used. It&amp;#x27;s user friendly, composable and available everywhere. It&amp;#x27;s easy to automate and easy to extend.&lt;p&gt;I wish the &amp;quot;command line with pictures&amp;quot; idea would just go away already. It adds nothing for the general public. I can already view pictures on remote machines with X forwarding.&lt;p&gt;Command line with pictures never made it, because there are ten competing standards. With text, everybody just agreed on ASCII and now Unicode&amp;#x2F;UTF8. Text has hundreds of ugly clutches on top of it (Extended ASCII, ANSI, Escape codes, etc, etc). It still works. It&amp;#x27;s still simple. It has its problems, but nowhere near as many problems as GUIs.&lt;p&gt;Those who don&amp;#x27;t understand Unix are doomed to reimplement it... poorly.</text></comment>
<story><title>Rich Command Shells</title><url>http://waywardmonkeys.org/2014/10/10/rich-command-shells/</url></story><parent_chain></parent_chain><comment><author>josephg</author><text>I miss TermKit[1]. Its a real shame that the developer abandoned it after it got a lot of hype. There&amp;#x27;s a huge opportunity for someone to come along and make either a new terminal encoding which allows rich, interactive output or extend VT somehow to which allows the same. If you could extend the terminal protocol, you might even be able to get it to work over SSH.&lt;p&gt;HTML+JS seem like the obvious way to do it - even though the web is an awful platform, its standard, cross-platform and fully featured. Its the perfect worse-is-better solution for this.&lt;p&gt;I think the hardest part would be figuring out how to reconcile browser-like UI events and file streams. Maybe you&amp;#x27;d need to make a standardized event serialization format so your process could receive serialized events via stdin or something like that. I think it&amp;#x27;ll be a really hard sell if we have to abandon our unix pipes entirely.&lt;p&gt;[1] &lt;a href=&quot;https://github.com/unconed/TermKit&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;unconed&amp;#x2F;TermKit&lt;/a&gt;&lt;p&gt;Previous hackernews discussion around termkit: &lt;a href=&quot;https://news.ycombinator.com/item?id=2559734&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;news.ycombinator.com&amp;#x2F;item?id=2559734&lt;/a&gt;</text></comment>