Right — that’s something I’m working on for the next iteration. (You can see some old thinking and screenshots from an earlier, non-AT prototype up at Web Tiles)
In a nutshell, a key part of the composability model is “wishes”. This is a concept that comes from task-based computing. Basically, instead of “open foo.md in Zed” which ties you to a specific implementation you say “I wish to edit some markdown’“. And in response to that, the system resolves either your fave Markdown editor or offers a list of existing ones.
That approach has often stumbled on the fact that you need a way to find implementations for wishes that you don’t already have locally. When Google was working on Web Intents, that meant… using Google Search to find web apps that could handle your wish, which wasn’t great.
But… with AT that’s built in!
So say that I have a tile that implements a Markdown editor. Its post will, as part of its lexicon, include:
{
can: 'edit',
what: 'text/markdown',
description: 'Edit Markdown',
}
Then, anyone who’s indexed the network can offer this tile to someone who wishes to edit Markdown. And since tiles at just AT objects, they can be reviewed, liked, bookmarked, you can use your social graph for trust, etc. (Hand-waving here, keeps me warm.)
For Lexicon Embeds, a wish would be:
{
can: 'render',
what: 'social.popfeed.feed.list',
}
And that would make it available for precisely that purpose.
I don’t want to oversell the maturity of the system. This still needs:
- Specifying wishes and producing at least one indexing service. (Should be done soonish, I’ve mostly been interrupted by the fact that I’m moving all my infra out of the US.)
- Having a good API so wishes can be given data and send it back. (Not too hard.)
- Good library that folks can use to auto-pick/prompt for implementation of embeds, including picking a default. (Also not too hard.)
- Progressively, all the stuff that goes around this about making it possible to have blocklists for bad actors, graph-based recommendations, etc.