From SMC Wiki


1,694 bytes added, 05:33, 26 January 2017
Reverted edits by Sperminator (talk) to last revision by
*'''Location (City, Country and/or Time Zone)''':<br> Vikas Puri, New Delhi, India <br>Indian Standard Time [GMT+ 5:30]
*'''Website''':*'''Past involvement with SMC/GSoC''': No*'''40 hrs/week dedication for GSoC?''': Absolutely, its a dream project! *'''Will I Support SMC after GSoC?''': A big Yes, I would love to keep enhancing NETRA and later move towards fixing bugs in other projects. *'''Community Interaction''': So far, I have communicated with Navaneeth K N(nkn__) at mailing list and IRC. He is happy to mentor this project. However, since GSoC is community-driven, I urge all community developers to provide their valuable(and much needed) feedback/suggestions (spirit of open-source)
=='''Proposal Title'''==
'''NETRA:''' u'''N'''ifi'''E'''d '''T'''ool-cum-b'''R'''aille '''A'''pplication for Indic scripts<br>
=='''Project Abstract'''==
=='''Proposal Description & Project Goals'''==
Project NETRA has been decomposed into '''5 major phases''' with sub-phases in each phase. Main goals of the proposal are following:
*Create a seamless user-interface with a cross-platform GUI framework(using Qt)
*Braille'O Work- 6 dot Bharati Braille support using m17n layouts.
*Braille'O Fun- Fun activities theming themeing braille(identifying answers with braille code given as a clue *Audio feedback support using a TTS API (possibily possibly 'Dhvani')
*Tweaking code and fixing accessibility related issues.
=='''Implementation Details'''==
Also I will provide periodic updates to my mentor and use the mailing list and IRC channel when at a roadblock. Following are the details of work that I intend to do.
<h5>'''6.1 Creating a seamless user-interface with a cross-platform GUI framework(using Qt)'''</h5>
Qt is a cross-platform application framework[1] that is widely used for developing application software with a graphical user interface (GUI). Qt uses standard C++ but makes extensive use of a special code generator(called the Meta Object Compiler, or moc) together with several macros to enrich the language. Creating the UI with Qt is essentially a composite of following phases.
vi) Integrating GUI with dummy code and classes keeping MVC architecture and OOP in mind
<h5>'''6.2 Braille'O Work- 6 dot Bharati Braille support using m17n layouts'''</h5>
Bharati Braille[2] standard is the official Braille standard in India. Bharati braille alphabets use a 6-dot cell with values based largely on English Braille. Letters are assigned as consistently as possible across the various regional scripts of India as they are transliterated in the Latin script, so that, for example, Hindi, Urdu, Bengali, and English are rendered largely the same in braille. A regular QWERTY keyboard is used for data entry. SDF-JKL keys are used for six dots of Braille.
Following this scheme will enable us to include more languages(and mapping) in future with minimum change in existing code.
Figure (a) describes the bharati Bharati braille layout for devnagri Devanagari script.
न -> fsjk
Map files for mapping language characters and numbers to braille code will be loaded right after the language selection(ctrl+L). So for Hindi, NETRA would load hindi.m
<h6>'''6.2.1 Language Selection'''</h6>
i) ctrl + L
ii) Followed by an audio message
iv) Load appropriate map file for the language(eg, hindi.m for hindi)
<h6>'''6.2.2 Matras(मात्रा): Distinguishing लि and ल+इ or लू and ल+ऊ'''</h6>
Matras(मात्रा) in Hindi can be included using the 'shift' key. For example,<br>
<h5>'''6.3 Braille'O Fun- Fun activities themeing braille'''</h5>
This will enable normal sighted people to discover the braille world & share literacy who otherwise are fascinated by braille as a kind of 'secret code'. They will begin to understand its significance for people who are visually impaired in a play-way manner.
<h6>'''6.3.1 Introduction to Braille'''</h6>
This part shall teach Braille to normal sighted people. It is also beneficial for the instructors to teach Braille symbols to visually impaired. Introduction will be in the form of a video or spoken tutorial like one mentioned here[3]
<h6>'''6.3.2 Lets Braille'''</h6>
Second phase for this module will consist of implementing an interactive activity for practicing braille. NETRA will provide a set of words in braille and user will be asked to enter corresponding answer.
<h5>'''6.4 Audio feedback support using a TTS API'''</h5>
With NETRA, we cannot simply use any screenreader because of 2 reasons:
i) Most of the screenreaders are not designed to speak hindi Hindi and other indian Indian languages.
ii) With each context switch(more specifically, application switch), screen reader will<br> re-iterate unnecessary parts(like menu options, previously written text)
iv) Dhvani – Supports 10 Indian languages, have a nice API for C/C++, best option at present.
Another good thing about Dhvani is that, it is developed by 'swathanthra malayalam computingSwathanthra Malayalam Computing' itself. Thus NETRA wont be depending on third-party APIs and use of NETRA will automatically promote the use of Dhvani. Dhvani's C/C++ API is nice and for situations where it might create issues, we can use it as a screen-reader as well. However, Dhvani lacks in any stable support for English language. This issue can be resolved in future or we can install a Speech Dispatcher , take any of the Indian language localized desktops such as gnome or KDE and use orca with that. Since Speech Dispatcher provides a device independent layer for speech synthesis, audio feedback performance would essentially be same on different architectures.
=='''Tentative Timeline | Roadmap'''==
'''July 6-July 11''' : Implement 'Lets Braille' module<br>
'''July 12-July 23''' : Add TTS support and fix accessibility related problems.<br>
'''July 24-July 30''' : Add more mapping file perform priliminary preliminary test with native people.<br>
'''July 31-Aug 4(Review Process)''' : Create binaries/build packages and reviewing the whole code<br>
'''Aug 5-Aug 11(Pencil down)''' : Perform unit tests for necessary features. Adding required<br> documentation for understanding NETRA and to have a perfect release<br>
'''Aug 12-Aug18(firm pencil down)''' : Tweeking Tweaking code to improve its quality. Discussion with mentor<br> about the Final Evaluation and submission of code.<br>
'''Aug 19-Later(After GSoC ends)''' : Now, we can have a perfect NETRA release. Most of the<br> bugs would be fixed and features would have been polished.<br> I will try to introduce new features and decide future moves<br> that would make it much interactive as well as user-friendly.
=='''About Me'''==
I am a final year student[4] pursuing bachelors of Computer Science & Engineering from MSIT, GGS Indraprastha University[5-6] - New Delhi (India). I am a FOSS enthusiast, contributing to OSS since 23+ years from now and have been using GNU/linux since high school. In past I’ve been associated with OSS projects, which avails free & open source educational tools to students. Apart from regular college curriculam curriculum , I spend a considerable amount of time doing things outside of work as well. My biggest contribution towards opensource is 'codeasy' which is an IDE(Integrated Development Environment) for Java programming developed by me[7]. Codeasy is licensed under GNU general public licence(version 3). During spare time, I fix minor bugs in some of the KDE opensource projects[8].<br>I have working knowledge of c,c++,java & python. I have worked on coding projects like WRN, project444, chaos theory in cryptosystems, GAs in cryptanalysis, cows & bulls & bears, TBC project, FOSSEE-IIT Bombay and visual simulation on ACO- IIT Delhi. I am a yahoo summer school 2013 participant and well versed with community interactions and dynamics of OSS projects. I use irc, mailing lists, version control systems, such as git(with working knowledge of hg,svn) & host all my projects at github [9] hence I can start early with coding.<br> Rest apart I am a member of ILUG-D(Indian Linux User Group-Delhi)[9-10]. Contributed in organizing lug sessions at our college campus as a part of SIGs(student interest groups) & delivered a couple of talks. I am also the founder of MSIT-Java User Group (a special interest group under IEEE-MSIT).I take Summer of Code as an opportunity to get engaged with SMC as a contributor and continue this association even after GSoC. I am very much willing to be a stable member of community. I would love to be contacted if any part of this proposal is not clear. Thank you for considering this proposal and for your time! <br>
[[UPDATE]]: Since mentors seek to evaluate a student's coding ability as well, I would like to describe one of my project "Multichaotic Cryptosystem"[11]. I worked on it during August 2013-December 2013 as a research intern at ''CSIR:Fourth Paradigm Institute - Bangalore(formerly CSIR: Centre for Mathematical Modeling and Computer Simulation) under SPARK([[Student Program for Advancement in Research Knowledge]])''[12]. My guide for the project was Dr Gopal Krishna Patra(Principal Scientist,CSIR-4PI). The project involved implementing a 'crypto-system' using essence of 'chaos theory'. Front end was developed in Qt 4 while backend was controlled by shell-scripts and C++. For plots and graphs, I used GNUPlot. ''This project essentially describe my coding skills in C++, shell-scripts, GNUPlot scripts and experience with Qt(GUI framework)''.
[1]<br>[2]<br>[3]<br>[4] <br>[5] <br>[6]<br>[7] <br>[8]<br>[9] <br>[10] <br>[1011]<br>[12]<br> [[Category:GSoC 2014 Student proposals|Nalinc]]