Fwd: Writing Language App with well specified objectives.

Avinash Zebisky avinashzebisky at gmail.com
Tue Mar 25 22:17:45 UTC 2014


Hi,


I have narrowed the idea of KHandWrite Application( app for learning
alphabets of foreign language).



*Motivation*

It's a noted fact that Kde-Edu has great products for learning language be
it reading(Parley), pronunciation(Artikulate) or typing
alphabets(KLetters). But it doesn't have any application which will help
users to write the scripts of a new language. And by learning to write the
script I mean the font/letters that are taught in schools.

Therefore, KHandWrite is a project primarily focused on writing the scripts
of a new language. Now this idea's scope is vast and large. Hence, it is
very much required to reduce the scope to get quick and better results.

Hence, for the beginning I'll stick with KHandWrite which teaches children
English alphabets.



*Target Age Group:- * 2-10 years old children

*Devices:- *Tablets/Mobiles

*Input Method:-  *Touch-pad, Touch-screen, Pen/Stylus input

*Utility:- *Interactive method to teach children how to write. The
alphabets will follow school's standard font.



*Design of UI*

Page Wise Details

*Main Menu(First page of App) - *

This page will contain basic menu options of this app which involves

·         *Learn* - Selecting this menu will take the user to 'Selection
Page'(2nd page) where he'll be selecting the letter he wants to practice.

·         *Practice* - User will practice to recognize the letter.

·         *Editor* - User can create his own custom alphabets.

·         *Options* - Basic graphics, audio, controls, profile options.

·         *About Us* - Details about the team behind this app.

·         *Exit* - As the name suggests, exit.

*Selection Page(2nd Page of App)*

Clicking 'Learn' in the Menu page takes the user to this page.

[image: Inline image 5]

Features to note are:-

·         *Selection of Alphabet* :- User will be select any alphabet
amongst this to practice writing.

·         *Audio Support* :-  Single click at any alphabet will result in
audio(pronunciation) of that letter.

·         *Difficulty Levels* :- User can select among 3 difficulty levels
to practice writing.

·         *Performance Stars* :- Stars won in drawing these letters.

·         *Number of Attempts*:- Number of trials user has made at a
certain alphabet.

*Difficulty Levels*

*1.       **Easy* - In this difficulty level user will be provided with
more control points, boundary and direction arrows.

2.       *Intermediate* - In this level user will be provided with less
control points and direction arrows.

3.       *Hard* - In this level user will be provided with less control
points and no direction arrows and boundary.

[image: Inline image 1]

*Drawing Page(3rd page)*

Features to note are:-

·         *Boundary*:- This marks the space within which user can draw his
letter.

·         *Control Points*:- User has to touch these control points in a
given sequence in order to complete the letter.

·         *Direction Arrows*:- These arrows guide the user to draw
accordingly.

·         *Performance Stars*:- These stars mark the degree of perfection
achieved by user in completing the above objectives.

·         *Replay*:- This button clears the board and resets everything in
current page.

·         *Next*:- This button skips to the next alphabet.

·         *Setting*:- This button help the user to change the current view,
theme, display etc.

·         *Selection*:- This button takes the user to 'Selection Page(2ndPage)'.

[image: Inline image 2]

*Custom Letter Editor Page*

Depending upon the representation of letter's we can tactfully create a
specialized editor for creating your own alphabets.



*Implementation*

*Representation of Letters*

·         *Bitmap Based:- *

This is a basic approach, here the drawing zone will be marked with a
square. And within that square the letter's boundary and control points
will be defined.

[image: Inline image 1]

·         *Vector Based:-*

This will use vector based image generation. And the control points and
boundary will defined by mathematical equations.

[image: Inline image 2]



·         *Bit-mask based:- *

This approach will utilize bitmask hard-coding. Every letter will be
represented in an array of (1<<9)  bitmask i.e. memory used will be
5X(1<<9) per letter.

0 0 0 0 *1* 0 0 0 0

0 0 0 *1* 0 *1* 0 0 0

0 0 *1 1 1 1 1* 0 0

0 *1* 0 0 0 0 0 *1* 0

*1* 0 0 0 0 0 0 0 *1*

Letter '*A*' represented in bitmask. 1's represent the alphabet boundary
and 0's mark the represent the free zone.

*Algorithm for checking the correctness of drawn alphabet*

·         *Scan-line Fill :- *

Similar to scan-line fill algorithm I will check row-by-row that -

-          At every even number of intersections with the boundary is a
free zone or not.

-          If not then user has crossed the boundary and will be asked to
re-draw.

-          At every odd number of intersections with the boundary if
there's a single 'draw pixel' or not.

-          If not then user has drawn two lines within the boundary and
will be asked to re-draw.

Therefore, depending upon the perfection we can decide the stars and check
for invalid drawing.

[image: Inline image 3]

*About Me*

*I am currently pursuing Bachelors of Technology in Information Technology
from Indian Institute of Information Technology. I am currently in 3rd year
of my course. I have good C++ experience and competitive algorithmic
knowledge, because of competitive programming. I have rating of **1237 on
Topcoder
<http://community.topcoder.com/tc?module=MemberProfile&cr=23117893>**,
percentile - 69.93. My team(Team Corleone) secured 11th rank in ACM-ICPC
Asia Regionals. My **github profile <https://github.com/zephyrzebi>**. I
some Qt experience, made some games. I also have some experience in Web
Development(JS,php, html5, css and ruby). I am a fast learner and am
passionate about problem solving. Kindly see my resume
<https://docs.google.com/file/d/0B5H412DhrGukY1Z5YzBVajVILWM/edit?pli=1> for
details of my project.*

*I have submitted 4 patches so far :-*

·         *Bug 297254 <https://git.reviewboard.kde.org/r/116009/> -
**Maintained
the Aspect ratio of height and width during pdf import*

·         *Bug 236177 <https://git.reviewboard.kde.org/r/116788/> - **Added
ExpandAll() and CollapseAll() Kactions**.*

·         *Bug 311841 <https://git.reviewboard.kde.org/r/115914/> - Tried
to fix Apply button bug but got stuck and couldn't find time for it.*

·         *Bug 142563 <https://git.reviewboard.kde.org/r/116533/> - *Fixed
documentation bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-edu/attachments/20140326/ca038818/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: B.png
Type: image/png
Size: 224013 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kde-edu/attachments/20140326/ca038818/attachment-0005.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image.png
Type: image/png
Size: 162556 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kde-edu/attachments/20140326/ca038818/attachment-0006.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image.png
Type: image/png
Size: 36845 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kde-edu/attachments/20140326/ca038818/attachment-0007.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: letters.jpg
Type: image/jpeg
Size: 523549 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kde-edu/attachments/20140326/ca038818/attachment-0001.jpg>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: A.png
Type: image/png
Size: 247793 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kde-edu/attachments/20140326/ca038818/attachment-0008.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image.png
Type: image/png
Size: 17394 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kde-edu/attachments/20140326/ca038818/attachment-0009.png>


More information about the kde-edu mailing list