Uncle X

I talk to computers, they talk back. Sometimes, it gets awkward.

My Happy Place

I was doing a “mindful cooldown” after some intense workout today. The trainer asked me to close my eyes and imagine that I am at my happy place. This is the image of that happy place for me. It is kind of sad… Isn’t it?

my happy place

(Of cause, the trainer was on my phone, talking through my AirPods.)

Thursday, 20 Apr 2023

Pretty but Suck

Most of the time, it’s not even that pretty.

Tech falls apart right when you need them urgently. Based on my experience, they seem to fall in two major ways.

Flakiness

The quality of software descends free fall after a point in time, which is hard for me to define, but I can feel that it’s there. Maybe since the internet came to life, you now ship your software over the air instead of burning a CD, putting them in boxes and selling them in stores. The ship-now-and-fix-later mentally is also killing the quality of video games. Or maybe it’s agile software development, which ruins productivity and quality single-handedly. I don’t want to go into too many details about that. Nowadays, talking about agile is a lot like talking about politics. It’s meaningless, and it never ends with a meaningful conclusion.

“Simple”, but actually Complex Design

control panels that actually useful

Take a look at the control panels in an aeroplane cockpit. Why do they overwhelm themselves with millions of knobs and meters? One would think out of all the professions, the pilot is the last one you’d want to distract or overwhelm with more stress during work. The “complicated” design does exactly the opposite. What is the most straightforward way to do X? Make a button. It costs your brain power to think about the “logical workflows” in modern software. For example, Apple has this infamous minimalist design philosophy. They hide away the complexity to achieve “aesthetic perfection”.

notification cards from Apple Imagine in the cockpit, the button to turn off a warning. Right before you pressed it, it changed into the “ignore all warnings button”.

It works well for the majority of use cases. Here is a common excuse: “The users only use 20% of the features 80% of the time, so why clutter the UI?” right? Of course, you can argue that if your design is smart enough (meaning, you can predict how people think, and define what is “common sense”, which is extremely hard), you can create something joyful to use. But those are few and far between, even for Apple’s own software. Not to mention the fanatic followings of the industry. The result is all software is pretty but suck to use. Most of the time, it’s not even that pretty.

Here’s an interesting thing about our human brains: if the tool fails me once, it negates all the 99 times when it worked. We like predictability. I need to know when I put something in the oven for x amount of time. It will turn out exactly how I want it. Not maybe.

Monday, 17 Apr 2023

Computer User Interface in the AI Era

SwiftGPT

A fast and seamless ChatGPT experience on your Mac.

It seems we will have to forget everything we’ve learnt about UX design soon, for real this time. All we need for talking to our computers is a text input box.

The chat UI (in non-messaging apps) happened before. In fact, quite popular for a long time in China, led by the ingenious design of WeChat. The “micro-program” (小程序) paradigm gave birth to all kinds of innovative use of a simple texting user interface. This proves again how a flexible and open (yes, I see the irony here, just shut up.) ecosystem sparks innovation. If you have been hanging around the internet long enough, you’d remember that hashtag (#) and @people on Twitter were invented by the users, and it got popular enough that Twitter built the feature in much later. The same can be said about pull-to-refresh gestures on touchscreen devices. Hint: it’s not Apple’s idea. But I digress.

So the most basic use of the chat UI is simply using the text input as a command prompt. Much like a shell terminal.

UI

Funny how UI design is like fashion, that it came around back. command prompt -> click and drag with mouse -> touch the screen with fingers -> command prompt, but with your fingers. The problem is that the command needs to be precise. You can built-in some error tolerance, but still, it has its limits. 💡! why not make the most used commands buttons instead? With the option to fall back to text input.

  • PO: can we put more buttons down there?
  • Developer: not without violating the law of physics.
  • PO: Good, I need accurate sizing for that work by the EOD.

So… it got out of hand pretty quickly.

It seems like Large Language Model is up for the challenge of solving the UX design problem once and for all. It’d be like walking into a store and talking to someone about your needs again. But instead of walking in, you open an app. Instead of talking, you text. Any time of the day, and you don’t need to care about her feelings. I am optimistic about the future.

Monday, 10 Apr 2023