Coding professionals and students with visual impairments often face challenges in understanding data such as server logs that are commonly represented as visual graphs. In order to debug these systems, they need another way to understand this information that is fast and easy to use. We focused our design particularly on comparing two graphs to find anomalies that are related.
What it does
The tactile access to data or TAD allows users to feel what their data trends look like. Users can move forward and backward through the data at their own pace and report out time stamps when they find anomalies that they want to check out further. Users rest two fingers on the device to compare two different data streams using haptics. The user's fingers get raised and lowered according to the normalized data set's values.
How we built it
We used servos, an Arduino, and a 3d-printer to develop TAD. The Arduino controls the servos to push the finger levers up and down. The device is encased in a 3d-printed container that has two printer levels that user's fingers can rest on.
We used Arduino C and Python 3 to make this device. The Arduino controls and writes to the server, and we used serial to communicate between Python and Arduino. In our Python file, we make use of pygame to determine what keys are being pressed, which allows users to move backwards and forwards through the dataset and slow down and speed up the speed of the reading.
Challenges we ran into
We were stuck for a while in the ideation stage, because we hoped for a project that was well scoped and meaningful. However, it was a little difficult to get a sense of which projects would have the most impact, in part because there was one single person (the challenge expert) act as the spokesperson for the entire user group. We would have liked to get a better sense of a variety of opinions in this space, which could have helped inform our design decisions early on. Additionally, we struggled a little bit with getting realistic data with which to test our idea on data interactions.
Accomplishments that we're proud of
We used packet communication over serial to send data between Arduino and Python, which we had never done before, and it worked (!), so we are pretty proud of that. We are also proud of being able to add in some extra functionality toward the end of the hackathon to make it more easy to use for our users (especially speed changes and scrubbing through data).
What we learned
We learned more about the space of information communication for people who are blind, and how they currently deal with this. There are a fair number of programmers who are blind who have contributed to software tools and resources in general, yet the programming tools available to them are not very accessible and often clunky. We also learned about types of patterns are important to recognize for people in the software engineering field such as latency logs and CPU utilization.
What's next for TAD
We would like to add more hardware to the device (specifically a dial to control the speed of the scrubbing and potentially another level to control where you are in the data).
More importantly, we will take these design principles from this project to other projects later on in life. Also, we will always keep accessibility in mind on all things we work on in the future and make sure we consider all of our users needs.