<<

Outline Background Perceptions and requirements Software analysis Summary of results

If XML is so easy, how come it’s so hard? The usability of editing software for structured documents

Peter Flynn Human Factors Research Group Department of Applied Psychology University College Cork

Extreme Markup Conference Montreal,´ QC Late-breaking: 8 August 2006

Peter Flynn If XML is so easy, how come it’s so hard? Outline Background Perceptions and requirements Software analysis Summary of results

1 Background

2 Perceptions and requirements

3 Software analysis

4 Summary of results

Peter Flynn If XML is so easy, how come it’s so hard? ‘. . . a text document. . . ’ ‘. . . and it was suggested I use XML.’ ‘I don’t want to be bothered with markup. . . ’ ‘. . . it just has to look right. . . ’ ‘. . . and do The Right Thing. . . ’ ‘. . . automatically.’ ‘Oh, and it has to look like Word...’

Outline Background Perceptions and requirements Software analysis Summary of results If XML is so easy, how come it’s so hard?

‘I want to write a document. . . ’

Peter Flynn If XML is so easy, how come it’s so hard? ‘. . . and it was suggested I use XML.’ ‘I don’t want to be bothered with markup. . . ’ ‘. . . it just has to look right. . . ’ ‘. . . and do The Right Thing. . . ’ ‘. . . automatically.’ ‘Oh, and it has to look like Word...’

Outline Background Perceptions and requirements Software analysis Summary of results If XML is so easy, how come it’s so hard?

‘I want to write a document. . . ’ ‘. . . a text document. . . ’

Peter Flynn If XML is so easy, how come it’s so hard? ‘I don’t want to be bothered with markup. . . ’ ‘. . . it just has to look right. . . ’ ‘. . . and do The Right Thing. . . ’ ‘. . . automatically.’ ‘Oh, and it has to look like Word...’

Outline Background Perceptions and requirements Software analysis Summary of results If XML is so easy, how come it’s so hard?

‘I want to write a document. . . ’ ‘. . . a text document. . . ’ ‘. . . and it was suggested I use XML.’

Peter Flynn If XML is so easy, how come it’s so hard? ‘. . . it just has to look right. . . ’ ‘. . . and do The Right Thing. . . ’ ‘. . . automatically.’ ‘Oh, and it has to look like Word...’

Outline Background Perceptions and requirements Software analysis Summary of results If XML is so easy, how come it’s so hard?

‘I want to write a document. . . ’ ‘. . . a text document. . . ’ ‘. . . and it was suggested I use XML.’ ‘I don’t want to be bothered with markup. . . ’

Peter Flynn If XML is so easy, how come it’s so hard? ‘. . . and do The Right Thing. . . ’ ‘. . . automatically.’ ‘Oh, and it has to look like Word...’

Outline Background Perceptions and requirements Software analysis Summary of results If XML is so easy, how come it’s so hard?

‘I want to write a document. . . ’ ‘. . . a text document. . . ’ ‘. . . and it was suggested I use XML.’ ‘I don’t want to be bothered with markup. . . ’ ‘. . . it just has to look right. . . ’

Peter Flynn If XML is so easy, how come it’s so hard? ‘. . . automatically.’ ‘Oh, and it has to look like Word...’

Outline Background Perceptions and requirements Software analysis Summary of results If XML is so easy, how come it’s so hard?

‘I want to write a document. . . ’ ‘. . . a text document. . . ’ ‘. . . and it was suggested I use XML.’ ‘I don’t want to be bothered with markup. . . ’ ‘. . . it just has to look right. . . ’ ‘. . . and do The Right Thing. . . ’

Peter Flynn If XML is so easy, how come it’s so hard? ‘Oh, and it has to look like Word...’

Outline Background Perceptions and requirements Software analysis Summary of results If XML is so easy, how come it’s so hard?

