A few weeks back whilst browsing facebook i came a across a rapidly flashing gif and was struck with how much of a constant worry using the internet must be to people who suffer from epilepsy. I got to thinking about how i would go about avoiding dangerous gifs in an automated way and came up with a rough idea of how the system would work and here we are.
On navigating to a page, the system is passed all gifs present which are then examined to look for rapid intensity changes over a short time exceeding a set threshold. In order to account for long gifs which could be use to hide flashing from the system a sliding window approach is used for longer gifs, analysing the frequency of changes across the runtime of the animation.
We first built a protoype in java to test the core detection logic, and then after finding a javascript library which would allow us to parse the data we needed from gif files we set about porting the entire system over to js and adding in element blocking.
Finding a library that was able to give us the information we needed was quite difficult, and even when finding said libraries they were unfortunate quite sparsely documented leading to a lot of trial and error.
We are proud of how professional looking we were able to make the extension and with how effective the system has been during our testing.
That there is no one type of epilepsy sufferer, and that any automated approach to helping to stop seizures requires the ability for user customisation to match their exact requirements (in particular with respect to frequencies they are most susceptible to)
Log in or sign up for Devpost to join the conversation.