I've had this idea for the past week or so about b...
# proj-agent-canvas
h
I've had this idea for the past week or so about being able to launch a super minimal canvas instance. So you could stand up Canvas for someone but without all the controls or features that might let it get misconfigured. Artifact to read through here share.devinvinson.com/canvas/… . No PR at the moment but my branch is at github.com/DevinVinson/OpenHands/…/canvas-feature-policy I'm curious if this sounds useful for anyone else 😄
l
I like the general idea but I wonder if we need a separate instance for this, or we can just make the overall UX introduce complexity more gradually so the normal canvas is also harder to misconfigure?
h
Definitely in favor of easier to use and more clear ux around everything. But for some cases I would like to remove Customize, backend switching, some or all of the settings access, maybe visibility to some of the panels in chats.
On the business side it would be nice to have an easy way to standup openhands with some of those disabled as well
l
Why though?
Do we have examples where actually disabling them would be necessary instead of making them harder to find?
a
I would like an agent that helps you setup things as you need them. People shouldn't have to do that. You unlock at as you need it.
nod 1
l
Thats what Vasco is working on in #C0B4Z32L064!
🙌 1
Specifically for the software factory, but I think that can be applied to other things too
c
I like the idea of making the app minimal, and have the separable things added on top. Implementing something like that would likely enforce a level of code/modules separation that is very good for agents working on it. 😅 It's a different kind of extensibility built in, if I may put it this way. I don't think it should be FE-only. 🤔 If it was, as the doc itself says towards the end, anyone with an api key would bypass FE and just do that stuff anyway. Which raises the question if all "operators" out there realized that, or were taken by surprise. In some sense, it feels like it's heading towards having an "admin" and "users". I mean, it is saying that, an "operator" has access to mess with the features, while other users are supposed to experience the effects only. I recommend that regardless if we want to take that route or not, we could focus on a great experience, smooth and secure, for that operator. Peace of mind, and, why not, easiness and delight, for the users downloading and self-hosting OpenHands. I believe it's not nearly at the best we can do.
h
I've been talking to and helping non AI folks use different AI tools and observing where they get snagged. Just removing all the extra visual bits from being available so the main surface is talking to an agent to do work with connected files and services.
That's where my thinking is at least. Once the pattern is in place it's pretty easy to implement UI variation where it adjusts based on availability I would hope.
l
Oh if the suggestion is “remove the UI and make the main surface talking to the agent”, then I’m very much in favor of that. My main question was just “why would we need two different experiences?” I think it’d be great to have a smooth onboarding experience that allows basic functionality to be set up quickly, but power user functionality to be revealed gradually.
➕ 1
c
Just to understand
talking to and helping non AI folks use different AI tools and observing where they get snagged.
Non-AI software engineers/adjacent?
nod 1
h
Yes @calm-artist-7206 exactly. I've been at some events locally with a lot of different professionals at various levels who are extremely interested in using AI tools but really only have access and exposure to copilot via microsoft teams or free chatgpt/gemini. It made me remember my early days handing over websites to companies on WordPress where I needed to create a sub-admin kind of role and hide a bunch of settings to help prevent the owners from breaking their own site.
😅 1
🤔 1
c
This is a good question! I'm not sure about the answer. 🤔 I do believe that no one knows the right UX/UI for working with agents. Everyone is trying things, and they kinda don't click or they do. For a while! One funny thing on top of things is that every LLM milestone, it's possible that some experiences that weren't possible or realistic before just become available. If we capture that, it feels magical. I think the thing that has become feasible ~today is the kind of experience in Amp's Puck and Claude Projects; GPT Voice (the realtime kind) is also heading in that direction; and an older "Insider Cat" experiment I was playing with is also in that direction. I mean, some pros: • it knows all conversations in a Project, can message them ◦ memory, in use • work at a bit higher level of abstraction • with more focus on the outcome, not "the task" • and yes, not the details of how you organize your environment ◦ that could be enable/disable stuff I guess One thing where "more Chat" doesn't seem to be it, is that "more disconnected Chats in front of you" is where you lose track. I really don't think "disconnected chats" is helpful... And, the industry has already been there, ChatGPT "just write the prompt" had its time; even in Work, where there's an agent behind. What this Claude Projects -like UI does, is precisely connect conversations for you, for a bigger goal to be possible, without the human brain fraying. 🤔 And notice the "resolved" ones. Just a quick different take. 😇
h
t3code is also moving in the direction you are describing. I wasn't quite sure about it but maybe its generally good pattern to be able to use when needed. I'll see if i can find a good explainer video for t3. It may have changed from the last run through I did with it as well but your description made me think of it.
Clean PR just for the feature utility and a wrapper on the add backend button github.com/OpenHands/OpenHands/pull/18843
c
I don't use t3chat, and I didn't get to look into it, sorry, but that's interesting to know. > exposure to copilot via microsoft teams or free chatgpt/gemini I should say on this... I think this is a big deal. Someone was making recently the comment that it's like still using dial-up back in the day when your neighbors are on fiber. 😅 Yes, you're loading sites too, technically it gets the internet thing done, but the concept of watching netflix and how it changes your life is almost unconceivable. Now maybe that's a bit too tough said, and... maybe it's not. Because the thing is, the frontier is moving. It's difficult to benchmark for real needs, for one, so I don't know if we know the difference; and also, unlocking new ways of working with agents is dizzying and a bit difficult to explain. You need to see it to believe it...
the direction you are describing. I wasn't quite sure about it but maybe its generally good pattern to be able to use when needed.
I'm reading "when needed" to mean: "when the problem the user is solving is not just an ad-hoc, short conversation, but complex enough." Yes, I think so. It seems like, it allows the user to go to a higher level, and use AI to get more done. The slightly annoying thing about it... is that at the time when AmpCode released Puck, I was bumbling, stumbling, brainstorming towards something. Some user experience that would allow me to find Canvas more useful. Something... very much like Puck. When I saw it, I remember I was like "this was it... grmph. how is Amp so fast?" 🫣
Amp is also taking “the Claude Projects” route: https://ampcode.com/news/spaces