7 ms·
I'm growing to the idea that chat is a bad UI pattern, period. It is a great record of correspondence, I think. But it is a terrible UI for doing anything. I
by taeric 2y ago
I'm growing to the idea that chat is a bad UI pattern, period. It is a great record of correspondence, I think. But it is a terrible UI for doing anything.
In large, I assert this is because the best way to do something is to do that thing. There can be correspondence around the thing, but the artifacts that you are building are separate things.
You could probably take this further and say that narrative is a terrible way to build things. It can be a great way to communicate them, but being a separate entity, it is not necessarily good at making any artifacts.
- beambot 2y agoAs a written form of "stream of consciousness", it seems to have a lot of value to me. It's noisy, inefficient & meandering -- all the things those polished artifacts are not -- but it's also where you can explore new avenues without worrying about succinctness or completeness. It's like the first draft of a manuscript.
- taeric 2y agoCertainly, it can have its use. But I question if it is stronger than previous generative techniques for creating many things. There have been strong tools that you could, for example, draw a box and say this should be a house. Add N rooms. This room should be a bathroom. Add windows to these rooms. Add required subfloor and plumbing. Even with game development. Level editors have a good history for being how people actually make games. Some quite good ones, I should add. For website development, many template based systems worked quite well. People seem hellbent on never acknowledging that form builders of the late 90s did, in fact, work. Is it a bit nicer that you can do everything through a dialog? I'm sure it is a great for people that think that way.
- freedomben 2y agoMidjourney is an interesting case study in this I think, building their product UI as a discord bot. It was interesting to be sure, but I always felt like I was fighting the "interface" to get things done. It certainly wasn't all bad, and I think if I used it more it might even be great, but as someone who doesn't use Discord other than that and only rarely generated images, I had to read the docs every time I wanted to generate an image, which is a ridiculous amount of friction.
- joe_guy 2y agoThere has recently been a pretty large UI inclusion for midjourney directly inside Discord which has the option of being used instead of the text input. As is often the case in these sorts of thingsz your milage may vary for the more complex settings.
- ijk 2y agoI'm curious if you find their new website interface more tractable--there's some inherent friction to the prompting in either case, but I'd like to know if the Discord chat interface can be overcome by using a different interface or if the issue is more intrinsic.
- troupo 2y agoTheir website UI is great. Discord is nigh unusable
- OJFord 2y agoI don't know, I'm in Slack all day with colleagues, I quite like having the additional ChatGPT colleague (even better I can be quite rude/terse in my messages with 'them'). Incidentally I think that's also a good model for how much to trust the output - you might have a colleague who knows enough about X to think they can answer your question, but they're not necessarily right, you don't blindly trust it. You take it as a pointer, or try the suggestion (but not surprised if it turns out it doesn't work), etc.
- taeric 2y agoOh, do not take my comment as a "chat bots shouldn't exist." That is not at all my intent. I just think it is a bad interface for building things that are self contained in the same chat log.
- packetlost 2y agoI even think it's bad for generalized communication (ie. Slack/Teams/Discord/etc.) that isn't completely throwaway. Email is better in every single way for anything that might ever be relevant to review again or be filtered due to too much going on.
- taeric 2y agoAnything that needs to be filtered for viewing again pretty much needs version control. Email largely fails at that, as hard as other correspondence systems. That said, we have common workflows that use email to build reviewed artifacts. People love complaining about the email workflow of git, but it is demonstrably better than any chat program for what it is doing.
- packetlost 2y agoI don't think I agree with this. Sure, many things should be versioned, but I don't think most correspondence requires it, which is emails primarily purpose.
- taeric 2y agoAgreed if it is correspondence that we are talking about. So, agreed I'm probably too strong that anything needing filtering and such is bad. I'm thinking of things that are assembled. The correspondence that went into the assembly is largely of historical interest, but not necessarily one of current use.
- packetlost 2y agoYup, I agree there. Email is a horrible means of collaborating on changes in general, but doubly so in realtime. But so is IM.
- esafak 2y agoSo you mean like collaborating on a document? Modern word processors are versioned, or you can use text and your own VCS, same as with your code. Is your issue that you want to discuss the thing you are collaborating on outside of the tool you are creating it in?
- chinathrow 2y agoVoice messages within a chat UI is even worse. I can't search it, I can't listen to it in the same situations I can read a message. I wish I could block them within all these chat apps. "Sorry, you can't bother to send voice messages to this person."
- taeric 2y agoOh dear lord yes. I am always baffled when I hear that some folks send voice memos to people.
- dapperdrake 2y agoEmail threads seem better for documenting and searching correspondence. The last counter argument I read got buried on Discord or Slack somewhere.
- taeric 2y agoDiscord and slack baffle me. I liked them specifically because they were more ephemeral than other options. Which, seems at odds with how people want them to be? Why?
- wizzard0 2y agoCan't say for everyone, but I have terrible memory and rely heavily on the chat history (and other tools) to keep my mental model in shape. Here, ephemeral means "this conversation might as well never had happened", so why waste time on that?
- taeric 2y agoI suspect it has to do with mental models. For my model, at large, conversations are worthless. Anyone that tries to hold you to a conversation from weeks ago that didn't secure a stronger commitment is almost certainly flying loose and more than willing to selectively choose what they want to be committed to. Does that mean I can't have some pleasure in conversing about things? Of course not. But, I also enjoy some pleasure there from the low stakes and value that a conversation has. It should be safe to be wrong. If you have a conversation spot where being wrong is not safe, then I question what is the advantage of that over trying to adopt a legalese framework for all of your communication?
- TeMPOraL 2y agoMy preferences are the opposite, but my mental frame is more about utility than about safety. I'm not worried about someone fishing for something I said that could be construed as commitment or admission - they can just as easily do that with e-mail[0]. For me, conversations can be extremely valuable, and I gravitate towards people and places where that's a common case. HN is one of such places - the comment threads here are conversations (half-way in form between chat and e-mail), and they often are valuable, as people often share deep insights, interesting ideas, worthwhile advice and useful facts. Because they're valuable, my instinct is that they need to be preserved, so that myself and others can find those gems again, or (re)discover them when searching for solutions, or read again to reevaluate, etc. So now imagine such (idealized) HN threads transplanted to Discord or Slack. Same people, same topics, same insights, just unrolling in the form of a regular chat. All that value, briefly there to partake in, and then forever lost after however much time it takes for it to get pushed up a few screens worth of lines in the chat log. People don't habitually scroll back very far on a regular basis (and the UI of most chat platforms starts to rapidly break down if you try), and the lack of defined structure (bounded conversations labeled by a topic) plus weak search tools means you're unlikely to find a conversation again even if you know where and when it took place. That, plus ephemeral nature of casual chat means not just the platform, but also some of the users expect it to quickly disappear, leading to what I consider anti-features such as the ability to unilaterally edit or unsend any message at arbitrary time in the future. It takes just one participant deciding, for whatever reason, to mass-delete their past messages, for many conversations to lose most of their value forever. -- [0] - Especially that the traditional communication style, both private and business, is overly verbose. Quite like a chat, in fact, but between characters in a theatrical play - everyone has longer lines.
- dartos 2y agoPreach! I’ve been saying this since 2018
- SoftTalker 2y agoYes, agree. Chatting with a computer has all the worst attributes of talking to a person, without any of the intuitive understanding, nonverbal cues, even tone of voice, that all add meaning when two human beings talk to each other.
- taeric 2y agoYeah, this is something I didn't make clear on my post. Chat between people is the same bad UI. People read in the aggression that they bring to their reading. And get mad at people who are legit trying to understand something. You have some of the same problems with email, of course. Losing threading, in particular, made things worse. It was a "chatification of email" that caused people to lean in to email being bad. Amusing that we are now seeing chat applications rise to replace email.
- SoftTalker 2y agoYeah this is part of why RTO is not an entirely terrible idea. Remote work has these downsides -- working with another person over a computer link sucks pretty hard, no matter how you do it (not saying WFH doesn't have other very real upsides).
- taeric 2y agoAgreed. I'm actually in an awkward position where I was very supportive of RTO two years ago, but have since become very reliant on some things I could not do with a rigid RTO policy. Regardless of RTO or WFH, patience and persistence remain vital qualities.
- aylmao 2y agoI would also call it having all the worst attributes of a CLI, without the succinctness, OS integration, and program composability of one.
- 1ucky 2y agoYou should check out out MCP by Anthropic, which solves some of the issues you mentioned.
- Suppafly 2y agoI like the idea of having a chat program, the issue is that it's horrible to have a bunch of chat programs all integrated into every application you use that are separate and incompatible with each other. I really don't like the idea of chatting with an AI though. There are better ways to interface with AIs and the focus on chat is making people forget that.
- tux1968 2y agoWe need an LSP like protocol for AI, so that we can amortize the configuration over every place we want such an integration. AISP?
- lytedev 2y agoI think they're working on it? MCP: https://www.anthropic.com/news/model-context-protocol https://www.anthropic.com/news/model-context-protocol
- brobdingnagians 2y agoSimilar thing I've run into lately, chat is horrible for tracking issues and tasks. When people try to use it that way, it becomes absolute chaos after awhile.
- t_mann 2y agoOk, but what is a good pattern to leverage AI tools for coding (assuming that they have some value there, which I think most people would agree with now)? I could see two distinct approaches: - "App builders" that use some combination of drag&drop UI builders, and design docs for architecture, workflows,... and let the UI guess what needs to be built "under the hood" (a little bit in the spirit of where UML class diagrams were meant to take us). This would still require actual programming knowledge to evaluate and fix what the bot has built - Formal requirement specification that is sufficiently rigorous to be tested against automatically. This might go some way towards removing the requirement to know how to code, but the technical challenge would simply shift to knowing the specification language
- staplers 2y agoOk, but what is a good pattern to leverage AI tools for coding? Actual product stakeholders are not likely to spill their magic sauce and give free consultancy.
- swiftcoder 2y ago"Actual product stakeholders" in this space clearly don't actually have any magic sauce to spill. Everyone is building more or less the same chat-based workflows on the same set of 3rd-party LLMs. The space is ripe for folks with actual domain expertise to design an appropriate AI workflow for their domain.
- FloorEgg 2y agoI have magic sauce that I haven't spilled yet.
- t_mann 2y agoThat's no reason to not discuss potentially cool ideas, unless you think their input is so indispensable that any debate is futile without them.
- lucasyvas 2y agoDisclaimer: Haven't used the tools a lot yet, just a bit. So if I say something that already exists, forgive me. TLDR: Targeted edits and prompts / Heads Up Display It should probably be more like an overlay (and hooked into context menus with suggestions, inline context bubbles when you want more context for a code block) and make use of an IDE problems view. The problems view would have to be enhanced to allow it to add problems that spanned multiple files, however. Probably like the Rust compiler output style, but on steroids. There would likely be some chatting required, but it should all be at a particular site in the code and then go into some history bank where you can view every topic you've discussed. For authoring, I think an interactive drawing might be better, allowing you to click on specific areas and then use shorter phrasing to make an adjustment instead of having an argument in some chat to the left of your screen about specificity of your request. Multi-point / click with minimal prompt. It should understand based on what I clicked what the context is without me having to explain it.
- marcosdumay 2y ago> It can be a great way to communicate them It's usually not. Narrative is a famously flawed way to communicate or record the real world. It's great for generating engagement, though.
- taeric 2y agoI think fictional narratives that aim to capture inner monologue are famously flawed. I think narrative tours of things can be good. I'm not clear if "narrated tours" are a specific genre, sadly. :(
- sangnoir 2y ago> Narrative is a famously flawed way to communicate or record the real world. ...and yet with it's flaws, it's the most flexible in conveying meaning. A Ted Chiang interview was on the HN frontpage a few days ago, in it, he mentions that humans created multiple precise, unambiguous communication modes like equations used in mathematical papers and proofs. But those same papers are not 100% equations, the mathematicians have to fall back to flawed language to describe and provide context because those formal languages only capture a smaller range of human thought compared to natural language. This is not to say chat has the best ergonomics for development - it's not, but one has to remember that the tools are based on Large Language Models whose one-trick is manipulating language. Better ergonomics would likely come from models trained or fine-tuned on AST-tokens and diffs. They'd still need to modulate on language (understanding requirements, hints, variable names,and authoring comments, commits and/or PRs).
- zamfi 2y agoWith apologies to Bill Buxton: "Every interface is best at something and worst at something else." Chat is a great UI pattern for ephemeral conversation. It's why we get on the phone or on DM to talk with people while collaborating on documents, and don't just sit there making isolated edits to some Google Doc. It's great because it can go all over the place and the humans get to decide which part of that conversation is meaningful and which isn't, and then put that in the document. It's also obviously not enough: you still need documents! But this isn't an "either-or" case. It's a "both" case.
- gagik_co 2y agoI think “correspondence UX” can be bad UX but there’s nothing inherently wrong with chat UI. I created the tetr app[1] which is basically “chat UI for everything”. I did that because I used to message myself notes and wanted to expand it to many more things. There’s not much back and forth, usually 1 input and instant output (no AI), still acting like a chat. I think there’s a lot of intuitiveness with chat UI and it can be a flexible medium for sharing different information in a similar format, minimizing context switching. That’s my philosophy with tetr anyhow. [1] https://tetr.app/ https://tetr.app/
- tpmoney 2y agoI disagree. Chat is a fantastic UI for getting an AI to generate something vague. Specifically I’m thinking of AI image generation. A chat UI is a great interface for iterating on an image and dialing it in over a series of iterations. The key here is that the AI model needs to keep context both of the image generation history and that chat history. I think this applies to any “fuzzy generation” scenario. It certainly shouldn’t be the only tool, and (at least as it stands today) isn’t good enough to finalize and fine tune the final result, but a series of “a foo with a bar” “slightly less orange” “make the bar a bit more like a fizzbuzz” interactions with a good chat UI can really get a good 80% solution. But like all new toys, AI and AI chat will be hammered into a few thousand places where it makes no sense until the hype dies down and we come up with rules and guidelines for where it does and doesn’t work
- badsectoracula 2y ago> Specifically I’m thinking of AI image generation I heavily disagree here, chat - or really text - is a horrible UI for image generation, unless you have almost zero idea of what you want to achieve and you don't really care about the final results. Typing "make the bar a bit more like a fizzbuzz" in some textbox is awful UX compared to, say, clicking on the "bar" and selecting "fizzbuzz" or drag-and-dropping "fizzbuzz" on the "bar" or really anything that takes advantage of the fact we're interacting with a graphical environment to do work on graphics. In fact it is a horrible UI for anything, except perhaps chatbots and tasks that have to do with text like grammar correction, altering writing styles, etc. It is helpful for impressing people (especially people with money) though.
- tpmoney 2y ago> Typing "make the bar a bit more like a fizzbuzz" in some textbox is awful UX compared to, say, clicking on the "bar" and selecting "fizzbuzz" or drag-and-dropping "fizzbuzz" on the "bar" or really anything that takes advantage of the fact we're interacting with a graphical environment to do work on graphics. That assumes that you have a UX capable of determining what you're clicking on in the generated image (which we could call a given if we assume a sufficiently capable AI model since we're already instructing it to alter the thing), and also that it can determine from your click that you've intended to click on the "foo" not the "greeble" that is on the foo or the shadow covering that part of the foo or anything else that might be in the same Z stack as your intended target. Pixel bitching adventure games come to mind as an example of how badly this can go for us. And yes, this is solvable, Squeak has a UI where repeatedly clicking in the same spot will iterate through the list of possibilities in that Z stack. But it could also get really messy really quickly. Then we have to assume that your UX will be able to generate an entire list of possible things you might want to be able to to do with that thing that you've clicked, including adding to it, removing it, removing part of it, moving it, transforming its dimensions, altering its colors, altering the material surface and on and on and on. And that list of possibilities needs to be navigable and searchable in a way that's faster than just typing "make the bar more like a fizzbuzz" into a context aware chat box. Again, I'm not arguing the chat interface should be the only interface. In fact, as you point out we're using a graphical system, it would be great if you could click on things or select them and have the system work on too. It should be able to take additional input than just chat. But I still think for iterating on a fuzzy idea, a chat UI is a useful tool.
- varispeed 2y agoTalk to AI chat as if you would talk to junior developer at your company and tell it to do something that you need. I think it is brilliant. On another hand I caught myself many times writing prompts to colleagues. Although it made requirements of what I need so much clearer for them.
- Sylamore 2y agoNC DMV replaced their regular forms with a chat bot and it's horrible. Takes forever to complete tasks that used to take less than a minute because of the fake interaction and fake typing. Just give me a damn form to pay my taxes or request a custom plate.