Last week I started writing some code for the new Farfalla release. As I decided to develop it like a browser-in-the-browser program, I started building a web page wrapper.In its present state, the program can only browse web pages, using a simple HTML form to enter website addresses instead of using the browser’s main navigation bar. This is the first implementation of the abstraction layer discussed before: it can change the way URLs are inserted, independently from the browser being used.From a technical point of view, this is possible thanks to the strong use of javascript for filtering mouse and keyboard events: every time a key is pressed it sends a code number to the web browser. Intercepting this code associates almost any action to the code number through javascript. This has a complication: key codes are not standardized among browsers, so the very difficult task will be to make every browser behave alike - this problem is well known as Cross Browser Compatibility.
Hypothesis on an accessible registration and configuration form
Recently I have been thinking about how a new user can configure his new account on an ipothetical Farfalla server.The best introduction to an accessibility program would be an accessible registration form, where the first login and configuration procedure should be simple and effective. I think the best interface for this would be a “multisensorial” one. A list of questions, both displayed on the screen and read by a synthetic voice, should be readily accessible for the major part of users.These questions should ask about the needs and the preferences of the new user, proposing useful combos of instruments: if someone chooses a scanning writing system, it would be useful for him to also have a word prediction system up and running. It would be useful, even if not mandatory: it only depends on one’s actual ability to move on the keyboard.This user configuration procedure should also be flexible: as Farfalla is meant to become a modular instrument, with the possibility offered to other developers to add new features, the configuration has also to be modular and it has to provide the developers with the possibility to simply add their options in a standardized way.
In my last post I wrote about the idea of an abstraction layer to be built in order to create a sort of common basis for further software modules. Let us discuss this idea here.
Go on readin “About abstraction”