Live data from Hacker News

Learning from Terminals to Design the Future of User Interfaces

brandur.org

371–379 of 379 posts

Re: Learning from Terminals to Design the Future of User Interfaces

#371

Earlier quoted context omitted.

It would be interesting to make an Alexa-style device, which instead of natural language used a set of composable voice commands, like Bash and the unix utilities but pronouncable.

Google home already kind of have this, don't know about Alexa. I'm amazed at how simple commands can be when you learn the simplest form of a command. And you could of course go nuts with ifttt and create your own syntax

Are you referring to Google Home being able to stack up a few commands or the routines feature?

eg Google, whats the weather and set a timer for 15min?

On Alexa you can enable a follow up mode which listens to the next command for a bit. It's a bit more natural, e.g. Alexa, whats the weather... you wait for her to complete, she then listens again and you can say, Set timer for 15min, she completes and listens, Read news, etc.

Sometimes I just feel like the machines are teaching us how they would like to be talked to vs us teaching them, as some commands require specific verbal markers in proper order to complete as otherwise they just give you a completely random answer or they simply don't process it at all.

Re: Learning from Terminals to Design the Future of User Interfaces

#372

Earlier quoted context omitted.

How do screen readers work with curses interfaces? Genuinely curious.

Poorly, IMO. This became clear to me when I had to talk a blind Windows user through installing Red Hat Linux with the Speakup screen reader in early 2001, using Red Hat's text-mode installer. That was when I realized that Windows had actually become more usable with a screen reader than screen-oriented text-mode UIs in a terminal.

hmm I have a couple of blind friends, and one was an avid redhat user in the late 90s/early 2000s. I didn't reply to the question because I honestly can't remember, but in the late 90s, at least, dealing with Linux was a lot easier than JAWS on windows.

Re: Learning from Terminals to Design the Future of User Interfaces

#373
post #372

Earlier quoted context omitted.

Poorly, IMO. This became clear to me when I had to talk a blind Windows user through installing Red Hat Linux with the Speakup screen reader in early 2001, using Red Hat's text-mode installer. That was when I realized that Windows had actually become more usable with a screen reader than screen-oriented text-mode UIs in a terminal.

hmm I have a couple of blind friends, and one was an avid redhat user in the late 90s/early 2000s. I didn't reply to the question because I honestly can't remember, but in the late 90s, at least, dealing with Linux was a lot easier than JAWS on windows.

The transition from DOS to Windows in the 90s was difficult for blind users as well as screen reader developers. For some blind techies who were comfortable with DOS, Linux was indeed a more attractive next step. I was heavily involved in the blind Linux community from 1999 through 2001, and helped several newbies get started with Linux.

But that's ancient history. Even as I was deeply involved in the blind Linux community, Windows screen readers were getting good, particularly for everyday tasks like web browsing. Today, there would be no reason for any blind person other than a programmer or sysadmin to use a command-line interface, let alone a screen-oriented terminal interface.

To see why a screen-oriented terminal interface isn't in fact blind-friendly, consider that Red Hat text-mode installer I talked about last time. On screen, you have an approximation of a GUI using line-drawing characters, some ASCII art (for check boxes), and colors to convey where the focus or selection is. Suppose you're in a list of check boxes with buttons below it. What does the screen reader read when you arrow through the list? When you toggle a check box with Space? When you tab to one of the buttons? With the Linux Speakup screen reader in particular, the output wasn't at all intuitive, and one often had to use screen review commands to be sure of what was happening. I wish I still had a copy of a tutorial I recorded in late 2000 where I walked through the installation of Debian with Speakup. (The Debian and Red Hat installers were and are very similar in this regard.)

