Simon Willison’s Weblog

Subscribe

Give people something to link to so they can talk about your features and ideas

13th July 2024

If you have a project, an idea, a product feature, or anything else that you want other people to understand and have conversations about... give them something to link to!

Two illustrative examples are ChatGPT Code Interpreter and Boring Technology.

ChatGPT Code Interpreter is effectively invisible

ChatGPT Code Interpreter has been one of my favourite AI tools for over a year. It’s the feature of ChatGPT which allows the bot to write and then execute Python code as part of responding to your prompts. It’s incredibly powerful... and almost invisible! If you don’t know how to use prompts to activate the feature you may not realize it exists.

OpenAI don’t even have a help page for it (and it very desperately needs documentation)—if you search their site you’ll find confusing technical docs about an API feature and misleading outdated forum threads.

I evangelize this tool a lot, but OpenAI really aren’t helping me do that. I end up linking people to my code-interpreter tag page because it’s more useful than anything on OpenAI’s own site.

Compare this with Claude’s similar Artifacts feature which at least has an easily discovered help page—though the Artifacts announcement post was shared with Claude 3.5 Sonnet so isn’t obviously linkable. Even that help page isn’t quite what I’m after. Features deserve dedicated pages!

GitHub understand this: here are their feature landing pages for Codespaces and Copilot (I could even guess the URL for Copilot’s page based on the Codespaces one).

Update: It turns out there IS documentation about Code Interpreter mode... but I failed to find it because it didn’t use those terms anywhere on the page! The title is Data analysis with ChatGPT.

This amuses me greatly because OpenAI have been oscillating on the name for this feature almost since they launched—Code Interpreter, then Advanced Data Analysis, now Data analysis with ChatGPT. I made fun of this last year.

Boring Technology: an idea with a website

Dan McKinley coined the term Boring Technology in an essay in 2015. The key idea is that any development team has a limited capacity to solve new problems which should be reserved for the things that make their product unique. For everything else they should pick the most boring and well-understood technologies available to them—stuff where any bugs or limitations have been understood and discussed online for years.

(I’m very proud that Django has earned the honorific of “boring technology” in this context!)

Dan turned that essay into a talk, and then he turned that talk into a website with a brilliant domain name:

boringtechnology.club

The idea has stuck. I’ve had many productive conversations about it, and more importantly if someone hasn’t heard the term before I can drop in that one link and they’ll be up to speed a few minutes later.

I’ve tried to do this myself for some of my own ideas: baked data, git scraping and prompt injection all have pages that I frequently link people to. I never went as far as committing to a domain though and I think maybe that was a mistake—having a clear message that “this is the key page to link to” is a very powerful thing.

This is about both SEO and conversations

One obvious goal here is SEO: if someone searches for your product feature you want them to land on your own site, not surrender valuable attention to someone else who’s squatting on the search term.

I personally value the conversation side of it even more. Hyperlinks are the best thing about the web—if I want to talk about something I’d much rather drop in a link to the definitive explanation rather than waste a paragraph (as I did earlier with Code Interpreter) explaining what the thing is for the upmteenth time!

If you have an idea, project or feature that you want people to understand and discuss, build it the web page it deserves. Give people something to link to!