Thinking Out Loud

August 12, 2005

XML

Filed under: XML

I started some work on the XML format the flashcard software will eventually use. This very preliminary DTD does not reflect the fact that the preview should probably be a whole card in itself, and is incomplete, but here is what I have so far. This is my first XML DTD ever.

<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT cardlist (configuration?, preview?, card+)>
<!ELEMENT card (question, answer+)>
<!ELEMENT configuration (prefix*)>
<!ELEMENT preview (#PCDATA)>
<!ELEMENT question (#PCDATA)>
<!ELEMENT answer (#PCDATA)>
<!ELEMENT prefix (#PCDATA)>
<!ATTLIST question type CDATA #REQUIRED>
<!ATTLIST question use-prefix CDATA #IMPLIED>
<!ATTLIST prefix name CDATA #REQUIRED>

A sample data file would look something like this:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE cardlist SYSTEM "dummy.dtd">
<cardlist>
<configuration>
<prefix name="tcphelp">Enter answers like this: TCP 53 or UDP 67 or TCP/UDP 88</prefix>
</configuration>
<preview>TCP Ports</preview>
<card>
<question type="short-answer" use-prefix="tcphelp">HTTP</question>
<answer>TCP 80</answer>
</card>
<card>
<question type="short-answer" use-prefix="tcphelp">DNS lookup</question>
<answer>UDP 53</answer>
</card>
</cardlist>

August 9, 2005

Familiarity

Filed under: User interface

Users only care to be familiar with a small number of applications. They don’t want to have to read the manual to perform basic tasks. Any program they use will have aspects in common with software they already use. There are exceptions, of course. What if software they already use has features that would make life simpler if only the user could find those features?

So will my flashcard software be most similar to a web browser such as Internet Explorer or Firefox, archiver such as Winzip, a word processing program such as Microsoft Word?

Vtrain, a German product, is the current leader in flashcard software. (I’m not looking at sales figures, but it is the best I’ve seen, and I’m not the only one who thinks so.) The user interface is very polished and generally first-rate. However there are some minor snags the first-time user might hit.

Vtrain makes a distinction between a cardfile and a deck. Aren’t both basically a set of cards? Actually, no, a cardfile is the little metal or plastic container you put the decks of cards in.

Vtrain uses the cardfile/deck metaphor to highlight its flexibility. Not only can one cardfile (training session) can contain more than one deck (set of flashcards), but training sessions are stored in separate files from the original cards so you can train without mucking up the original files. Is all that information conveyed by the terms cardfile and deck? For me personally, it sent me scurrying to the help file. Unfortunately, many users have been conditioned to have low expectations of help files, so they rarely check them. In the case of Vtrain, the help file was well-written, but my main point is that users don’t want to have to read the manual to perform basic tasks.

Flashcard software needs to perform several basic tasks, some of which are considered here in terms of parallels with existing software the user may be using. Flashcard software needs to be able to create a set of cards, open an existing set of cards, create a training session, and resume a training session. In what specific ways should the flashcard program mimic the user interface of familiar software such as Internet Explorer (or Firefox), Winzip, Microsoft Word?

Web browser
Would the flashcard program benefit from having a “home page” of frequent activities or card decks and/or sessions?

Does the flashcard program need to launch a separate window in order to do editing?

Should the flashcard program have a search engine so that cards with specific topics can be used for an ad hoc quiz?

Archiving program
Should the flashcard program show the card decks as archives of questions?

Should it show the decks the user has started training with as an archive of the user’s training sessions already started?

Word processor
Should a new training session use a card deck as a template the same way a Word document begins life as a “Blank Document” or “Contemporary Fax”?

Should new card decks automatically be added as templates for future sessions?

If the user opens a card deck, is he expecting the card deck to open for authoring or is he expecting the program to open as a new session using the card deck as a template?

Can a session document be resaved as a card deck template?

Can a card deck template be resaved as a session document?

Does the session document contain the actual data from the card deck template or just pointers to the data in the card deck?

On the other hand, does the user instead get prompted whether he wants to create a “New card deck” or a “New study session” so that neither appears to be a template for the other?

Instead of a template, is the session a “master document” that can contain one or more card decks?

I haven’t mentioned the fact that cards, in accordance with the work of Sebastian Leitner, should automatically be separated into sections based on the number of sequential right answers. This saves the learner from having to waste time reviewing questions he has gotten right several times in a row, and neatly collects the stubborn questions in the first box. In Vtrain these sections are represented as boxes. I said before that cardfiles can contain one or more decks, but Vtrain separates those decks out into boxes as well. It is a minor source of confusion to the user to think of cardfiles as containing both decks and boxes. In real life, a cardfile itself is a box. But Vtrain uses those boxes in a way that the user can easily see the progress he is making in each box, so I don’t want to lose that aspect either.

Card data separation from testing history will be a requirement, although the user should be able to ignore this feature without effort. To save space, Vtrain cardfiles, or session files, do not contain the actual questions and answers, but instead contain pointers to the data in the deck files. I am leaning toward a different idea, is that the card files are templates for the training session files, so they also contain the questions and answers from the cards. This may provide some protection in case the questions get changed by a different user while the user is studying, and implies that a card file can get recreated by stripping session data from the card file.

In light of implementing the Leitner sections, familiar applications can be reexamined for additional interface ideas to offer guidance to how sections are to be represented in the flashcard software.






















Get free blog up and running in minutes with Blogsome | Theme designs available here