Contrast that with the Fedora or Ubuntu graphical installer running under GNOME with the Orca screen reader. Like other major GUI platforms, GNOME has an accessibility API. Screen readers and other assistive technologies can get a tree of UI elements, and receive events about those elements. Assuming the application implements its side of the API (and often the UI toolkit takes care of this), a screen reader has easy access to high-level information about the widgets on the screen, what's happening to them, which one has the keyboard focus, etc. So when you arrow through that list of check boxes, the screen reader can say things like, "Web server, not checked". Then when you hit Space, it can just say, "checked". Finally, when you press Tab, it can say something like, "Next, button". It's clearly a much better experience.

I'm happy to answer any questions if anyone is curious.

Re: Learning from Terminals to Design the Future of User Interfaces

#375
post #339

Earlier quoted context omitted.

Unfortunately, not every animation. In particular, the Spaces transition animations that the OP is complaining about is not one of the ones you can disable with `defaults.write`. I re-check if it's been added with every new macOS release; no luck so far :(

One way to make the Spaces animation tolerable is to enable "Reduce motion" in Accessibility preferences. https://i.imgur.com/zg4gZA7.png

This is amazing - thank you!

Re: Learning from Terminals to Design the Future of User Interfaces

#376

Earlier quoted context omitted.

Buggy mobile client (andriod) and dumpster tier performance are two areas they have been dropping the ball on since release, and requires innovation in some sense of the word. Those are both very important. Innovation is generally important and I'm half curious as to why you ask.

> Buggy mobile client (andriod) and dumpster tier performance are two areas they have been dropping the ball on since release, and requires innovation in some sense of the word. Making your program meet what really should be a minimum acceptable standard is considered innovation now? Multimedia chat clients that performed well and weren't crippled by bugs existed in the 90s. > Those are both very important. Innovatio…

> Has Slack's attraction ever been that it's an innovative product?

Yeah, it's just IRC with a new hat, but sure, I'm willing to say it was innovative. Nothing like it existed and now many things like it exist. It was an innovation in the smaller parts - that judging by how things have gone, are maybe not so small.

> Making your program meet what really should be a minimum acceptable standard is considered innovation now?

It's not ~disruptive techmologi~ but it would require genuine innovation in terms of creating a proper cross platform native UI framework, or at the very lest a large shift in their product to move to multiple frameworks (innovation in the company rather than in tech generally.)

Re: Learning from Terminals to Design the Future of User Interfaces

#377

I wrote a comment under a different post just a few days ago. My comment got _way_ out of hand and wasn't as articulate as I had hoped. But the salient point I made with it is simple and applies equally well to this article. UI is hard. User interfaces seems really simple. Every programmer I know has looked at a UI and thought to themselves "I can code that in an hour!" and then ended up spending weeks, sometimes _mo…

I think that one of our biggest problems with UI is that it is immutable.

Users can't really change most UI. Developers have to make one ultimate one-size-fits-all UI for all of their users.

Re: Learning from Terminals to Design the Future of User Interfaces

#378
post #28

The animations serve a valuable purpose, though, especially for new users. They show what's happening. Lots of old UIs (like those running in VT100 emulators) had instant wipes from one view to another, but made it impossible to tell what had happened, or why. Even when I wish animation was faster (like with Spaces, sometimes), I rarely wish it didn't exist at all. I often have people watching me, and with animations…

The speed of animations is not important.

The latency they produce is.

If you had a 10ms animation that blocks UI, that would be annoying.

If you had a 10 second animation that doesn't block UI, that would probably be fine.

Even if an animation feels like it blocks UI, that is a problem.

Re: Learning from Terminals to Design the Future of User Interfaces

#379
post #193

Earlier quoted context omitted.

Yup this. If I wanted to carry around a bag of plugins all day, I'd just use bash.

On the plus side, by picking and choosing what you want, you can get the precise performance and usability ratio that fits you best. Fish is a great shell but nothing beats the zsh plugin ecosystem.

Or in my case: spend a bunch of time messing with and tweaking my shell config. Sometimes the tyranny of default options is helpful to getting things done.
Post reply on HN