‘I want to write a document. . . ’ ‘. . . a text document. . . ’ ‘. . . and it was suggested I use XML.’ ‘I don’t want to be bothered with markup. . . ’ ‘. . . it just has to look right. . . ’ ‘. . . and do The Right Thing. . . ’ ‘. . . automatically.’

Peter Flynn If XML is so easy, how come it’s so hard? Outline Background Perceptions and requirements Software analysis Summary of results If XML is so easy, how come it’s so hard?

‘I want to write a document. . . ’ ‘. . . a text document. . . ’ ‘. . . and it was suggested I use XML.’ ‘I don’t want to be bothered with markup. . . ’ ‘. . . it just has to look right. . . ’ ‘. . . and do The Right Thing. . . ’ ‘. . . automatically.’ ‘Oh, and it has to look like Word...’

Peter Flynn If XML is so easy, how come it’s so hard? Outline Background Perceptions and requirements Software analysis Summary of results Sounds familiar?

Usability of editing software for structured text Large, complex, reusable, multi-purpose, robust, long-lived, etc Why does it have to be so ‘difficult’? What do authors expect? Do we have the right interface paradigms?

Peter Flynn If XML is so easy, how come it’s so hard? Outline Background Perceptions and requirements Software analysis Summary of results Acknowledgments

Part of doctoral research at the Human Factors Research Group at UCC Thanks are due to the many contributors from the XML, LATEX, and related communities And to Google for extended access to the Usenet archives

Peter Flynn If XML is so easy, how come it’s so hard? Outline Background Perceptions and requirements Software analysis Summary of results Background

Document markup has its origins in plain text Human-readable and machine-processable Markup is visible along with the text content Signal or escape are characters used to delimit markup Markup can be nested hierarchically Markup can be declared, designed for relevance Portable, programmable, documented

Peter Flynn If XML is so easy, how come it’s so hard? Outline Background Perceptions and requirements Software analysis Summary of results vs the interface

Markup formats originally related to a product (eg RUNOFF) Declarable markup can be handled by many different processors Markup can be hidden or revealed Markup hierarchy can be displayed Markup can be edited and manipulated like text

Peter Flynn If XML is so easy, how come it’s so hard? Outline Background Perceptions and requirements Software analysis Summary of results What You See Is What You Get

Permanently hidden inline binary markup Synchronous typographic display Formatter is part of the editor Markup is hidden Unpatterned, can occur arbitrarily Largely proprietary origins (WP,DTP) ‘a system in which content during editing appears very similar to the final product’ (Wikipedia)

Peter Flynn If XML is so easy, how come it’s so hard? How should markup which bears no typographic distinction be made accessible for editing? How should the author indicate a quality or identity which depends on correct markup? How should an editing program react to an author’s keystrokes?

Outline Background Perceptions and requirements Software analysis Summary of results Obscurity of hidden markup

How can contiguous markup boundaries be made unambiguous if the cursor position will not change when they are traversed?

Peter Flynn If XML is so easy, how come it’s so hard? How should the author indicate a quality or identity which depends on correct markup? How should an editing program react to an author’s keystrokes?

Outline Background Perceptions and requirements Software analysis Summary of results Obscurity of hidden markup

How can contiguous markup boundaries be made unambiguous if the cursor position will not change when they are traversed? How should markup which bears no typographic distinction be made accessible for editing?

Peter Flynn If XML is so easy, how come it’s so hard? How should an editing program react to an author’s keystrokes?

Outline Background Perceptions and requirements Software analysis Summary of results Obscurity of hidden markup

How can contiguous markup boundaries be made unambiguous if the cursor position will not change when they are traversed? How should markup which bears no typographic distinction be made accessible for editing? How should the author indicate a quality or identity which depends on correct markup?

Peter Flynn If XML is so easy, how come it’s so hard? Outline Background Perceptions and requirements Software analysis Summary of results Obscurity of hidden markup

How can contiguous markup boundaries be made unambiguous if the cursor position will not change when they are traversed? How should markup which bears no typographic distinction be made accessible for editing? How should the author indicate a quality or identity which depends on correct markup? How should an editing program react to an author’s keystrokes?

