I’m interested in building a personal web server to aid accessibility. I’ve figured out much of the basic architecture, using Broadway and LiveView, but many details are still murky. So, suggestions are most welcome!
I’m interested in building a personal web server to aid accessibility. It should act as an information portal, making both local files and web resources more accessible. For example, it might:
present external web pages in an extended form
- maintain original appearance and behavior by default
- command keys bring up navigable dialogs of extensions
- common accessibility problems can be remedied
- content (e.g., index, summaries) can be added
convert data files and documents to accessible formats
- structured HTML is the default output format for text
- other formats include braille displays, stereo audio, etc.
perform recognition and transformation on images, etc.
- characterize and classify images
- turn presentation slides and videos into HTML
- sonify pictorial images (e.g., via the vOICe)
The basis for this would be a Phoenix app, taking advantage of Broadway and LiveView. Broadway would oversee data transformations; LiveView would add behavior to web pages.
Basically, the server is acting as an intelligent web cache. So, it needs to faithfully reproduce the appearance and behavior of the web pages being presented. I’m not at all sure what sorts of things a site might do, so this part is rather scary. I’d love to find an example to start from!
Data transformation is another interesting part of the design. Broadway handles a number of thorny issues (thanks!), but its fundamental API is based on making function calls. In order to dynamically create DAGs of actors, I’d like to build up graph descriptions as data structures, then send them off to a Broadway-based interpreter for execution. The exact data structure and preferred serialization format are still up for grabs.
There’s plenty more that we could discuss, but this should get things started… (ducks)