FAQ: SuperMemo and XML


XML and Unicode (#54)
(Eli Liang, Wednesday, September 19, 2001 2:43 PM)
Question:
Will the 'next' major release of SuperMemo for Windows support XML & Unicode?
Answer:
That is the plan


No established XML design fits SuperMemo (#70)
(Paul Mackay, UK, Sunday, February 11, 2001 7:56 PM)
Question:
I was wondering what views you had on a choice of markup language for the content? Assuming XML as the underlying format, it then depends on what XML schema we could choose. One option is to invent one, which may be your preferred solution if it is to proliferate amongst versions of SuperMemo
Answer:
Most of e-learning XML design focuses on training and formal structures that do not fit SuperMemo in any way. There is no hope we could possibly adopt any standard. For starters, we need to provide XML definitions of the whole learning process and student memory parameters. In addition, if SuperMemo is to remain on the leading edge of learning technology, it needs to lay a groundwork for data design that will last years into the future and provide easy extensions matching the present vision (as far as it can reach)


When platforms differ in functionality (#317)
(MapleTop Software, Sunday, November 03, 2002 9:08 PM)
Question:
What if a user exports his WinSM data to XML and imports it into PalmSM, uses it there for a month and export/imports it via XML back to WinSM?
Answer:
Most of all, it will depend on individual implementations. The solution may be rough or sophisticated. Ideally, PalmSM will skip un-importable material and allow of ignoring material that is importable but not functional. When the same material is exported back to WinSM, elements will be re-identified by Element ID. All the learning process should be imported smoothly (only imported and functional elements), while the changes to the content should be resolved as intelligently as possible (e.g. Replace All, Retain All, Prompt Before Change, Mark Changes, Report Changes, etc.)


Individual SuperMemos should determine the interpretation of tags (#273)
(Piotr @ SML, Saturday, November 02, 2002 6:59 PM)
Question:
Should we not include tags such as <SMCEComp>Yes</SMCEComp>? There are various limitations of various SuperMemos: char count, images, fonts, etc. This tag would indicate if an item will be imported or not to other SuperMemos
Answer:
It is individual SuperMemos that should make such decisions! Tags in HTML do not get attributed as Netscape="yes" and MSIE="no". It is the browser that decides which tags to ignore and which to interpret. In addition, individual platforms change their capacity over time. This way no change to XML data is necessary to ensure that those new capabilities are utilized


Content vs. Appearance (#326)
(SuperMemo R&D, Sunday, November 03, 2002 9:08 PM)
Question:
Should the XML format contain all the data about a collection (i.e. including font sizes, typefaces, coordinates, colors, etc.)? Or should the look be out of XML completely?
Answer:
We should try to transfer as much of the appearance away from the content. However, it will depend on the platform and the element content. Sometimes font types are part of learning data (e.g. learning Greek), sometimes coordinates are vital (e.g. occlusion tests), sometimes colors take part in learning (as part of question or as category context). HTML is a good model, some authors allow of default fonts, others require specific fonts making their pages unusable with incompatible stylesheets


Memory limitations on Palm (#323)
(MapleTop Software, Sunday, November 03, 2002 9:16 PM)
Question:
Currently PalmSM uses only some 20-30 bytes per element for ALL its data except for the texts. You need to take into account that an average size of a total storage space (like a hard disk on a PC) of a PalmOS handheld is currently 8 MB so every byte counts. For quite a few years it will not be possible to use XML files directly
Answer:
Palm and similar devices will then limit the use of XML to data-exchange, or to a subset of cases where using XML is efficient, or at least plausible (e.g. configuration data). Local platform implementations (incl. additional XML specs) should be entirely in the hands of individual authors. Also the interpretation of universal XML will be highly platform-dependent. For example, handheld devices would skip longer texts or de-HTML-ize them for compactness. User can then be informed that portion of his material will not be imported and/or processed by the given device


Doing foolish things with XML files (#346)
(SuperMemo R&D, Tuesday, November 05, 2002 12:03 AM)
Question:
Since the XML file is easily readable and editable in any text editor, we might expect that some people will try to edit the learning stats. Handhelds now begin to attract ordinary people who are more likely to do some very foolish things
Answer:
The same happens with present SuperMemos. Users copy, delete, substitute or rename files hoping to accomplish most zany effects. The cost is borne by the experimentors who sooner or later discover the futility of such efforts. Microsoft has only locked vital Windows files in the NT line. Users can still wreak havoc on the system by playing with files or registries. Luckily, #1 principle of safety: Backup, is far cheaper for users of SuperMemo than for users of Windows. SuperMemo for Windows has provided collection export/import for years now. No serious mishaps have been reported in that time. Implementors of import procedures must provide some basic precautions in data validation that will make it impossible to introduce changes into the learning data that could harm the learning process.


Q&A vs. components (#424)
(Sebastian Wesolowski, Monday, November 18, 2002 11:49 AM)
Question:
PC version uses component based elements. Other versions (SMCE, supermemo.net and Palm) use "plain" text questions and aswers
Answer:
The component solution is a proper superset of Q&A approach. In other words, if we have the component approach in XML, Q&A platforms will be able to use it (as does SuperMemo for Windows too in Q&A import/export). Interestingly, SuperMemo 7 or supermemo.net are not exactly plain text Q&A. They both use fixed sound fields. As such, the component model is of wider appeal than it seems at first. "Display At" attributes known from SuperMemo for Windows can be used to extract Q&A elements supported by a given platform, or a redundant Question and Answer tags could be used (for implementation simplicity and readability of XML files)


XML will not add much complexity to implementations (#423)
(Krzysztof Wojcieszek, Poland, Tuesday, November 12, 2002 12:21 PM)
Question:
Do we really need to roll out the heavy guns of XML? The most important first step is to transfer the learning process, which could be done with a simple text file (as in SM7 or SuperMemo for Amiga).
Answer:
There is no implementation overhead in parsing XML as compared with parsing text (many parsers on the market can make this work actually simpler). The only additional effort may be needed to implement additional functionality that may come naturally with a mature XML design. From the point of view of the developer, good XML definition can only make life easier.


No change in data representation is obligatory (#410)
(MapleTop Software, Monday, November 11, 2002 4:46 PM)
Question:
If a change to underlying binary data structures on the handheld is needed, it will slow things down
Answer:
The core implementation of XML import will not require any change to data structures. Only parsing and converting data to the internal format will be needed. Naturally, the mere possibility of data exchange will certainly increase the pressure from users to implement on all platforms features they like most on other platforms. It is up to the developer how far to grant these wishes in the light of hardware limitations


Representing the learning process is easy and algorithm independent (#424)
(supermemo.net, Monday, November 18, 2002 11:49 AM)
Question:
How do you plan to transfer the learning progress? Every SuperMemo uses a different version of the algorithm.
Answer:
The learning process of individual elements is very easy to capture with dates and intervals. A simple, univocal conversion formula from A-Factors to E-Factors and back may be heuristic and is not likely to affect the learning process in a noticeable way, even if the users switches many times between the platforms. One vital extension may be needed though: transfer of repetition history (which is also trivial). Repetition history will likely play an increasingly important role in monitoring the learning process and disruption of the record on any platform would he unwelcome.


Index files (#439)
(Zoran, Monday, November 18, 2002 1:54 PM)
Question:
How will the problem of index files be solved?
Answer:
Index files can be implemented independently of XML specification. Indexed storage is specific to implementation. In addition, it provides redundant information that can be skipped in XML files


Core implementation is not concerned with element type nor knowledge structure (#540)
(Piotr @ SML , Saturday, February 14, 2004 11:34 PM)
Question:
The core XML specification does not say that <Type>Item</Type> can have child elements. What if I have an item as a parent?
Answer:
The current Core XML data exchange is intended solely for the exchange of question-answer text learning material along with learning data. That is the widest common denominator of current SuperMemo implementations on all platforms. As such, core XML is not concerned with knowledge structure or element types such as topics or tasks. SuperMemo 2004, in accordance with design guidelines, allows of nesting SuperMemoElement independent of its type. It also specifies the element type, which can be used in designing stylesheets mimicking the Contents window. However, no other data exchange implementation needs to be concerned with nesting or element type. All the developer needs to do is to extract the sequence of elements with their questions, answers and learning data