Open Standards: Spotlight on CSS

Steve Lay HeadshotPosted by Steve Lay

In my role as Integrations Product Owner and champion of Questionmark’s Open Assessment Platform strategy I often write on the topic of open standards.

When we browse the internet on our mobiles, tablets or even on the humble PC, our experience is based on a vast stack of open standards covering everything from the way the information is wrapped up in ‘packets’ for sending over the network to the way text and graphics appear on our screens.

You’ve probably all heard of HTML, the main markup language used for creating web pages. HTML, or HyperText Markup Language to give it its full name, allows web servers to specify how text is broken up into paragraphs, lists or tables, when it should be emphasised and how it relates to media files like images and videos that are also rendered on the page. But HTML has a lesser-known yet powerful helper: Cascading Style Sheets (CSS).

CSS is a standard which allows a designer to apply ‘style’ to a web page. By style, we are talking about formatting information: things that affect the appearance of the page without affecting the meaning. Essentially, information on the web is split into these two halves: content (in HTML) and style (in CSS). Initial versions of the CSS standard were rudimentary, and support across different browsers was often inconsistent. But the standard is now on version 3, often abbreviated to CSS3, and renderings are much more predictable. Also, adoption of more advanced features is rapidly becoming the norm rather than the exception.

By adopting HTML and CSS at Questionmark, the content/style division translates into different responsibilities for the question author (responsible for content) and the graphic designer (responsible for style). By being mindful of this division — and the fact that the same question may have different styles applied on different devices or in different contexts — authors can avoid question wording that is dependent on the style or type of rendering.

For example, a phrase such as “which category applies to the text in red?” makes specific reference to an element of style appearing elsewhere in the content. If colour is not essential to the meaning it would be better to use a more neutral term such as the emphasised text. Being aware of different styles has the knock-on benefit of making assessment content more accessible while ensuring they look good!

Questionmark has embraced CSS as the best technology for customising the appearance of tests. It is easy to copy the default CSS files and change the colours and fonts, say, to match your company portal.

In this screenshot shot, I’ve created a yellow background simply by changing one line in the default style sheet:

css

With CSS, web designers can help you make your assessments look even more professional!

Assessment Standards 101: IMS QTI XML

john_smallPosted by John Kleeman

This is the second of a series of blog posts on assessment standards. Today I’d like to focus on the IMS QTI (Question and Test Interoperability) Specification.

It’s worth mentioning the difference between Specifications and Standards: Specifications are documents that industry bodies have agreed on (like IMS QTI XML), while Standards have been published and committed to by a formal legal body (like AICC or HTML). A Specification is less formal than a Standard but still can be very useful for interoperability.

Questionmark was one of the originators of QTI. When we migrated our assessment platform from Windows to the Web in the 1990s, our customers had to migrate their questions from one platform to the other. As you will know, it takes a lot of time to write high quality questions, and so it’s important to be able to carry them forward independently of technology. We knew that we’d be improving our software over the years and we wanted to ensure the easy transfer of questions from one version to the next. So we came up with QML (Question Markup Language), an open and platform-independent method of maintaining questions that makes it easy for customers to move forward in the future.

Although QML did solve the problem of moving questions between Questionmark versions, we met many customers who had difficulty bringing content created in another vendor’s proprietary format  into Questionmark. We  wanted to help them, and we also wanted to embrace openness and allow Questionmark customers to export out their questions in a standard format if they ever wanted to leave us. So we worked with other vendors within the umbrella of the IMS Global Learning Consortium to come up with QTI XML, a language that describes questions in a technology-neutral way.  I was involved in the work defining IMS QTI as were several of my colleagues: Paul Roberts did a lot of technical design, Eric Shepherd led the IMS working group that made QTI version 1, and Steve Lay (before joining Questionmark) led the version 2 project.

Here is a fragment of QTI XML and you can see that it is a just-about-human-readable way of describing a question.

<?xml version="1.0" standalone="no"?>
<!DOCTYPE questestinterop SYSTEM "ims_qtiasiv1p2.dtd">
<questestinterop>
<item title="USA" ident="3230731328031646">
<presentation>
<material>
<mattext texttype="text/html"><![CDATA[<P>Washington DC is the capital of the USA</P>]]></mattext>
</material>
<response_lid ident="1">
<render_choice shuffle="No">
<response_label ident="A">
<material> <mattext texttype="text/html"><![CDATA[True]]></mattext> </material>
</response_label>
<response_label ident="B">
<material> <mattext texttype="text/html"><![CDATA[False]]></mattext> </material>
</response_label>
</render_choice>
</response_lid>
</presentation>
<resprocessing>
<outcomes> <decvar/> </outcomes>
<respcondition title="0 True" >
<conditionvar> <varequal respident="1">A</varequal> </conditionvar>
<setvar action="Set">1</setvar> <displayfeedback linkrefid="0 True"/>
</respcondition>
<respcondition title="1 False" >
<conditionvar> <varequal respident="1">B</varequal> </conditionvar>
<setvar action="Set">0</setvar> <displayfeedback linkrefid="1 False"/>
</respcondition>
</resprocessing>
<itemfeedback ident="0 True" view="Candidate">
</itemfeedback>
<itemfeedback ident="1 False" view="Candidate">
</itemfeedback>
</item>
</questestinterop>
.
QTI XML has successfully established itself as a way of exchanging questions. For a long time, it was the most downloaded of all the IMS specifications, and many vendors support it. One problem with the language is that it allows description of a very wide variety of possible questions, not just those that are commonly used, and so it’s quite complex. Another problem is that (partly as it is a Specification, not a Standard) there’s ambiguity and disagreement on some of the finer points. In practice, you can exchange questions using QTI XML, especially multiple choice questions, but you often have to clean them up a bit to deal with different assumptions in different tools. At present, QTI version 1.2 is the reigning version, but IMS are working on an improved QTI version 2, and one day this will probably take over from version 1.