Peter Flynn If XML is so easy, how come it’s so hard? Outline Background Perceptions and requirements Software analysis Summary of results Perceptions and requirements

Document models: internal, external ‘the parse tree that results from parsing an encoded representation of a document’ (Close, 2003) ‘a library and API that supports working with a document representation’ (Sosnoski, 2001) ‘a description of the structuring rules of a document class’ (Brugger et al., 1997) When the markup is hidden, there is a conflation of appearance and structure

Peter Flynn If XML is so easy, how come it’s so hard? Outline Background Perceptions and requirements Software analysis Summary of results Perceptions and requirements

Pilot survey of expert users Tend to recommend software familiar to user (67%) rather than appropriate Own use: XMetaL (47%), Emacs (27%), Epic (13%) No editors had specific features regarded as specially useful above the conventional ones Disliked interface , crashing, lack of catalogs and inlined entities, incomplete styling, instability, poor typography Script/macro support regarded as hard to use

Peter Flynn If XML is so easy, how come it’s so hard? Outline Background Perceptions and requirements Software analysis Summary of results Perceptions

Unquantified user demand for WYSIWYG Evidence from public requests XML and TEX mailing lists and Usenet newsgroups Recursively located each original post for any thread mentioning ‘editor’ (OP may not have used that term) Isolated those that were actually requesting editors

Peter Flynn If XML is so easy, how come it’s so hard? Outline Background Perceptions and requirements Software analysis Summary of results Requests for information about editors

Rise in demand 1997–98 follows release of XML 1.0 (1996); following troughs and peaks are unexplained.

Peter Flynn If XML is so easy, how come it’s so hard? Outline Background Perceptions and requirements Software analysis Summary of results User requirements

Requests from users included both WYSIWYG and plain-text editing ‘Free’ (OpenSource), ‘easy to use’, and ‘simple’ were the most frequently-requested Images, validity, structure (tree-view), and equations also highly-placed Long tail of other features

Peter Flynn If XML is so easy, how come it’s so hard? Outline Background Perceptions and requirements Software analysis Summary of results Specific requests for editors

N=419 Peter Flynn If XML is so easy, how come it’s so hard? Outline Background Perceptions and requirements Software analysis Summary of results User requirements

When restricted to WYSIWYG requests only, ‘ease of use’ was most-requested Equations, ‘free’ (OpenSource), and images ranked high Simplicity, structural control, and user-friendliness also important ‘Intuitive’ is ambiguous (does the interface guess the user’s requirements; or does the user guess what the interface means?)

Peter Flynn If XML is so easy, how come it’s so hard? Outline Background Perceptions and requirements Software analysis Summary of results Specific requests for WYSIWYG editors

Peter Flynn If XML is so easy, how come it’s so hard? N=106 Outline Background Perceptions and requirements Software analysis Summary of results Software analysis

Measurement of the features and facilities provided by software ‘Feature’ is something the editor does ‘Facility’ is how it does it 25 editors originally selected, some superseded Included XML and LATEX, plus some WP/DTP for comparison Measurement of presence/absence of a feature Measurement of ease of use (deferred)

Peter Flynn If XML is so easy, how come it’s so hard? Outline Background Perceptions and requirements Software analysis Summary of results Selection criteria

