There's a difference of degree here that should be highlighted. These are all examples of micro-apps. Tiny things that do one thing for you in a one-off fashion. Time will tell if these AI tools...
There's a difference of degree here that should be highlighted. These are all examples of micro-apps. Tiny things that do one thing for you in a one-off fashion. Time will tell if these AI tools can operate on larger app scale, which is the majority of software.
You're right, and I think that's the main point - these little single-purpose webpages are easier to build now, so we can do that more, where before we might have not bothered. It's like building...
You're right, and I think that's the main point - these little single-purpose webpages are easier to build now, so we can do that more, where before we might have not bothered. It's like building a spreadsheet or shell script that you use once and throw away.
There was a time in the early days of personal computers, before networking was common, when being able to write simple programs in BASIC was why you bought a computer, and now it can be done with much less bother. I don't think it empowers every user since you still need to know what to ask for, but it will empower some users.
Asking for a simple program like this, studying it, and modifying it might be a fun way to learn, too.
Paul Kinlan wrote about this idea as well. Where simple apps become so easy and free to throw together, it's almost not worth the time to polish them up and release them properly. It's easier to...
Paul Kinlan wrote about this idea as well. Where simple apps become so easy and free to throw together, it's almost not worth the time to polish them up and release them properly. It's easier to just regenerate them if you ever need something similar again.
It is an important thing to note. In addition to this, I noticed that at least in one transcript they had trouble getting code to work and had to manually fix it themselves. Which highlights that...
It is an important thing to note. In addition to this, I noticed that at least in one transcript they had trouble getting code to work and had to manually fix it themselves.
Which highlights that LLMs can be pretty good until they suddenly aren't, and you actually need to know the subject at hand in order to make fixes yourself. Not to mention that it still requires some knowledge to validate the output.
Having said that, for cases like this or as a boilerplate starting point, I have found LLMs to be a neat tool. I have been working with html and css for over three decades now. But sometimes I don't want to bother setting up a layout for a simple prototype or tool, and just telling an LLM to create it is a nice to have.
I recently also found that Claude 3.5 Sonnet seems to do better for this exact use case than GPT-4o.
Here's a pretty good demonstration of what's possible when making single-page, interactive web apps with AI. I've only built a couple of things myself, but I can see the potential.
Here's a pretty good demonstration of what's possible when making single-page, interactive web apps with AI.
I've only built a couple of things myself, but I can see the potential.
So I go on this long rant in another thread, but then see things like this and it makes me wonder if I'm just out of touch. I don't think I am. I've looked through all of these, and they all seem...
So I go on this long rant in another thread, but then see things like this and it makes me wonder if I'm just out of touch.
I don't think I am.
I've looked through maybe 10 of these so far, all of these, and they all seem to wrap just a few lines of code, or some api call, in a small web app. And some of these, I have to wonder if a small web app is even the best place to put it, although that just might be my living-in-the-terminal bias speaking. For example YAML to JSON converter; I'd personally much prefer a cli tool that runs on standard in and out, and at that point all the boilerplate HTML/CSS wrapping it that makes it a web app is not needed. yq already does it.
Most of the things on that page fit into this category of things that I personally think would both be easier to build and also be more functional if they were not a web app. It obviates a lot of the value proposition of the LLM.
There are some notable exceptions, though.
The SQLite and Pyodide demos are fundamentally different beasts than CLI tools. A micro web app seems a fine way to put together a little demo to show things working together.
The camera settings demo makes more sense with a gui although I have to think it would be easier with CSS filters (not dissimilar from text-wrap-balance-nav demo), or more extensible in a notebook.
I guess I say it makes me wonder if I'm out of touch because I don't really get the point. It feels like there is a point that I'm missing. I don't really see utility in these kinds of micro apps as finished products - they would be more useful (and easier to create) in a different medium. I usually see utility in the act of creating such apps, usually as some kind of learning exercise or exploration for the author. But if you're having the AI do it, you lose that, so what's the point?
Do general people really find such micro-apps useful? If so then I guess I have to concede that LLMs really do enable productivity tools that would be otherwise unavailable to them. But at the same time I truly believe they're limiting themselves by the requirement of putting everything in a webapp gui. Is it good in the long run to use the LLM and stay in that local maximum? Maybe, if they wouldn't have searched for any maximum at all otherwise.
Simon Willison writes a lot of command-line tools, too, more polished tools with documentation, so he’s definitely not limiting himself to web apps. The tools in this article are all GUI tools...
Simon Willison writes a lot of command-line tools, too, more polished tools with documentation, so he’s definitely not limiting himself to web apps. The tools in this article are all GUI tools because that’s the point of the article, to show that it can be done. (He publishes so much that sometimes I wonder when he sleeps.)
It also doesn’t really matter if anyone else uses your tool if it only took a few minutes to build. It’s more like saying “hey you should learn to write shell scripts.” Except, you can link to them, which has its uses.
For my own example, here is a visualization for a simple probability calculation where I wasn’t sure I got the math right. It took a few minutes to make it. I moved the sliders to figure out which parameters I wanted to use, wrote the code and tests for it, and put a link to the visualization in a comment in the source code so I can find it again if I ever tweak the parameters in that code. I don’t expect that there will be any other use for it.
I'm not thinking of things as being ephemeral enough, I suppose. On the json-to-yaml example: it's not that you're trying to write a tool to convert yaml to json; you're trying to convert a...
I'm not thinking of things as being ephemeral enough, I suppose. On the json-to-yaml example: it's not that you're trying to write a tool to convert yaml to json; you're trying to convert a particular yaml document to json. You can spend time finding a tool or writing a short script, but that's not really the point.
So maybe I'd personally prefer a terminal interface for the thing that lets me pipe data through it - but if someone lives in the browser I think I'm starting to see the point.
Most of you describe here comes down to your personal terminal bias I feel like. Some people prefer an actual UI of sorts and the ability to use things wherever they want regardless of the shell...
Most of you describe here comes down to your personal terminal bias I feel like. Some people prefer an actual UI of sorts and the ability to use things wherever they want regardless of the shell they find themselves on.
A lot of these things will also just be one off things that come in handy when you want them and never need to mature to more than what they are. They are functionally the equivalent of a complex bash/awk/etc command or script you make for yourself.
So it isn't so much that you are out of touch as in your views are outdated, but you are not in touch with how other people might approach tasks. Different strokes for different folks.
Yeah, I just got through the post that @Wes linked in their comment https://tildes.net/~comp/1jlv/everything_i_built_with_claude_artifacts_this_week#comment-dwmq The closing line is pretty...
Yeah, I just got through the post that @Wes linked in their comment
This is a usecase I'm familiar with: for a LARP I needed to encode a text with a configurable substitution cypher (it's much more fun to decode text with alchemical symbol and/or less known part...
This is a usecase I'm familiar with: for a LARP I needed to encode a text with a configurable substitution cypher (it's much more fun to decode text with alchemical symbol and/or less known part of UTF; plus I needed to replace whole words). ChatGPT did a good job of generating such SPA. I still needed to take account for some scunthorpe problem, but that was a surprising gly quick affairs.
In another instance (that I didn't used at the end) I asked to generate a tool that let me create a connect-the-dot kind of puzzle. Again it proved surprisingly capable.
There's a difference of degree here that should be highlighted. These are all examples of micro-apps. Tiny things that do one thing for you in a one-off fashion. Time will tell if these AI tools can operate on larger app scale, which is the majority of software.
You're right, and I think that's the main point - these little single-purpose webpages are easier to build now, so we can do that more, where before we might have not bothered. It's like building a spreadsheet or shell script that you use once and throw away.
There was a time in the early days of personal computers, before networking was common, when being able to write simple programs in BASIC was why you bought a computer, and now it can be done with much less bother. I don't think it empowers every user since you still need to know what to ask for, but it will empower some users.
Asking for a simple program like this, studying it, and modifying it might be a fun way to learn, too.
Paul Kinlan wrote about this idea as well. Where simple apps become so easy and free to throw together, it's almost not worth the time to polish them up and release them properly. It's easier to just regenerate them if you ever need something similar again.
https://paul.kinlan.me/the-disposable-web/
It is an important thing to note. In addition to this, I noticed that at least in one transcript they had trouble getting code to work and had to manually fix it themselves.
Which highlights that LLMs can be pretty good until they suddenly aren't, and you actually need to know the subject at hand in order to make fixes yourself. Not to mention that it still requires some knowledge to validate the output.
Having said that, for cases like this or as a boilerplate starting point, I have found LLMs to be a neat tool. I have been working with html and css for over three decades now. But sometimes I don't want to bother setting up a layout for a simple prototype or tool, and just telling an LLM to create it is a nice to have.
I recently also found that Claude 3.5 Sonnet seems to do better for this exact use case than GPT-4o.
Here's a pretty good demonstration of what's possible when making single-page, interactive web apps with AI.
I've only built a couple of things myself, but I can see the potential.
So I go on this long rant in another thread, but then see things like this and it makes me wonder if I'm just out of touch.
I don't think I am.
I've looked through
maybe 10 of these so far,all of these, and they all seem to wrap just a few lines of code, or some api call, in a small web app. And some of these, I have to wonder if a small web app is even the best place to put it, although that just might be my living-in-the-terminal bias speaking. For example YAML to JSON converter; I'd personally much prefer a cli tool that runs on standard in and out, and at that point all the boilerplate HTML/CSS wrapping it that makes it a web app is not needed.yq
already does it.Most of the things on that page fit into this category of things that I personally think would both be easier to build and also be more functional if they were not a web app. It obviates a lot of the value proposition of the LLM.
There are some notable exceptions, though.
The SQLite and Pyodide demos are fundamentally different beasts than CLI tools. A micro web app seems a fine way to put together a little demo to show things working together.
The camera settings demo makes more sense with a gui although I have to think it would be easier with CSS filters (not dissimilar from text-wrap-balance-nav demo), or more extensible in a notebook.
I guess I say it makes me wonder if I'm out of touch because I don't really get the point. It feels like there is a point that I'm missing. I don't really see utility in these kinds of micro apps as finished products - they would be more useful (and easier to create) in a different medium. I usually see utility in the act of creating such apps, usually as some kind of learning exercise or exploration for the author. But if you're having the AI do it, you lose that, so what's the point?
Do general people really find such micro-apps useful? If so then I guess I have to concede that LLMs really do enable productivity tools that would be otherwise unavailable to them. But at the same time I truly believe they're limiting themselves by the requirement of putting everything in a webapp gui. Is it good in the long run to use the LLM and stay in that local maximum? Maybe, if they wouldn't have searched for any maximum at all otherwise.
Simon Willison writes a lot of command-line tools, too, more polished tools with documentation, so he’s definitely not limiting himself to web apps. The tools in this article are all GUI tools because that’s the point of the article, to show that it can be done. (He publishes so much that sometimes I wonder when he sleeps.)
It also doesn’t really matter if anyone else uses your tool if it only took a few minutes to build. It’s more like saying “hey you should learn to write shell scripts.” Except, you can link to them, which has its uses.
For my own example, here is a visualization for a simple probability calculation where I wasn’t sure I got the math right. It took a few minutes to make it. I moved the sliders to figure out which parameters I wanted to use, wrote the code and tests for it, and put a link to the visualization in a comment in the source code so I can find it again if I ever tweak the parameters in that code. I don’t expect that there will be any other use for it.
I'm not thinking of things as being ephemeral enough, I suppose. On the json-to-yaml example: it's not that you're trying to write a tool to convert yaml to json; you're trying to convert a particular yaml document to json. You can spend time finding a tool or writing a short script, but that's not really the point.
So maybe I'd personally prefer a terminal interface for the thing that lets me pipe data through it - but if someone lives in the browser I think I'm starting to see the point.
Most of you describe here comes down to your personal terminal bias I feel like. Some people prefer an actual UI of sorts and the ability to use things wherever they want regardless of the shell they find themselves on.
A lot of these things will also just be one off things that come in handy when you want them and never need to mature to more than what they are. They are functionally the equivalent of a complex bash/awk/etc command or script you make for yourself.
So it isn't so much that you are out of touch as in your views are outdated, but you are not in touch with how other people might approach tasks. Different strokes for different folks.
Yeah, I just got through the post that @Wes linked in their comment
https://tildes.net/~comp/1jlv/everything_i_built_with_claude_artifacts_this_week#comment-dwmq
The closing line is pretty compelling, and I think that's "the point" I'm missing.
This is a usecase I'm familiar with: for a LARP I needed to encode a text with a configurable substitution cypher (it's much more fun to decode text with alchemical symbol and/or less known part of UTF; plus I needed to replace whole words). ChatGPT did a good job of generating such SPA. I still needed to take account for some scunthorpe problem, but that was a surprising gly quick affairs.
In another instance (that I didn't used at the end) I asked to generate a tool that let me create a connect-the-dot kind of puzzle. Again it proved surprisingly capable.
Please tag this as AI.