To write this post, I was going to take myself through some of the history of different chat interfaces.
This is not that post.
I was too impatient and decided to go in without any appreciation for prior art (beyond what I’m already aware of), because it seemed more fun at the time.
This site’s current implementation
My current UI for displaying an LLM conversation on this site looks like this.
I’m going to assign identifiers to each of these UI concepts to make them easier to reference between descriptions.
What’s the best way to learn programming?
claude-3-7-sonnet
The best way to learn programming is by building projects that interest you. Start small, be consistent, and don’t be afraid to make mistakes. Reading documentation and tutorials is helpful, but nothing beats hands-on experience.
How much time should I spend coding each day?
claude-3-7-sonnet
Even 30 minutes of focused coding daily is better than occasional marathon sessions. Consistency is key. As you build the habit, you can gradually increase your time. Remember that regular practice, problem-solving, and reflection on what you’ve learned will help you progress steadily.
Top Bars
Here is a version with the “user” or the assistant names in top bars.
What’s the best way to learn programming?
The best way to learn programming is by building projects that interest you. Start small, be consistent, and don’t be afraid to make mistakes. Reading documentation and tutorials is helpful, but nothing beats hands-on experience.
How much time should I spend coding each day?
Even 30 minutes of focused coding daily is better than occasional marathon sessions. Consistency is key. As you build the habit, you can gradually increase your time. Remember that regular practice, problem-solving, and reflection on what you’ve learned will help you progress steadily.
Continuous
Here’s another with the vertical gaps from Top Bars removed and the UI visually continuous with each message in a different color.
What’s the best way to learn programming?
The best way to learn programming is by building projects that interest you. Start small, be consistent, and don’t be afraid to make mistakes. Reading documentation and tutorials is helpful, but nothing beats hands-on experience.
How much time should I spend coding each day?
Even 30 minutes of focused coding daily is better than occasional marathon sessions. Consistency is key. As you build the habit, you can gradually increase your time. Remember that regular practice, problem-solving, and reflection on what you’ve learned will help you progress steadily.
Columns
Let’s sort of rotate Continuous 90 degrees to the left then add the vertical labels turned 90 degrees left as well.
The chat messages should each exist in a column to the left of their label.
They are placed in order, next to each other from left to right.
The message texts run top to bottom in each column.
What’s the best way to learn programming?
The best way to learn programming is by building projects that interest you. Start small, be consistent, and don’t be afraid to make mistakes. Reading documentation and tutorials is helpful, but nothing beats hands-on experience.
How much time should I spend coding each day?
Even 30 minutes of focused coding daily is better than occasional marathon sessions. Consistency is key. As you build the habit, you can gradually increase your time. Remember that regular practice, problem-solving, and reflection on what you’ve learned will help you progress steadily.
Not sure I really like it but it’s different from most things I’ve seen.
Assistant Focus
Here’s a version where the assistant’s messages are shown prominently and the user’s message only appears on mouse over of a particular assistant message.
On mouse over, the element animates to reveal the user message for a given assistant message.
This reads more like a write up you’d create as or after you’ve done a deep dive into a topic.
The user questions elicit a sort of winding narrative response from the model.
The best way to learn programming is by building projects that interest you. Start small, be consistent, and don’t be afraid to make mistakes. Reading documentation and tutorials is helpful, but nothing beats hands-on experience.
What’s the best way to learn programming?
Even 30 minutes of focused coding daily is better than occasional marathon sessions. Consistency is key. As you build the habit, you can gradually increase your time. Remember that regular practice, problem-solving, and reflection on what you’ve learned will help you progress steadily.
How much time should I spend coding each day?
LLM-designed
Most of the above concepts are from my head, implemented by prompting an LLM.
I was curious what would happen if I gave over some of the style decision making to Claude and Cursor.
Here are a few of the results.
Code Editor
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
What’s the best way to learn programming?
The best way to learn programming is by building projects that interest you. Start small, be consistent, and don’t be afraid to make mistakes. Reading documentation and tutorials is helpful, but nothing beats hands-on experience.
How much time should I spend coding each day?
Even 30 minutes of focused coding daily is better than occasional marathon sessions. Consistency is key. As you build the habit, you can gradually increase your time. Remember that regular practice, problem-solving, and reflection on what you’ve learned will help you progress steadily.
|
Claude made that one, when shown all my examples and prompted to create its own with no specific instructions as to how.
It wanted the development to be in a comfortable and familiar environment.
Notebook
The best way to learn programming is by building projects that interest you. Start small, be consistent, and don’t be afraid to make mistakes. Reading documentation and tutorials is helpful, but nothing beats hands-on experience.
Even 30 minutes of focused coding daily is better than occasional marathon sessions. Consistency is key. As you build the habit, you can gradually increase your time. Remember that regular practice, problem-solving, and reflection on what you’ve learned will help you progress steadily.
Claude made this when prompted to create its own novel approach that should add value for the reader.
Timeline
What’s the best way to learn programming?
The best way to learn programming is by building projects that interest you. Start small, be consistent, and don’t be afraid to make mistakes. Reading documentation and tutorials is helpful, but nothing beats hands-on experience.
How much time should I spend coding each day?
Even 30 minutes of focused coding daily is better than occasional marathon sessions. Consistency is key. As you build the habit, you can gradually increase your time. Remember that regular practice, problem-solving, and reflection on what you’ve learned will help you progress steadily.
Claude made this when prompted to create its own novel approach that should add value for the reader and still be minimal and clear.
Of all the concepts Claude implemented, I liked the Timeline the best.
Most of the time, the model seemed to focus more on the styling of the UI than the specific presentation of the data.
I wanted to push the agent to focus on clear and simple data presentation.
Take a look at @ChatAssistantFocus.astro @ChatColumns.astro @ChatTimeline.astro @ChatColumnsTopBar.astro @ChatContinuous.astro . These are all different React components for a chat. Carefully consider your strategy and come up with a simple, creative way to present chat data to a user in a surprising, but straightforward and effective way. Less is more. Write your results to @components then add the component to @index.mdx
claude-3-7-sonnet
The bubble stream presents messages in a familiar chat interface, but with a few key improvements: bubbles size themselves based on content length, have a subtle hover effect, and work with keyboard navigation for accessibility.
Bubble Stream
U
What’s the best way to learn programming?
c
The best way to learn programming is by building projects that interest you. Start small, be consistent, and don’t be afraid to make mistakes. Reading documentation and tutorials is helpful, but nothing beats hands-on experience.
U
How much time should I spend coding each day?
c
Even 30 minutes of focused coding daily is better than occasional marathon sessions. Consistency is key. As you build the habit, you can gradually increase your time. Remember that regular practice, problem-solving, and reflection on what you’ve learned will help you progress steadily.
Takeaways
This experiment reinforced my sense that if I outsource parts of design or implementation that I care about to a model, I often don’t really like the results.
An LLM can’t quite understand what I personally mean by “clean”, “minimal”, and “novel”.
In practice these are directional concepts that mean something different to everyone.
To get a model to output a design that I like, I need to provide more specifics for the model to follow.
In the case of the first few designs that I described and the model implemented, the results are quite representative of my vision.
The model is good at following instructions.
Its taste is not always aligned with mine.