<story><title>The future of UI is text</title><url>http://partyline.rocks/blog/futureofui/</url></story><parent_chain><item><author>miguelrochefort</author><text>This simply is an artifact of the original design of CLI. You start by writing the command or function, and then you provide parameters or arguments. The order in which these things are provided leads to poor discoverability.&lt;p&gt;Instead of starting with the command, we should start with an argument. Given a &amp;quot;thing&amp;quot; (that likely exists in your UI), such as a file, a song, a person, a chunk of text, show me the list of commands that accept it as a parameter. You&amp;#x27;ll quickly discover that a chunk of text can be passed to functions such as &amp;quot;tweet&amp;quot;, &amp;quot;copy to clipboard&amp;quot;, &amp;quot;create memo&amp;quot;, &amp;quot;search on Google&amp;quot;, &amp;quot;translate&amp;quot;. Congratulations, you just invented the contextual menu, which people have been using for decades.&lt;p&gt;&amp;quot;Things&amp;quot; are easy to discover; you can see them. Commands that interact with them, are not as easy to discover; you can&amp;#x27;t see them. Let people touch or name things (with or without a query language), and once they grabbed the instance they care about, show them what can be done with it. It&amp;#x27;s that simple.&lt;p&gt;Before:&lt;p&gt;&amp;gt; &amp;#x2F;tweet &amp;quot;some random thoughts&amp;quot; &amp;#x2F;&amp;#x2F; where you had to know &amp;#x27;tweet&amp;#x27; existed as a command&lt;p&gt;After:&lt;p&gt;&amp;gt; &amp;quot;some random thoughts&amp;quot; -&amp;gt; tweet &amp;#x2F;&amp;#x2F; where &amp;#x27;tweet&amp;#x27; was auto-suggested, along with &amp;#x27;search&amp;#x27;, &amp;#x27;translate&amp;#x27;, &amp;#x27;copy&amp;#x27;, etc.</text></item><item><author>wmeredith</author><text>No way. I&amp;#x27;ve been designing and coding interfaces for 10 years, and time after time one of the biggest constraints for what is on&amp;#x2F;off the screen is the user&amp;#x27;s memory.&lt;p&gt;Want to know why the command line is hard for plebs? It&amp;#x27;s because they don&amp;#x27;t know what the options are. They don&amp;#x27;t even know what they don&amp;#x27;t know.&lt;p&gt;The whole point of a GUI is to convey the possibilities. Show users a menu and they get to pick something. This isn&amp;#x27;t going to change anytime soon. At least not until terminal commands are taught in school alongside the alphabet and multiplication tables.</text></item></parent_chain><comment><author>vitd</author><text>This sound about as useful as a man page. For me it often goes like this:&lt;p&gt;&amp;quot;What&amp;#x27;s the command that shows me file system usage again?&amp;quot;&lt;p&gt;&amp;gt; man -k file system usage&lt;p&gt;result = 5 pages of matching commands, often poorly formatted, word wrapping oddly, sometimes without even carriage returns between the commands, so it&amp;#x27;s all one long list. And this is in Unix which has had something like 45 years to clean up this mess.&lt;p&gt;I don&amp;#x27;t hold out hope that this sort of interface will ever be presented usefully, and we already have a better system in a GUI.</text></comment>
<story><title>The future of UI is text</title><url>http://partyline.rocks/blog/futureofui/</url></story><parent_chain><item><author>miguelrochefort</author><text>This simply is an artifact of the original design of CLI. You start by writing the command or function, and then you provide parameters or arguments. The order in which these things are provided leads to poor discoverability.&lt;p&gt;Instead of starting with the command, we should start with an argument. Given a &amp;quot;thing&amp;quot; (that likely exists in your UI), such as a file, a song, a person, a chunk of text, show me the list of commands that accept it as a parameter. You&amp;#x27;ll quickly discover that a chunk of text can be passed to functions such as &amp;quot;tweet&amp;quot;, &amp;quot;copy to clipboard&amp;quot;, &amp;quot;create memo&amp;quot;, &amp;quot;search on Google&amp;quot;, &amp;quot;translate&amp;quot;. Congratulations, you just invented the contextual menu, which people have been using for decades.&lt;p&gt;&amp;quot;Things&amp;quot; are easy to discover; you can see them. Commands that interact with them, are not as easy to discover; you can&amp;#x27;t see them. Let people touch or name things (with or without a query language), and once they grabbed the instance they care about, show them what can be done with it. It&amp;#x27;s that simple.&lt;p&gt;Before:&lt;p&gt;&amp;gt; &amp;#x2F;tweet &amp;quot;some random thoughts&amp;quot; &amp;#x2F;&amp;#x2F; where you had to know &amp;#x27;tweet&amp;#x27; existed as a command&lt;p&gt;After:&lt;p&gt;&amp;gt; &amp;quot;some random thoughts&amp;quot; -&amp;gt; tweet &amp;#x2F;&amp;#x2F; where &amp;#x27;tweet&amp;#x27; was auto-suggested, along with &amp;#x27;search&amp;#x27;, &amp;#x27;translate&amp;#x27;, &amp;#x27;copy&amp;#x27;, etc.</text></item><item><author>wmeredith</author><text>No way. I&amp;#x27;ve been designing and coding interfaces for 10 years, and time after time one of the biggest constraints for what is on&amp;#x2F;off the screen is the user&amp;#x27;s memory.&lt;p&gt;Want to know why the command line is hard for plebs? It&amp;#x27;s because they don&amp;#x27;t know what the options are. They don&amp;#x27;t even know what they don&amp;#x27;t know.&lt;p&gt;The whole point of a GUI is to convey the possibilities. Show users a menu and they get to pick something. This isn&amp;#x27;t going to change anytime soon. At least not until terminal commands are taught in school alongside the alphabet and multiplication tables.</text></item></parent_chain><comment><author>seagreen</author><text>This is brilliant. Do you have suggestions for where I can go to read more about this idea?</text></comment>