Last weekend, I gave a talk at @agihouse_org for the "Generative UI" hackathon focusing on "just-in-time UI (JIT UI)."
I put together these slides super quickly, so the history will be incomplete, but it's worth starting at the top:
Early computing users had to learn how to use text-based terminals; everyone had to be a programmer and learn to write commands to manipulate files.
For computers to be mass consumer devices, they had to be easier to use. This came with the invention of GUI with the Xerox Alto. Steve Jobs copied it for the Mac, and Bill Gates scaled it to the masses with Windows. We've been living with this paradigm since.
As computers got more powerful and software more useful, UIs accumulated bloat. Screen real estate is fundamentally unscalable; every button, menu, and panel competes for space.
Synthesizing the two paradigms might solve their shortcomings: A command line system that generates UI just in time per task can be scalable and easy to use. This doesn't inherently require GenAI, and we find super early examples.
Mathematica innovated the "notebook" model, where commands can generate charts with some primary forms and controls.
However, it wasn't until Google that JIT UI entered mainstream usage but stopped short of its full potential for this paradigm -- reimagining "apps" now seems possible but also feels at odds with the business model of the "10 blue links."
A closer fit to where the future is headed is Siri's inline UI. Although the feature was later removed, Siri integrated with Wolfram Alpha, from the same makers as Mathematica, an answer engine that works with natural language and can generate UIs and charts on the fly. It was super cool, and I remember spending hours running queries and doing random research about the world.
Siri could still show simple inline UI, like setting an alarm or editing a message before sending it out. Like Google, Apple also stopped short of the full potential of this paradigm.
This brings me to Replit -- in 2019, we embarked on a project to explore this paradigm.
CLUI, short for "command-line UI" is a type of JIT UI. We started from CLIs and added the following requirements:
- Should be usable with mouse and touch.
- Discoverable via context-aware autocomplete.
- The output should support rich and interactive media.
CLUI was initially used for internal tools. But since it has grown to power essentially every search and command box at Replit.
So, coming to the present.
Generative AI created a renewed interest in text-based interfaces. For the first time in history, computers can truly "understand" natural language and respond to open-ended questions and poorly structured commands.
For many, this was a callback to the UNIX philosophy as best articulated by @tszzl in his famous "Text is the Universal Interface" blog post that came out just a few months before ChatGPT.
While tools like DALLE and Midjourney are entirely driven by text, many apps like RunwayML augmented traditional UIs with prompt-based generative AI.
But actually, looking a little closer, you can start to see that Midjourney is growing its own JIT UI for controls inside the chat window.
Some more recent examples of JIT UIs:
- @perplexity_ai copilot where the AI can generate forms on the fly to get more information from the user to tune the search.
- ChatGPT Code Interpreter and products like @JuliusAI_ that can show charts or, in some cases, entire UI.
I've never seen so many entrepreneurs start businesses on Replit before.
Crazy part?
Many had ZERO coding experience.
Here is how they do it:
Start with a bounty. If you have some money to spare (as little as $50), Replit Bounties is a place to quickly get small software jobs done, such as MVPs. You get back the app running along with the source code so you can start iterating.
You can obviously make updates by posting more bounties. However, many at this point start working with our AI assistant Ghostwriter or ChatGPT to make updates. Here is Charlie on making a Chrome Extension with no coding experience
People constantly ask me “given how good AI is at coding is it still worth it to learn to code?”—
Are you crazy? The ROI on learning to code has 10x’d with AI.
Learn the basics and with some tenacity you can build your dream MVP.
Links to get started in thread:
100 days of code. By day 14-28 you should be able to do a lot especially with AI’s help. You can also speed run the whole thing in a month if you’re committed.
"Make me an app"—just talk to your @Replit app to make software
This p5.js example is particularly wild
The cool thing is that it gives you the source code to remix or ask for additional improvements. If the AI lets you down you can always get someone from Replit bounties to help you!