Remix.run Logo
▲ Twey 5 hours ago

> 37signals differentiates their products with opinionated UI/UX, not novel features. They are rewriting Hey as six native apps because the web fidelity isn’t good enough. So UI matters enough to justify complete rewrites, but also everyone just wants CLIs?

I've seen this one a few times lately. People should stop building UIs, nobody wants to interact with a UI. Everyone's app should just be an API that you can use with a chatbot. Except for my app — my app is a handcrafted miracle of artisanal UX and its UI will change the way you see the world.

It's exactly the old argument, just now with LLMs in the place of shell pipelines: in terms of functionality and value to users, software ought to be malleable and composable. We've known it since the eighties. But the model of selling a piece of software as a product as if it were a pair of shoes is incompatible with that. You need a big monolithic application to justify users paying a bunch of money for it, and you need it to have a fancy interface that makes an impression. And the whole software industry is built on top of that model. Where monolithic software is completely unfit for a purpose, like when it needs to be a component of a larger system, we rely on (mostly unpaid) OSS.

Except now LLMs let you, with very little technical know-how, plaster a ‘programmable’ interface on top of unstructured data/interface meant for humans, and because that's what we actually want, of course everybody does that. So the end result is a wildly expensive pipeline from API to UI and back to API again. I wonder how long the legacy ‘human-oriented’ layer in the middle, and the industry that's been built on top of it, will last.

(Separately, chatbots are not great as a UI for most things, and the problem of building the universal UI still also stands. But it turns out for a lot of things people would rather have a bad universal UI than a good special-purpose UI for each task.)

▲code_duck 7 minutes ago | parent | next [-]

I absolutely prefer a UI over talking to a chatbot. That sounds horrific.

▲brainless 2 hours ago | parent | prev | next [-]

I think LLMs may actually help us get to CLI/API driven development. At least, that has been my experience.

Even though most of my projects have a UI, I build a CLI/API version so that the LLM can interact with it directly. I have been using this "CLI driven development" approach for more than a year now and have had fantastic results. The CLI arguments make it easy for LLM to interact with software it wrote.

I usually ask LLM to build a lib, then expose as a CLI and a RESTful API.

▲Twey 42 minutes ago | parent [-]

As a developer/user I hope for that outcome too — if everybody is using your app through an agent you might as well cut the maintenance cost and drop the GUI, or at least have a nice API alongside it to make it nicer for the agent. But I wonder what it does to the financial incentives to produce software.

▲hi_hi an hour ago | parent | prev | next [-]

UIs are great, until you can’t see the UI.

Words are a great UI. They can be easily converted into audio and haptics. We already have many systems in place that do exactly this with words.

Sure, pretty graphics are nice, but their sole intent should be to convey information. A User Interface that does not allow a person to easily have information conveyed to them is a bad interface.

The modern AI world isn’t perfect, but for a large portion of people who have accessibility needs, it’s absolutely a positive impact on their life in a way that no single technology has been until now.

▲jmathai 4 hours ago | parent | prev | next [-]

I think chat is a great entry point for many experiences. The approachability and flexibility are unmatched.

A question becomes, how do you evolve a chat experience to task specific actions?

I’m building an app to explore scripture. Chat is an amazing starting point. But it’s terrible once you get into reading the actual scripture.

I think we will see more of this in the future. Here is how I’ve envisioned evolving an experience out of chat. Curious if others have their own ideas.

https://trysojourn.app

▲Lukas_Skywalker 2 hours ago | parent [-]

For me personally, the effort to type on a mobile phone is too much. If I can't complete an interaction with maybe two sentences, I much much prefer typing on a computer, and if required, copy everything over.

▲fhub 2 hours ago | parent [-]

I’m in the same boat. Hate typing on a phone. But due to chat interfaces,I’ve learned to mutter discretely into Apple keyboard dictation.

▲huijzer 4 hours ago | parent | prev | next [-]

> People should stop building UIs, nobody wants to interact with a UI.

If the UI is completely local and the chat is not, then I prefer UI.

▲jgalt212 an hour ago | parent | prev | next [-]

> in terms of functionality and value to users, software ought to be malleable and composable.

For technically competent users, sure. but for everyone else the UI should just follow the principal of least surprise.

▲Twey 40 minutes ago | parent [-]

I think the popularity of these chat interfaces disagrees with that to some extent. We do already have malleable software for people who can program — the problem has always been bringing it to everyone else.

▲jon-wood 4 hours ago | parent | prev | next [-]

> Except now LLMs let you, with very little technical know-how, plaster a ‘programmable’ interface on top of unstructured data/interface meant for humans, and because that's what we actually want, of course everybody does that.

I don't think that is what everyone wants, or at the very least its not what I want. My ideal software has a well designed and thought through user interface for the primary interactions, allowing me to think about the goal I'm trying to achieve rather than how I'm manipulating the underlying data model.

Additionally to that please also provide access to the underlying data. Ideally in the form of a locally accessible API but I'll accept a remote one if necessary, provide a CLI on top of that as well if you like.

▲Twey 34 minutes ago | parent [-]

Yes you caught me out in a bit of exaggeration there. For the topmost level of tasks people typically do want a low-latency, high-bandwidth UI for displaying and manipulating the information they care about.

▲mcntsh 4 hours ago | parent | prev | next [-]

>Everyone's app should just be an API that you can use with a chatbot.

I see this sentiment a lot, but UI has a greater purpose than just serving the customer needs, it also be used to shape them.

Imagine if instead of going to the grocery store, you called a number and told them what you needed. Sometimes you don't know everything you need. Sometimes you end up discovering something new and buying it even if you didn't plan on it.

▲Twey 37 minutes ago | parent [-]

In case it wasn't clear, that was intended as a somewhat satirical representation of the position I was discussing :) An important part of any ‘universal UI’ — and arguably the hardest part of building it — has to be that it allows feedback from the API about what and how to display, which is always in tension with the malleability/universality aspect. People are trying to solve that for chatbots right now, with limited success so far.

▲zsoltkacsandi 4 hours ago | parent | prev [-]

> I've seen this one a few times lately. People should stop building UIs, nobody wants to interact with a UI. Everyone's app should just be an API that you can use with a chatbot.

Same happened when the first smartphones came out, and everything was about "mobile first". Everyone will use their mobile phones for everything, desktop is dead, every app should be primarily designed for smartphones, everything comes after. Turned out smartphones just another interface that are good for some things, and not good for some other. Same for the "cloud native" movement.