JSQ, LLC

Mobile and Web Applications

  • Increase font size
  • Default font size
  • Decrease font size
Home Blog General Practice Writing Characters in DianHua Dictionary v1.4.2

Practice Writing Characters in DianHua Dictionary v1.4.2

Before submitting the recent updates to DianHua Dictionary to the App Store, I managed to squeeze in a couple more new features.  The most significant is the ability to draw on the zoomed view of Traditional and Simplified characters.  This should allow those interested in learning to write Chinese characters a good opportunity to learn the shapes and practice.  I'm still just a beginner, but I find the size of Apple's character drawing keyboard challenging on the more complicated characters.  This will give you a significant portion of the iPhone screen to work with until you're comfortable with the character.

 

 

The other major change you'll notice above is the "en" badge was removed from the first Search item in the navigation toolbar.  After reviewing the reviews from around the world this week, it became clear that everyone wanted to be able to search for anything from one search screen.  I'm still playing with other ideas for layout and processing from a single screen, but for now, you can search English, Pin1 Yin1, Simplified, and Traditional characters from the first search screen.  The only thing you can't do is search for toneless Pinyin.  The "cn" search option remains for toneless Pinyin and for those who like having both screens available.  If there's strong demand to do so, I can remove it.

The release notes for v1.4.2 submitted to the App Store this evening are as follows:

  • Search now performs an exact match by default.  If the exact match does not yield the desired results, you can access the exhaustive search by touching "More".  This change cuts search times in half on average.
  • The English search page is no longer labeled "en" as it will now accept English, toned Mandarin Pinyin, Simplified, and Traditional characters.  The Chinese search page can still be used for all Chinese searches including toneless Pinyin.
  • The magnified character view includes a drawing function to allow you to practice writing characters using the magnified view as a template.
  • The Number reference includes the enhanced number converter developed for our Number Practice application, LianXiShuZi.  You can use it to convert numbers from digits to Pinyin, Traditional characters, Simplified characters, and the Anti-fraud/Banking equivalents. 
  • Audio pronunciation of arbitrary numbers is included with the Number reference.  Touch the speaker to hear any number pronounced.   

 

Comments
Add New Search
Benjamin   |2008-12-08 06:57:56
Your dictionary makes my Chinese studies so much easier. I've used it since the
beginning and appreciate all the work you have put into it. I'm not sure about
the usefulness of "Practice Writing Characters" because it doesn't
appear to offer any guidance as to stroke order. Stroke order is an absolute
necessity since the iPhone will not recognize the character if it is input
incorrectly, in the wrong order. Are there future plans to incorporate
"stroke order" help into the application? Ben
Jason   |2008-12-08 07:20:55
I've looked into a few alternatives for providing stroke order, but I haven't
been happy with what I've found so far. After I clear some near-term goals, I
will revisit it.

I knew writing practice wouldn't be too terribly useful to
beginners, but with a lot of characters, it could be useful to someone who knows
the general rules of stroke order.

One interesting thing you can do with it is
learn the shape of the character by tracing it and trying to follow the basic
rules. Then, jump to the other search on the toolbar and figure out the right
stroke order using the iPhone's character drawing keyboard. For me, that style
of learning helps me remember material better than straight practice or
memorization.

Thanks for your comments.
David  - character practice - dispkay stroke order   |2008-12-09 22:59:46
first, your csl cbt is sweet.

u rock.

2a) pls add suuport for an animation of
the stroke order in drawing characters.

2b) offer real-time live feedback to
the user depending on how closely the user is able to match the pescribed path
of the strokes -eg:

* audio pitch,
* glowing/pulsing of the refernce glyph to
get the to get back on the correct path
* stoping/slowing down of the overlay
path being drawn by the user in order to get them back on the correct oath of
the glyph
* changing the width or colour of the user's overlay stroke would also
work in conjunction with restricting the speed of the overlay stroke as a form
of feedback.

thanx.
Jon  - Feature suggestions   |2008-12-17 18:15:02
Support for stroke order would nice, although the drawing function is already
useful for remembering characters the way it is now. I realize you use the
CC-CEDICT database for definitions, which doesn't include stroke order
informationk so maybe the implementation wouldn't be so practical. Some other
things I would really love to see are some sort of hyperlink-like function as
can be seen in the mobile version of Kingsoft Powerword (basically you would be
able to tap any word/character and be taken to the entry for that word), and a
history/favorites tab on the bottom. Maybe use the place of the Chinese search
button in the middle if you end up deciding to ditch that anyway?


The app is
really great, thanks so much for it. It's really accelerated my progress in
learning Chinese.
Jason   |2008-12-23 18:52:53
I am currently working on history and favorites/bookmarks. History is basically
complete, and bookmarks are about 50%. I hope to be able to release them during
January 2009.

I've considered doing the hyperlink functionality but haven't
had a chance to work on the UI to support it.

Glad you're enjoying the app.
We'll also have a fairly extensive audio add-on coming early next year as well.
Jon  - So...   |2009-02-08 19:35:51
How's that new release comin' along? Any idea when you'll be ready to post it
to the App Store? I've been waiting for it very eagerly. :)
Jason  - Next Release   |2009-02-08 20:35:16
I've been meaning to do a blog post about release dates. I had a slight setback
two weeks ago when I absolutely shredded my right ankle. Since then, I haven't
been able to get much work done, but I hope that will change tomorrow.

