Home > Development > Designing the data import feature

Designing the data import feature

The export part was relatively easy to do, but now that it is finished I can’t delay writing the import any further. The difficulty lies in handling the case when the dictionary at the time of export differs from the dictionary at the time of import.  As I wrote earlier, the new program update will show a dialog if there is conflicting data in user groups and study lists. Let’s say there is an entry “馬穴 / バケツ – bucket, pail”, which is in some group. The new dictionary has no kanji part, just “バケツ / バケツ – bucket, pail”. In this case the user will have to select if the old entry should be kept (that is, added to the dictionary, as the program has no idea that it is the same word as the new one), it should be replaced by some word in the new dictionary, or deleted (not just from the dictionary, but from user groups as well!) This feature is already written and (to my current knowledge) working.

What happens, if the user exported his or her group with the old dictionary, and now tries to import it back with the new one? It depends. My first reaction would be that the program should tell the user that there are words in the imported group not in the current dictionary, and offer either replacing them with something else, adding them as a new entry or skip the words during the import. This is very similar to the dialog shown on dictionary and program update. But what if this is only the programmer’s point of view? I’m not sure whether this is what the user would expect. He or she just tried to import a group and never wanted to alter the dictionary as well.

There are just limited uses of export/import (although important for some). What I could think of are:

  1. Sharing word and kanji groups among users. – You made a great group that everyone should study, or you found a great collection of words in some textbook etc. Should I allow changes to the dictionary during import?
  2. Data backup and restore. – This was never an intended use of the export feature, but I’m sure some users will think that it is a good idea. Same question applies.
  3. Dictionary writing in some third language with a group of people. – I’m not sure whether anyone does this, but I’m writing my own dictionary alone and one day I might think of kidnapping slaves to help me. 🙂
  4. Converting some free dictionary to the zkanji format. – This could mean replacing all words in the current user dictionary, or just adding the differences.

The last option is a combination of 2 and 3. In case the dictionary must replace the old one, it makes sense to import it to a brand new dictionary, and then import the groups. If only appending of differences is necessary, it is like writing a dictionary with others. The point is, all of these might require a different kind of dialog, as not only the task is different, but also user expectations are. I’m not sure how to do this yet, because this is mainly a usability problem and not a technical one.

Categories: Development Tags:
  1. Funbit
    February 17, 2013 at 3:56 am

    Personally I like the current idea you’re talking about: to allow user to import/replace some meanings from a group if there’s no such entry in the dictionary. I don’t see anything super-technical here, so anyone should understand the process (but of course, some simple tutorial would help). So (1) and (2) perfectly fits here in my opinion.

    As for the case (3), I think it would be a good idea to create a separate function named like “Import dictionary from user groups”. In this case a new dictionary will be created automatically (just ask user a name) and groups will be imported to this dictionary as well. What do you think?

    BTW, is there a chance that new version will fix the problem with Japanese IME? :

    And thanks for you hard work again!
    It’s pretty rare to see such a big project alive this long!

    • February 17, 2013 at 2:20 pm

      I don’t yet know how to tell the users when they try to import an old group, that the same word exists in their new one with changed kanji or kana. People will end up with groups having duplicate words, and one of them is probably incorrect. This is just one example, but the more I think about it the more it seems that things will go wrong. You probably know more than anyone that it is not always the programming part which is so difficult. 🙂

      Which OS is that picture from? (Just curious, it has nothing to do with the problem.) In theory windows should automatically switch off Japanese input for the dictionary searches in zkanji, but it might not work on Japanese language OSes? (With some programming it would be also possible that the text would go right in the edit box, but it is a lot of work, as MS tends to make things a hundred times more complicated than they should be.)

      • Funbit
        February 17, 2013 at 2:59 pm

        I know that you come up with the right idea 😉

        As for the OS: it’s just a simple English version of Windows 8 with default Japanese keyboard (IME) installed.

    • February 17, 2013 at 3:26 pm

      This doesn’t help me at all (泣) 🙂

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: