The tactile interface for public APIs and spacial filetypes for blind developers and researchers
Generously sponsored by the Vietsch Foundation.
This project by Bristol Braille Technology CIC intends to better open up publicly accessible APIs and spacial data filetypes to blind developers and academics by creating a language of spacial, tactile interfaces that run on novel electromechanical displays as well as being embossed to paper.
Sighted assumptions in public APIs makes much of the Internet commons inaccessible or less practical to access for blind developers and academics. This project will use a grid of electromechanical cells to present multidimensional data — tabular, vectors, graphs — as refreshing patterns of physical dot. Bristol Braille Technology will develop abstractions for tactile imagery as a reusable library of functions.
The aim is to greatly increase the inclusion of blind developers and academics in the future of a commonly owned Internet by working with tabular and spacial data sets, representing that data in a way that makes sense in tactile form in the same way they they are expected to make sense in a visual way. The output will be available publicly for use on Bristol Braille Technology’s own Canute hardware, on future full page tactile displays, and in paper form via the thousands of existing Braille embossers.
This project has been running since November 2024. As it progresses we will be publishing progress and inviting participation. Existing Canute Console users can take part in this programme by upgrading to the latest canutelib repositories on their machines. Please contact us directly to register your interest.
Associated repositories
- canutelib: The core functions for describing data with common spacial tactile arrangements and interactions.
- set-up: Pulling in packages to enable canutelib on a Canute Console and demos to illustrate it.
- file-explorer: An advanced demo illustrating tree-view spacial data and interaction, in this case with remote and local file systems. Intended as a basis for other data types that could be represented or interacted with in similar ways to file systems. The original file explorer pre-dated the Tactile Commons project, was based on assumptions in the canute-ui repo (for the Canute 360), and informed the development of the canute_screen function within canutelib. It was subsequently refactored to be based on canute_screen and fit into and advance the standards being described in that repo.
- charts: An extension of the canute_grid function from canutelib which takes CSV files as input and produced interactive tactile spacial graphs as output. Works with pandas and therefore will support a variety of other formats including Excel, anything that can be read into a pandas.
- trading: Early implementation of charts, specifically for viewing live updates of stocks. This was/is a test-bed for implementing chart types and as such is not intended as a final resource, but has been instrumental in bending the direction of the charts library functions.
- tables: Alpha release of table view which has implemented many new thoughts we have had around the standardisation of interfaces and data. How to approach columns, the space between columns, the commands that must be intuitive, familiar, discoverable, or at least two of the above.
- cities-thru-brl: Precursor to the canute_grid function in canutelib, cities is the most complex grid based program built to date for a full page tactile display. Its means of displaying data have been replicated in canute_grid but it has yet to be refactored so operates differently (canute_grid is not yet mature enough).
- condensed cartographs: This has been specified. It is inspired by cities It is not yet a public repo but we invite interested Canute owning parties to request access to the repo in order to assist the development. This is forming the basis of future flow diagrams and vector diagrams. It is based around clear principles of condensing space between nodes whilst representing their relative position above/below, left/right of each other accurately. It wrestles with ideas of how to represent nodes that are practically on the same axis, but off my insignificant amounts, how to represent data occupying the same space, how to draw way lines without those waylines interfering in the compression, and how to create this in a form that will work with a modified version of the tables function as its view-port.
- association-football: Alternative approach to grid based tactile data presentation. Whereas the canute_grid function has important assumptions baked in — such as the display not refreshing without explicit permission and double horizontal spacing — this experimental approach is focused on conveying live updating data. This repo pre-dates the Tactile Commons project but has been used as a test case that has informed other work.
- learn: The manual, quick start and translations of the former. This on going project has to be more extensive than conventional product manuals because it is explaining A) sighted concepts used in command line applications that may be familiar to an experienced Braille reader but which the Canute Console is replicating in order to maximise accessibility of information and, B) the concepts being introduced in canutelib. This repo is approximately six weeks behind the rest of the project (by intention).