Conspicuity (well-known, widely-advertised, widely-used, or widely-discussed) Accessibility (available for purchase or download) Applicability (generally applicable in an authoring environment) Executable (Java, Unix//OS X, or MS-Windows) Functionality (basic entry test)

Peter Flynn If XML is so easy, how come it’s so hard? Outline Background Perceptions and requirements Software analysis Summary of results Software selected

Emacs (psgml/xxml), epcEdit, Epic, Exchanger, Frame+XML, Office-11/XML, WordPerfect-12/XML, XML Spy, XMetaL 3B2, WinEDT, , Scientific Word, Textures, TEXnicCenter, Quark XPress Nota Bene, Word-11, AbiWord, OpenOffice, WordPerfect-12

Peter Flynn If XML is so easy, how come it’s so hard? Outline Background Perceptions and requirements Software analysis Summary of results Function categorisation

File-handling (open, close, save[as], print) Document structuring (validity, markup entry and control, tables) Ergonomic facilities (search, spell, stylesheets, white-space, toggle markup, panes, views) Editor management (entities, processors, metadata, encoding, scripts)

Peter Flynn If XML is so easy, how come it’s so hard? Outline Background Perceptions and requirements Software analysis Summary of results Summary of results

Testing performed with a lightly-modified DocBook article (XML); ‘article’-class document (LATEX); style-formatted equivalent (WP/DTP) Occlusion of feature tests for non-XML editors Some element/attribute/entity-based tests inapplicable Some features only available as plug-ins For unstructured editors, some feature tests ignored entirely

Peter Flynn If XML is so easy, how come it’s so hard? Outline Background Perceptions and requirements Software analysis Summary of results Tabulation of editor features and facilities

FUNCTION Emacs epcEdit Epic Exchanger Frame Word-11 Excel-11 InfoPath WPxml XMLSpy Authentic XMetaL 3B2 WinEDT LyX SciWord Textures TeXnicC XPress NotaBene Word AbiWord Publisher OpenOffice WP File Handling ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! new file ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! open file ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! close file ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! save file ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! print preview ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! print to file ! ! ! ! ! ! ! ! ! ! ! ! validate document XML editing ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! insert element ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! tag marked ! ! ! ! ! ! ! ! ! ! ! rename element ! ! ! ! ! ! ! ! ! ! split element ! ! ! ! ! combine element ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! remove markup ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! delete element ! ! ! ! ! ! ! ! ! insert attribute ! ! ! ! ! ! ! ! ! ! edit attribute ! ! ! ! ! ! ! ! ! remove attribute ! ! ! check ID/IDREF ! ! ! ! ! ! ! insert entref ! ! ! ! ! ! ! ! ! ! ! ! insert comment ! ! ! ! ! ! ! insert MS ! ! ! ! ! ! insert PI ! ! ! ! ! ! ! ! validate element ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! raw-text edit Tables ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! create table ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! delete table ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! insert row ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! delete row ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! merge row ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! split row ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! insert col ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! delete col ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! merge col ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! split col ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! edit table props ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! edit row props ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! edit col props ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! edit cell props Ergonomics ! ! ! ! ! ! ! ! search in markup ! ! ! ! ! ! ! ! ! ! spell-check element ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! create stylesheet ! ! ! ! ! ! ! ! ! ! merge stylesheet ! ! ! ! ! ! ! ! ! ! ! ! ! ! switch stylesheet ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! save stylesheet ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! edit stylesheet ! ! ! ! ! WS handling ! ! ! ! WS display ! ! ! ! ! ! ! ! ! ! ! ! reveal/hide tags ! ! ! ! ! ! ! ! reveal/hide attributes ! ! ! ! ! ! reveal/hide entities ! ! ! ! ! ! ! ! ! ! ! ! ! ! tree pane ! ! ! ! ! ! ! ! ! ! ! element pane ! ! ! ! ! ! ! ! ! attribute pane ! ! ! ! ! ! ! ! ! ! ! ! ! toggle browse/print ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! help Editor management ! ! ! ! ! create entity ! ! ! ! ! ! edit entity ! ! ! ! ! ! notations ! ! ! ! ! ! assign processor ! ! ! ! ! ! ! ! ! ! ! ! ! edit metadata ! ! ! ! ! ! ! ! ! ! set character encoding ! ! ! ! register plugins ! ! ! table equivalence ! ! ! ! ! ! ! ! ! ! ! ! ! ! macros/scripts

(available soon at http://epu.ucc.ie/articles/extreme06)

Peter Flynn If XML is so easy, how come it’s so hard? Outline Background Perceptions and requirements Software analysis Summary of results Analysis

With a very small number of exceptions, all XML editors have the same features (implicit in XML) Differences more evident in menu placement and accessibility Almost all editors had tables controls Wide variations in ‘ergonomics’ and ‘editor management’ sections Most editors try to be all things to everyone No single structured editor appears aimed at use by non-XML/LATEX experts

Peter Flynn If XML is so easy, how come it’s so hard? Outline Background Perceptions and requirements Software analysis Summary of results Analysis

Some facilities missing in most editors unless programmed with scripts a realistic working set of up-to-date DTDs/Schemas with stylesheets real-time resolution of ID/IDREF cross-referencing promotable/demotable block moves completely configurable menus wordprocessor interface using deductive logic full entity control usable writing tools

Peter Flynn If XML is so easy, how come it’s so hard? Outline Background Perceptions and requirements Software analysis Summary of results Conclusions

All XML interfaces are the same interface, just decorated differently Semi-structured interfaces do almost as good a job as structured ones for the author No single structured editor is immediately suitable for use by non-XML/LATEX experts XML is in effect not usable by authors without significant training (except at a trivial level) Low interface quality (too cluttered, poorly styled)

Peter Flynn If XML is so easy, how come it’s so hard? Outline Background Perceptions and requirements Software analysis Summary of results Remaining work

Features and facilities required for text publishing missing in interfaces and processors (and XML) User (author) expectations of the interface Use of deductive logic in the interface to estimate the author’s requirements Use of techniques for semantic identification of the DTD/Schema

Peter Flynn If XML is so easy, how come it’s so hard? Insert a line-break within the current element Start a new one of whatever you were editing (para, item,. . . ) Pop up a menu of possible choices Notify the NSA/Echelon of all the text entered since the last time What happens if you press ENTER again without pressing anything else in between?

Outline Background Perceptions and requirements Software analysis Summary of results Expectations (example)

Press the ENTER key.. .

Peter Flynn If XML is so easy, how come it’s so hard? Start a new one of whatever you were editing (para, item,. . . ) Pop up a menu of possible choices Notify the NSA/Echelon of all the text entered since the last time What happens if you press ENTER again without pressing anything else in between?

Outline Background Perceptions and requirements Software analysis Summary of results Expectations (example)

Press the ENTER key.. . Insert a line-break within the current element

Peter Flynn If XML is so easy, how come it’s so hard? Pop up a menu of possible choices Notify the NSA/Echelon of all the text entered since the last time What happens if you press ENTER again without pressing anything else in between?

Outline Background Perceptions and requirements Software analysis Summary of results Expectations (example)

Press the ENTER key.. . Insert a line-break within the current element Start a new one of whatever you were editing (para, item,. . . )

Peter Flynn If XML is so easy, how come it’s so hard? Notify the NSA/Echelon of all the text entered since the last time What happens if you press ENTER again without pressing anything else in between?

Outline Background Perceptions and requirements Software analysis Summary of results Expectations (example)

Press the ENTER key.. . Insert a line-break within the current element Start a new one of whatever you were editing (para, item,. . . ) Pop up a menu of possible choices

Peter Flynn If XML is so easy, how come it’s so hard? What happens if you press ENTER again without pressing anything else in between?

Outline Background Perceptions and requirements Software analysis Summary of results Expectations (example)

Press the ENTER key.. . Insert a line-break within the current element Start a new one of whatever you were editing (para, item,. . . ) Pop up a menu of possible choices Notify the NSA/Echelon of all the text entered since the last time

Peter Flynn If XML is so easy, how come it’s so hard? Outline Background Perceptions and requirements Software analysis Summary of results Expectations (example)

Press the ENTER key.. . Insert a line-break within the current element Start a new one of whatever you were editing (para, item,. . . ) Pop up a menu of possible choices Notify the NSA/Echelon of all the text entered since the last time What happens if you press ENTER again without pressing anything else in between?

Peter Flynn If XML is so easy, how come it’s so hard?