owned this note
owned this note
Published
Linked with GitHub
# Web User Agent Extensibility Exploration
Proposal for a research exploration into extensibility approaches for web user agent systems.
Mechanics: More collaborative conversation than researching in a vacuum. Iterate in the public channel, working together with the stakeholders and community.
Project summary: Web user agent applications such as Peek and XE/Darc have sophisticated developer and end-user extensibility needs. Review their needs, the browser extension system, and successful contemporary non-browser extension systems. Synthesize the learnings from the review, to form a basic high-level set of requirements for web user agent extensibility, a comparison of those requirements against the browser extension system, and provide high-level recommendations for the implementers interviewed.
Deliverables/Artifacts
- Share any tools and example code that emerged in the process, licensed MIT
- Summarize learnings in a blog post published on the U&A blog, licensed CC by SA
Note: This is not intended to be exhaustive nor definitive. It is an initial exploration designed as a starting point for projects building extensibility into their web user agents, given the time allowed in the grant.
## Phase 1: Review
Browsers have a well-known widely-deployed extensibility architecture, which would be useful for reducing barriers to adoption, but is limiting in many other ways. What do the authors of Peek, XE/Darc and similar applications need? What are the capabilities required? Where is that met or not by the browser extension architecture? What other trade-offs are made by using it or not? Systems such as VS Code, Raycast and Obsidian have extensibility aproaches with thriving communities - what can we learn from them? What's worked, and what do their users/devs complain about?
- [ ] Review Peek, XE/Darc and 1-2 other relevant projects, 1hr discussion w/ their developers
- [ ] Review browser extension system through the POV of the stakeholder apps
- [ ] Review VS Code, Raycast, Obsidian extension systems, and more if relevant and time allows
## Phase 2: Synthesis & Experimentation
Now that we have an understanding of the needs of experimental web user agents, and the delta from what existing systems provide, we'll articulate those needs into a set of capabilities that an extensibility system would need to provide to meet them. Validate the findings with the stakeholders, doing a few iterations to identify gaps or new insights. If time allows, prototype an implementation of one or more of the capabilities and test against the stakeholder implementations. Summarize the review and the extensibility system requirements in a blog post.
- [ ] Synthesize the review findings into a coarse high-level set of requirements reflecting the needs of the web user agents reviewed
- [ ] Iterate with stakeholders for in/validation until the requirements list settles
- [ ] Write blog post, review with the group, and publish