User:Nalin.x.Linux/GSoC2013 Bharati braille keyboard layouts for m17n library

Personal Information
Name :            Nalin Sathyan (Nalin.x.Linux) Address :         Kasaragod/Kerala/India Email Address:    Nalin.x.Linux@gmail.com Telephone:        +91-8281029215 Freenode IRC Nick: Nalin_x_Linux

Why i want to work with the Swathanthra Malayalam Computing
For helping native malayali and other indian blind people via making opensource applications.

Do you have any past involvement with the Swathanthra Malayalam Computing or another open source project as a contributor ?
Yes, but little.

Did you participate with the past GSoC programs, if so which years, which organizations?
No, This is my first time.

Do you have other obligations between May and August ? Please note that we expect the Summer of Code to be a full time, 40 hour a week commitment ?
Yes i can

Will you continue contributing/ supporting the Swathanthra Malayalam Computing after the GSoC 2013 program, if yes, which area(s), you are interested in?
Yes i will continue maintain this gsoc project along with my all other open-source applications.

Why should we choose you over other applicants ?
I feel that it is worth mentioning that I have close connection with visually impaired community as my father is a visually impaired person and inspiration behind my projects. I've been working for open source for more than three years. and i want to remain all of my applications as open source. from the below mentioned facts I prove myself to be the apt candidate to take up the proposed project for this project.

An overview of your proposal
I express my gratitude to smc for accepting my idea of braille layout for m17n project. I here by express a breef overview of my project.

Braille is a writing and reading system using six raised dots. As a night writing method of writing developed by Charles barbier, it has been perfected by louis braille. The most relevent feature of braille system is that the world community became successful in creating a unified code for all the languages based on its phonetics.

Bharati braille is a largely unified braille script for writing the languages of India. which use a 6-dot cell with values based largely on English Braille. It consists of 11 scripts including malayalam. Letters are assigned as consistently as possible across the various regional scripts of India as they are transliterated in the Latin script, so that Hindi, Urdu, Bengali, and English are rendered largely the same in braille. also bharati braille retains all the basic conventions relating to the representation of numerals, punctuation and special symbols just as in standard English Braille. Like english indian languages also have contractions and special abbreviations which make braille writing faster than normal, for example hear is the Grade-3 contraction list for English.

It is in consideration of this fact, lot of apps for linux has braille output along with the screen readers(BRLTTY with orca)and braille trranslators (Dots,Liblouis). At the same time there is no input method using the six key approach of the braille in linux.

Application's which are corrently available in Linux Repositores.
BRLTTY : is a background daemon which provides access to the linux console for a blind person using a refreshable braille display -

Dots : - Dots is braille typesetting program for Linux, it can translate XML and MS DOC files and displays it both ASCII and braille dot notation.

liblouis : - provides Braille trranslation and formatting for a large number of languages and Braille codes. Orca : a screen reader which support Braille refreshable display's Sharada-Braille-Writer : is a simple text editor which use six key approch to input text. one of my project. But it have a big limitation that is it canot be used for other application as a layout works.

Since there is no existing braille layout in Linux, My plan is to make a Braille Keyboard layouts extention for m17n Library. Multilingualize(m17n) library is used for multilingualize linux application's, which make applications usable worldwide with no inequity between languages you must be able to input, store, retrieve, and render any language. In this way it reduces the cost of multilingualization in software development. also m17n is under GNU Library Public License, version 2.

Relevance of braille as an input.
1. it is very simple, uses only six keys of the keyboard.

2. It is specially important for indic languages which use more than fifty alphabets

3. braille is a world standard and a braille input method will make it accessible and user friendly for visually impaired, persons with limited hand movement, dysluxic

4. braille is a highly efficient system for it can use contractions and abbreviations and it can enhance the text production speed to a great extend.

5. Having the same code for all the languages of india unified, known as bharathi braille there is no need for learning different layouts.

6. It can lead to designing small keybords that can be used with tablets.

Any relevant experience you have
My major area of interest is computer accessibility for the visually impaired on open source. I have good experience with braille, gnome, linux, screen reader, tts api's etc. I have already developed the applications in this direction named Sharada-Braille-Writer. It is a text editor using six key approach to produce print in different indian languages along with english.

How i intend to implement my proposal
Create a framework for Braille Keyboard layouts which use the mapping files of key(to be pressed simultaneously) -> letter. Eg: f     a  fd     b  fj     c  fsjl   x  fdsjk  q  ....

Brailler is an equipment for producing braille(6 dots) materials in a fast and efficient manner, so i selected f, d, s, j, k and l representing 1, 2, 3, 4, 5, and 6 dots of the braille system. f j   1 4 d k   2 5 s l   3 6

In order to produce 'a' one has to press 'f' and for 'b' 'f' and 'd' together to be press, and for 'c' f and j like, 'h' will be used for letter deletion and 'g' and 'h' together for word deletion.

Integrate third grade contractions for english and malayalam.

Add punctuation and numerals as separate map.

Add options to edit abbreviations which enable user to add, save, and restore abbreviations.

Integrate Orca screen reader along with this layout so that there exists no accessibility issue via making orca script.

A rough timeline for your progress with phases
Jun 10 - 15 : collect more data of standard contractions and abbreviations of indian languages which is currently not available in internet. Jun 16 - 27 : create the main framework with options to add,edit,remove map. Jun 28 - 30 : add english map for primary test. July 1 - 5 : add english contractions and abbreviations. July 6 - 16 : Create sample extension for m17n. July 17 - 20: make a primary test with the support of mentor. July 21 - 31: add Hindi and malayalam maps, abbreviations and contractions Aug 1 - 2  : Add punctuation and numerals as separate map. Aug 3 - 10 : add other maps for tamil,kannada and all other languages excluding Urdu and Sinhala. Aug 11 - 18 : fix accessibility problems Aug 19 - 23 : secondary test in malayalam,hindi and english with native people who know's braille. Aug 24 - 30 : Try to include contractions and abbreviations for all other languages. Sept 1 - 5 : Review code and database. also fix bugs and get ready for final evaluation.

Tell us about something you have created.
Sharada-Braille-Writer - Six key approach to producing print materials for languages Malayalam,Hindi,Tamil,English, and Spanish. Lios - Gui for scanning and ocr using opensource ocr engines tesseract and cuneiform.

angela-open-talking-typer - it is a simple eye's free key-board practicing application.(Latest version is not released)

talking-english-malayalam-dictionary - simple but completely accessible dictionary.

Have you communicated with a potential mentor? If so, who?
Yes, I've communicated with Anilkumar K V (anilkumar on irc.freenode.net)