As a
side note, I'm also trying to finalize our audio module for this release. It
will include over 8,000 words and phrases in the first release.
Jon  - Awesome!   |2009-02-11 13:42:36
Sorry to hear about your ankle. I have to say, I'm not as personally excited
about the audio functionality as I am about the history/faves, but then again
I'm a native speaker who's trying to learn to read. I'm glad to hear you're
making progress on it. Again, thanks!
Jason  - Audio Functionality   |2009-02-12 17:59:10
Yeah, if I'd known I was going to mess myself up physically, I probably wouldn't
have gotten the new audio entangled with the history and bookmark functionality.
Due to user requests, though, it is a separate module so you don't have to
install it if you don't need/want it.

If it takes too much longer to finish
up the audio, I'll back out the audio code and release the history/bookmarks,
but I'm optimistic we're getting close on the audio.
Jon   |2009-03-18 06:07:00
Hate to say it, but I think you may have just lost me to ktdict. You should
check it out if you haven't already, to try to work out what their secret to
making search work so fast is. It said something about compiling the cc-cedict
file into binary, so there's a hint for you to start with. Hope your ankle is
better.


PS. I haven't deleted you completely yet, all the other aspects are
really great and well done(configurability, practice writing, Full screen view),
but you're losing your spot on my permanent bottom dock. Sorry
Jason   |2009-03-18 06:38:20
I think I've tried ktdict. I'm not sure really. There are so many dictionaries
out now, it's hard to keep them straight.

There are probably 3 approaches
most have taken behind the scenes:

1. Use sqlite and force the SQL engine to
do what we want. This is what DianHua does.

2. Use the raw CC-CEDICT file
format and put as much in memory as you can. I'm guessing here...not really
sure if anyone has done this but surely someone has.

3. Put together a custom
file format and algorithm optimized for the iPhone.

Obviously #3 is the most
time consuming, and I have the library code and capacity to do it. I just
wanted to spend time on something other than sub-second search speeds. That's
why I chose SQL originally and have been hesitant to move away from it.

That
said, I had a bit of a breakthrough 2 weeks ago in DianHua that I'm anxious to
share, but I still have several days of development ahead of me before I get
Jason   |2009-03-18 06:41:02
btw, Thanks for the concern about the ankle. It's recovering on schedule, but
this is a long, drawn out process. Hopefully the Doc will let me walk without
crutches next week.
Anonymous   |2009-03-18 15:39:44
just out of curiosity, what exactly does 3 entail?  I mean, the file is
already in ascii, which i would think you couldn't get much more
efficient than. it uses 1-char delimiters, so that can't be translated
to anything shorter. Also, unicode is binary, so how can you "compile" it further?


Does "compiling
it into binary" just mean analyzing the file to see
what characters aren't used by the file that are included in the
unicode codespace that it specifies, and then coming up with your
own version of unicode (binary text encoding scheme) that only
includes the characters used by the cedict file? That'd be an interesting
approach, actually, you'd end up with the shortest possible string of
binary data to traverse over when searching through it.

Do you think
that's what he meant by "compiling into binary"?

Also, you
Jason   |2009-03-18 17:50:45
Saying something is "compiled into binary" could mean any number of
things. In truth, everything is binary including the CC-CEDICT source as you've
pointed out. What he likely meant is that the format cannot be read into a text
editor and understood by a human.

As far as the delimiters go, you can always
make things smaller if you control the format. If each delimiter byte is
8-bits, you should be able to find a way to make the delimiter occupy less than
8-bits. At that point, the file becomes non-trivial to read, and you won't
likely gain what you're really after which is speed.

What I believe is meant by
"compiled into binary" in this case is that a custom file structure is
used to store and index the data. If you can't load all of the data into memory
and have a fast enough processor to process the data within your time
constraints, you have to index it somehow. There are a variety of adaptations
Jason   |2009-03-18 17:53:55
Looks like there's a length limit on this comment system without any error being
shown...rest of my response is below.

There are a variety of adaptations of
hash and tree algorithms that work well on disk. The most popular is the B-Tree
and whatever variations of it programmers devise.

With SQL engines like
SQLITE, you have a lot of overhead in the query language processing and the
generic structures used for handling generic data. If you write a completely
custom implementation, you have a chance to optimize it for maximum speed and
minimum size.

Of course, there are a lot of ways to approach the problem. It's
possible the binary format in this case is more unique than a disk-based tree
structure.
Jon   |2009-03-21 09:27:35
Hmmm.. seems like my comment got cut off too. I think it also has some issues
with the way it handles line breaks. Too bad I forgot what I was going to
suggest, because I remember thinking to myself that it was fairly clever.
Anyways, thanks for the quick explanation, I'm actually just studying data
structures now.
Write comment
Name:
Email:
 
Website:
Title:
UBBCode:
[b] [i] [u] [url] [quote] [code] [img] 
 
 
Please input the anti-spam code that you can read in the image.

3.26 Copyright (C) 2008 Compojoom.com / Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved."

Last Updated on Wednesday, 03 December 2008 03:38