OptiKey
OptiKey is an assistive on-screen keyboard which runs on Windows. It is designed to be used with an eye-tracking device to bring keyboard control, mouse control and speech to people with motor and speech limitations, such as people living with Amyotrophic Lateral Sclerosis (ALS) / Motor Neuron Disease (MND).
It works out of the box once you have your eye-tracking device installed and allows selections to be made using dwell selection, buttons, etc. If you do not have an eye tracking device you can use OptiKey with a mouse.
OptiKey was written to challenge the outrageously expensive, unreliable and difficult to use AAC (alternative and augmentative communication) products on the market. It is, therefore, fully open-source and free. Forever.
General details about the project:
- Homepage: OptiKey Homepage
- Repository: OptiKey Repository
- Development team: Julius Sweetland:
- Communications:
- For Users: optikeyfeedback@gmail.com
- For Developments: GitHub issue tracker
project fit for our book (or why it was chosen?)
As a team we decided to choose a small and smart startup with social contribute and has a massive support from people around the web. This project appears to help people with disabilities and have a good cause and we liked it. It also appears to be a promising project which have a great future in the startup industry and health industry .
Development process
OptiKey is an open source project in order to open up into a developers community and volunteers . The project was developed by one person (Julius Sweetland), this is the main reason that optikey is an opensource. Its opens up more options for this project like: Add support for more languages (dictionaries, as well as localising OptiKey) Add next word suggestions Support for accessible buttons, sip/puff tubes, brain potential detection, and lots of other human interfaces and a lot more… Julius Sweetland use github tools like issues and pull request for the development proccess. For example the first issue were posted is a request for contribution of unit test. one user which allows Julius Sweetland to continue with the develpment proccess in a large scale with assosiation with github. once unit testing and basic qa was enable OptiKey started to add new features indicates that the main model of optiKey is able to accept addons and new features and developments like : Character codes,Auto correct words,Predict next word,Add high contrast theme etc, indicates scalabilty and extentiablity. until now OptuKey recive new features and code contrubutes especiely new localization languages.
Availaibe resources Review
-
On optiKey wiki (github) you may find wide available information about the product with highlights about the functionality of the product . in addition there is a lot of user guides that covers installation, deployments, managment and Troubleshooting .
For more information visit : Wiki Page -
Development Modeling - The project was developed by one person (Julius Sweetland) which shared the entire source code with giithub comunity. this project is being contributed by a large group of developers . the new features had been developed by demands that raises from the users all over the world. more over, the bugs that had been founds by the users, were fixed by the community and the main developer- Julius Sweetland (LinkedIn).
-
We found in in the source code a folder called “Enums” which has a lot of information about the modeling of the source code. We can see there names of functions, keys, states, connections, windows states, keyboard functions and a lot more general information about the system. For more information visit : ‘Enums’ folder link
-
OptiKey Localization guide - “A Locale is the completed localization which involves providing four distinct things”, Optikey localization guide covers four mainly issues like : UI element translations, a word dictionary, a keyboard layout, integrate them into OptiKey. This model allows us to expand our project for all languages, and its extremly importent for its distribution and usuablity of the system. For more information visit : Localization guide