‹ BackHN Continuity

Thread

What About Rails?

334 points · 236 comments · jrochkind1

  1. Twey · · focus · HN ↗
    > 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.)

    1. zsoltkacsandi · · focus · HN ↗
      > 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.

      1. goatlover · · focus · HN ↗
        Exactly this. Each new hype cycle, everything must be shoe horned into the hot new technology. So now there's a push to use chatbots for everything, why even have an interface? Just ask the chatbot to make one for you! Because the user totally knows what they want and what works, we've been wrong all these decades when it comes to UIs and customer preference. /s
    2. mcntsh · · focus · HN ↗
      >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.

      1. Twey · · focus · HN ↗
        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.
    3. jon-wood · · focus · HN ↗
      > 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.

      1. Twey · · focus · HN ↗
        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.
      2. chrisweekly · · focus · HN ↗
        > "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"

        Yes, this is the crux of the whole discussion. The paradigm is called "Intent-based UX".

    4. jmathai · · focus · HN ↗
      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.

      <a href="https:&#x2F;&#x2F;trysojourn.app" rel="nofollow">https:&#x2F;&#x2F;trysojourn.app

      1. Lukas_Skywalker · · focus · HN ↗
        For me personally, the effort to type on a mobile phone is too much. If I can&#x27;t complete an interaction with maybe two sentences, I much much prefer typing on a computer, and if required, copy everything over.
        1. fhub · · focus · HN ↗
          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.
          1. jmathai · · focus · HN ↗
            What&#x27;s an example of an app &#x2F; UX that you really love which other apps may rely on chat for? I&#x27;d love to check them out.
      2. skinfaxi · · focus · HN ↗
        I like this way of branching and adding context for the user. It would be interesting to make it more generalizable to other texts.
        1. jmathai · · focus · HN ↗
          You gave me an idea :). The original motivation was to explore the Bible like I explore Wikipedia. I think this UX for Wikipedia would be really amazing. Someone should build it. I hope I don&#x27;t get the itch to do it this weekend!

          <a href="https:&#x2F;&#x2F;trysojourn.app&#x2F;writings&#x2F;explore-the-bible-like-wikipedia&#x2F;" rel="nofollow">https:&#x2F;&#x2F;trysojourn.app&#x2F;writings&#x2F;explore-the-bible-like-wikip...

      3. vjvjvjvjghv · · focus · HN ↗
        &quot;I think chat is a great entry point for many experiences. The approachability and flexibility are unmatched.&quot;

        Just wait a few months&#x2F;years and then some smartasses will come with a novel approach nobody ever has thought of before. Let&#x27;s call it &quot;context menus&quot;. They will give rapid access to the most used features without the tedious typing.

        Until MacOS 27 the text context menus had items &quot;Writing Tools&quot; and &quot;Proofread&quot;. Quick and efficient. MacOS has dropped these items and replaced with &quot;Ask Siri&quot;. Now I have to type &quot;proofread&quot; every time and pray Siri agrees that it should proofread the selected text. Once it has done that, do i have to type &quot;replace&quot;? I don&#x27;t even know.

        There is a reason why UIs became popular. Command lines are fine but hard to discover and tedious to use. With AI it&#x27;s even worse. You can&#x27;t know for sure the AI interprets your commands in the way you intended.

        1. andrekandre · · focus · HN ↗
          this whole shove chatbots into everything trend will get reversed or watered-down after a couple years like all the other trends

          most of the time, a bad (or non-existent) ui is responsible for even a need of a chatbot; its lazy (and i say this a someone who was forced to implement a chatbot!) from a product design perspective.

          that being said, could some complex apps benefit from adding both a command-line style interface to &#x27;pop open the hood&#x27; so-to-speak for advanced users and provide a chat interface for beginners as well? yea why not?

    5. huijzer · · focus · HN ↗
      &gt; 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.

    6. brainless · · focus · HN ↗
      I think LLMs may actually help us get to CLI&#x2F;API driven development. At least, that has been my experience.

      Even though most of my projects have a UI, I build a CLI&#x2F;API version so that the LLM can interact with it directly. I have been using this &quot;CLI driven development&quot; 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.

      1. Twey · · focus · HN ↗
        As a developer&#x2F;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.
    7. jgalt212 · · focus · HN ↗
      &gt; 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.

      1. Twey · · focus · HN ↗
        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.
      2. perganomoly · · focus · HN ↗
        Leas surprise is one good way of putting it. Intuitiv, dead simple, most familiar, and idiot proof are others.

        I still Don‘t Make Me Think is the best guide for developing interfaces for non technical user, which is still the vast majority of software.

        Sometimes listening to technical people talk about software leave me feeling like the people who are meant to build the stuff are frequently the most out of touch with the needs of the users &#x2F; customers.

        Same for business but for different reason and in different ways.

        That’s why there is a still a place for good UX designers and product managers to at least try and bring the gap, assuming they’re actually competent, which is hardly a sure thing.

    8. hi_hi · · focus · HN ↗
      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.

      1. Twey · · focus · HN ↗
        For sure! One of the big draws of malleability is that you can adapt it to your particular needs. Natural language is a UI just as much as a WIMP GUI, and for some tasks or some people it&#x27;s a great one.
      2. [deleted] · · focus · HN ↗

        [deleted]

    9. code_duck · · focus · HN ↗
      I absolutely prefer a UI over talking to a chatbot. That sounds horrific.
    10. alerighi · · focus · HN ↗
      A chatbot is worse than a CLI app: a CLI app does exactly what you ask for, and has a manual documenting exactly what command do what, and the output is consistent, the same command does the same thing period.

      A chatbot using an LLM of course not, it suffers from hallucinations, it may do what you want but there is a change it won&#x27;t and you have to fight it to get the desired result.

      Chatbots are far WORSE than traditional UI for everything. If some product has a chatbot functions it&#x27;s the first thing I disable, if it&#x27;s not possible to disable it, I avoid the product.

      And GUI applications are typically preferred, at least for the normal people and not us nerds, to CLI applications, since you know people like moving a mouse and clicking on buttons (or tapping them on a touchscreen) that learning commands: a chatbot doesn&#x27;t make the CLI experience less awful for the average user, and for the nerd user, he prefers to use the CLI directly (replace asking the chatbot with man or --help and you don&#x27;t need to emit tons of CO2 and transmit your personal data to a datacenter on the other side of the world to do stuff you did with MS-DOS)

      1. enraged_camel · · focus · HN ↗
        &gt;&gt; Chatbots are far WORSE than traditional UI for everything. If some product has a chatbot functions it&#x27;s the first thing I disable, if it&#x27;s not possible to disable it, I avoid the product.

        The chatbot we added to our B2B product is by far the most popular addition we&#x27;ve made this year. Our users are not tech-savvy, they use a lot of apps everyday and don&#x27;t want to have to learn and keep up with just another UI. So they like being able to type their wants and needs in plain language (or speak it into their phone, if they are in the field) and get a plain language response back with embedded images and charts.

        YMMV of course.

        1. chrisjj · · focus · HN ↗
          &gt; So they like being able to type their wants and needs in plain language (or speak it into their phone, if they are in the field) and get a plain language response back with embedded images and charts.

          I note you didn&#x27;t mention accurate and reliable.

          1. enraged_camel · · focus · HN ↗
            In our context it would not be popular if it was not accurate and reliable. In fact we would lose customers pretty fast!
            1. chrisjj · · focus · HN ↗
              So have an accurate and reliable chatbot? Wow! You should sell it as a replacement for LLMs!
              1. IanCal · · focus · HN ↗
                If you think llms are so unreliable that there&#x27;s no business context in which they pass a bar for being helpful enough to be used, I strongly recommend you go and speak to actual users about their actual problems and review the state of the art at the moment with LLMs.
                1. chrisjj · · focus · HN ↗
                  LLM unreliability is no impediment in the application at which they most excel. Bullsh*t generation. There they sail way over the bar for e.g. most customer support.

                  You claon accuracy. LLMs results typically have dire repeatability i.e. same input gives different output. Hence anyone relying on tests for accuracy is kidding themselves.

                  1. IanCal · · focus · HN ↗
                    It’s a different skill but one worth learning. Businesses have been building valuable things on top of non-deterministic processes for a very long time. Even much more classical AI can’t be tested in the same way.

                    You might not know how to do this, which is fine, but it’s not a new problem.

                    1. chrisjj · · focus · HN ↗
                      &gt; Businesses have been building valuable things on top of non-deterministic processes for a very long time

                      Non-deterministic is one thing, unreliable and inaccurate is quite another. E.g. see monte carlo simulation

                      Regradless, I didn&#x27;t suggest chatbot-generated bullsh*t wasn&#x27;t valuable to businesses. On the contrary. The amazing productivity of these chatbots is every day making it more valuable to all types of bullsh*t-based businesses worldwide.

        2. topaz0 · · focus · HN ↗
          Popular and far worse is not really an unusual combination
        3. Twey · · focus · HN ↗
          I think LLM chatbots are great for discovery. Better than CLIs, better than WIMPs. Where previously you&#x27;d go to a search engine to figure out what command to run or where to find that obscure tickbox, now the search is built right into the interface, and you can give it arbitrarily complex queries in natural language. It turns out there are a huge number of products for which discovery is the bottleneck.

          The problem with chatbots is that they don&#x27;t scale very well with you. A proficient user of your application knows where that tickbox is and can get to it in three clicks (or if you have shortcuts, one keyboard chord). But the chatbot still makes you type a whole (ish) sentence. If that&#x27;s something you want to do 3 times a minute that application is now unusable.

          1. IanCal · · focus · HN ↗
            The neat point of this is building up a nicer hierarchy of scripts that use your API that LLMs can call, having a place to build up UIs and shortcuts that use these, and a way of users making them with LLMs.

            A flow of

            * Conversation, which uses several API calls

            * Put the API calls together as a runnable thing

            * Give users a place to put this, now it&#x27;s a fast way of doing their custom task

            If you can make those testable, and make them shareable, this seems very powerful.

      2. unrented7977 · · focus · HN ↗
        &gt; a CLI app does exactly what you ask for, and has a manual documenting exactly what command do what

        *a small percent of apps behave like this

        &gt; it may do what you want but there is a change it won&#x27;t and you have to fight it to get the desired result

        The vast majority of all software made in the last ten years falls into this category. This includes the goddamn operating system itself.

        I don&#x27;t think you&#x27;re making the argument you think you&#x27;re making.

      3. moring · · focus · HN ↗
        &gt; a CLI app does exactly what you ask for, and has a manual documenting exactly what command do what, and the output is consistent, the same command does the same thing period

        This is a very software-engineery point of view and totally false for the ordinary user. Heck, it is even false for me as a software engineer.

        &gt; since you know people like moving a mouse and clicking on buttons

        No, they like well-designed user interfaces, and the UI design of a typical CLI is abysmal.

        1. tvink · · focus · HN ↗
          &gt; Heck, it is even false for me as a software engineer.

          Amen

          Honestly, the gap from knowing which command line tool you probably need, to the command that does what you need... Prior to AI I have replicated probably a thousand command line capabilities in Ruby because I just couldn&#x27;t be bothered.

        2. topaz0 · · focus · HN ↗
          &gt; the UI design of a typical CLI is abysmal

          The nice thing about a CLI is that even if you don&#x27;t like the interface you&#x27;re given, it&#x27;s trivial to put an interface you do like in front of it. Much harder to do that with a point and click interface.

          1. bbkane · · focus · HN ↗
            Are you referring to writing a wrapper cli? Or adding a GUI?
            1. topaz0 · · focus · HN ↗
              Mostly just a little 1 to 3 line bash script that calls the relevant CLI with the relevant arguments&#x2F;options for what I want to do. Stuff doesn&#x27;t have to be complicated.
    11. seki285 · · focus · HN ↗
      &gt;I wonder how long the legacy ‘human-oriented’ layer in the middle, and the industry that&#x27;s been built on top of it, will last.

      Never because a lot of software is written for the human to use.

    12. troupo · · focus · HN ↗
      &gt; People should stop building UIs, nobody wants to interact with a UI. Everyone&#x27;s app should just be an API that you can use with a chatbot.

      The last thing people want is interacting with a chatbot for anything that doesn&#x27;t require a chatbot.

      &gt; in terms of functionality and value to users, software ought to be malleable and composable.

      No, it shouldn&#x27;t. The last thing people want is for software to change from under them, or be replaced with the bullshit that is a chatbot.

      &gt; plaster a ‘programmable’ interface on top of unstructured data&#x2F;interface meant for humans

      Ah yes. I can imagine everyone &quot;plastering programmable interfaces&quot; on top of daily stuff they want to do. Like buying a ticket to a museum. Ordering Doorsash. Sending a meme to a friend. Renting a car...

Open on Hacker News to reply ↗

Unofficial Hacker News client; not affiliated with Y Combinator.