This essay describes research toward a software ecosystem that would: smooth the transition between using software and creating software allow users to collaborate on documents and software...
This essay describes research toward a software ecosystem that would:
smooth the transition between using software and creating software
allow users to collaborate on documents and software without relying on a central server/company (see their essay on local-first software)
make data less siloed so you can use the right tool for the right job
It reminds me of the Unix philosophy of software development combined with the discoverability and ease-of-use of Google Docs.
Apps are avocado slicers
One way to slice an avocado is to use an “avocado slicer”: a 3-in-1 gadget that combines a dull plastic knife for slicing the avocado in half, a circular grabber for extracting the pit, and a line of plastic rods that produce 7 slices at once.
Anyone can use an avocado slicer with no practice, and it poses no safety risk. And yet, because the avocado slicer is narrowly focused on one task, it’s useless at anything else. If you used a specialized gadget for every single task, you’d end up with a mountain of plastic.
Another approach is to use a knife. A knife can handle all the steps of slicing an avocado, and much more: it can slice a chicken breast, dice an onion, or smash a garlic clove. You do need to learn how to handle the knife safely and skillfully, but it’s worth the effort, because a knife is a general tool.
How does this analogy apply to software? Many applications are avocado slicers. They’re a bundle of functionality targeted at some specific use case: planning a trip, tracking workouts, organizing recipes.
… How might we reorient software around more general, composable tools—that feels more like a knife and less like an avocado slicer?
This essay describes what they've learned so far. Once it gets further along, they plan to release this as an open-source tool, as they did the underlying Automerge replication software.
I'll admit I started skimming about halfway through, that is a long, dense article. That being said, I'm glad they're putting so much effort into something they care about. Much of the underlying...
I'll admit I started skimming about halfway through, that is a long, dense article. That being said, I'm glad they're putting so much effort into something they care about. Much of the underlying technology seems potentially useful (Cambria might be cool, but also feels like potential nightmare fuel for maintainability in a production app) but I can't help but wonder.
Who asked for this? Like I said, I read a lot of this, it's cool, it's fun, I'm not complaining but I simply couldn't find my way to a proper motivation for why anyone would prefer this to existing software solutions?
I love making software. Making a program that can do something useful for me feels so good. I want more people to be able to experience that. Right now, if you want to build something that can...
I love making software. Making a program that can do something useful for me feels so good. I want more people to be able to experience that.
Right now, if you want to build something that can save data and process it, you need a web app. (Or maybe a mobile app - I have no experience there.) That means you need to set up a development environment: you need to install VSCode and NodeJS. You need to pick a frontend, a backend, and a database, and then you need to configure those things to work together. You need to learn about version control and how to store secrets safely. You need to find a host. All of these are things you'll need to do before you actually start programming!
Compare this to how spreadsheets work: you can pick up a spreadsheet that someone else has made, make a small tweak to it (like adding a formula), and immediately have something more useful. Spreadsheets have the tools you need to modify them built in.
A few months ago my wife had an idea for a to-do app that would fit her unique way of thinking & organizing tasks. She sat down with ChatGPT and started vibe coding. She knows nothing about programming, and it took her hours and hours of careful exploration and feeding error messages back into ChatGPT before she got to something that kind of worked. She worked on it for several days, got a few screens half finished, and eventually had to move on to other stuff.
Making stuff for the internet is hard! Imagine if it wasn't! Imagine if anyone could whip up an app to serve their personal needs, or the needs of the people they love. It would be a huge shift in the balance of power between Big Tech and regular people.
The tools we use to build the web now are built for professional software engineers so they can solve the problems of megacorporations. Where are the tools designed for hobbyists so they can make small, simple things that solve everyday problems and bring them joy?
Thank you! I'll posit that the hard part of web development is hosting. I see how the local first approach solves this. I've been cruising the ink and switch website a bit this morning and they're...
Thank you! I'll posit that the hard part of web development is hosting. I see how the local first approach solves this. I've been cruising the ink and switch website a bit this morning and they're definitely doing cool stuff.
Infinite money, too. All the people are Heroku founders with presumably close to a billion between them.
Oh, neat! I loved Heroku back when it had a free tier, before it got sold to Salesforce. If these guys built that, they really know their stuff - I still haven't found anywhere else with a...
Oh, neat! I loved Heroku back when it had a free tier, before it got sold to Salesforce. If these guys built that, they really know their stuff - I still haven't found anywhere else with a developer experience that good.
I feel like I appreciate what they're trying to do and they showcase some interesting applications. But also this seems like another project in a long history of application developers attempting...
I feel like I appreciate what they're trying to do and they showcase some interesting applications. But also this seems like another project in a long history of application developers attempting to recreate an OS from first principles, or at least Web 2.0.
The base problem, as much as I dislike the term it is useful, is that that most people are not Creators. Or at the very least, most people don't want to be Creators most of the time. Even Colin Furze kinda just wants to get in a comfortable working vehicle to travel to work. Most things don't need that much malleability, they just need to work okay for the task you're doing while you're using them.
Not to say I don't agree with them. I just think Open Source and related movements are already moving in this direction and have been for a while.
As a normal person it is not possible to devote a lot of energy to everything. Which is why something that takes down that needed time investment and provides on ramp to more advanced skills and...
The base problem, as much as I dislike the term it is useful, is that that most people are not Creators. Or at the very least, most people don't want to be Creators most of the time.
As a normal person it is not possible to devote a lot of energy to everything. Which is why something that takes down that needed time investment and provides on ramp to more advanced skills and actually reliably works could really take tech illiteracy from something standard to how we as a society view standard illiteracy.
As a side note I do consider a very basic computer literacy to be essential for anyone but that is due to the society we live in. If everyone used sticks to organize large portion of their life I would consider widespread inability to do anything but poke around in basic predetermined jabs to be the same.
To play non Creator's advocate, I've had people tell me their exciting app ideas for over a decade. Their frustration, and why they sought my experience, was lack of tools to realize their dream....
To play non Creator's advocate, I've had people tell me their exciting app ideas for over a decade. Their frustration, and why they sought my experience, was lack of tools to realize their dream.
Moreso on the end of generative AI getting better and better, I think we can expect the creator / non creator lines to blur and lessen.
This essay describes research toward a software ecosystem that would:
It reminds me of the Unix philosophy of software development combined with the discoverability and ease-of-use of Google Docs.
This essay describes what they've learned so far. Once it gets further along, they plan to release this as an open-source tool, as they did the underlying Automerge replication software.
I'll admit I started skimming about halfway through, that is a long, dense article. That being said, I'm glad they're putting so much effort into something they care about. Much of the underlying technology seems potentially useful (Cambria might be cool, but also feels like potential nightmare fuel for maintainability in a production app) but I can't help but wonder.
Who asked for this? Like I said, I read a lot of this, it's cool, it's fun, I'm not complaining but I simply couldn't find my way to a proper motivation for why anyone would prefer this to existing software solutions?
I love making software. Making a program that can do something useful for me feels so good. I want more people to be able to experience that.
Right now, if you want to build something that can save data and process it, you need a web app. (Or maybe a mobile app - I have no experience there.) That means you need to set up a development environment: you need to install VSCode and NodeJS. You need to pick a frontend, a backend, and a database, and then you need to configure those things to work together. You need to learn about version control and how to store secrets safely. You need to find a host. All of these are things you'll need to do before you actually start programming!
Compare this to how spreadsheets work: you can pick up a spreadsheet that someone else has made, make a small tweak to it (like adding a formula), and immediately have something more useful. Spreadsheets have the tools you need to modify them built in.
A few months ago my wife had an idea for a to-do app that would fit her unique way of thinking & organizing tasks. She sat down with ChatGPT and started vibe coding. She knows nothing about programming, and it took her hours and hours of careful exploration and feeding error messages back into ChatGPT before she got to something that kind of worked. She worked on it for several days, got a few screens half finished, and eventually had to move on to other stuff.
Making stuff for the internet is hard! Imagine if it wasn't! Imagine if anyone could whip up an app to serve their personal needs, or the needs of the people they love. It would be a huge shift in the balance of power between Big Tech and regular people.
The tools we use to build the web now are built for professional software engineers so they can solve the problems of megacorporations. Where are the tools designed for hobbyists so they can make small, simple things that solve everyday problems and bring them joy?
Thank you! I'll posit that the hard part of web development is hosting. I see how the local first approach solves this. I've been cruising the ink and switch website a bit this morning and they're definitely doing cool stuff.
Infinite money, too. All the people are Heroku founders with presumably close to a billion between them.
Oh, neat! I loved Heroku back when it had a free tier, before it got sold to Salesforce. If these guys built that, they really know their stuff - I still haven't found anywhere else with a developer experience that good.
I feel like I appreciate what they're trying to do and they showcase some interesting applications. But also this seems like another project in a long history of application developers attempting to recreate an OS from first principles, or at least Web 2.0.
The base problem, as much as I dislike the term it is useful, is that that most people are not Creators. Or at the very least, most people don't want to be Creators most of the time. Even Colin Furze kinda just wants to get in a comfortable working vehicle to travel to work. Most things don't need that much malleability, they just need to work okay for the task you're doing while you're using them.
Not to say I don't agree with them. I just think Open Source and related movements are already moving in this direction and have been for a while.
As a normal person it is not possible to devote a lot of energy to everything. Which is why something that takes down that needed time investment and provides on ramp to more advanced skills and actually reliably works could really take tech illiteracy from something standard to how we as a society view standard illiteracy.
As a side note I do consider a very basic computer literacy to be essential for anyone but that is due to the society we live in. If everyone used sticks to organize large portion of their life I would consider widespread inability to do anything but poke around in basic predetermined jabs to be the same.
To play non Creator's advocate, I've had people tell me their exciting app ideas for over a decade. Their frustration, and why they sought my experience, was lack of tools to realize their dream.
Moreso on the end of generative AI getting better and better, I think we can expect the creator / non creator lines to blur and lessen.