Papers by Steven Pemberton
Because of the legacy of paper-based forms, modern computer-based forms are often seen as static ... more Because of the legacy of paper-based forms, modern computer-based forms are often seen as static data-collection applications, with rows of rectangular boxes for collecting specific pieces of data. However, they have far more opportunities for being dynamic, checking data for consistency, leaving out fields for non-relevant data, and changing structure and detail to match the data-filling flow. Furthermore, data is no longer limited to pure textual input, but can be entered using any method that is available on a computer. While classically it is the form that drives the data produced, this paper examines how forms can be data-driven, for structure, for presentation, and for execution, and proposes that our view of forms have been severely impaired by the paper-based legacy.
Invisible XML, ixml for short, is a generic technique for treating any parsable format as if it w... more Invisible XML, ixml for short, is a generic technique for treating any parsable format as if it were XML, and thus allowing any parsable object to be injected into an XML pipeline. Based on the observation that XML can just be seen as the description of a parse-tree, any document can be parsed, and then serialised as XML. The parsing can also be undone, thus allowing roundtripping. This paper discusses issues around grammar design, and in particular parsing algorithms used to recognise any document, and converting the resultant parse-tree into XML, and gives a new perspective on a classic algorithm.

Notations can affect the way we think, and how we operate; consider as a simple example the diffe... more Notations can affect the way we think, and how we operate; consider as a simple example the difference between Roman Numerals and Arabic Numerals: Arabic Numerals allow us not only to more easily represent numbers, but also simplify calculations and the manipulation of numbers. One of the innovations of the World Wide Web was the URL. In the last 30 years URLs have become a ubiquitous element of everyday life, so present that we scarcely even grant them a second thought. And yet they are a designed artefact: there is nothing natural about their structure -each part is there as part of a design. This paper looks at the design issues behind the URL, what a URL is meant to represent, how it relates to the resources it identifies, and its relationship with representational state transfer (REST) and the protocols that REST is predicated on. We consider, with hindsight, to what extent the design could have been improved.
In its 14th year, XML Prague is a conference on XML for developers, markup geeks, information man... more In its 14th year, XML Prague is a conference on XML for developers, markup geeks, information managers, and students. XML Prague focuses on markup and semantic on the Web, publishing and digital books, XML technologies for Big Data and recent advances in XML technologies. The conference provides an overview of successful technologies, with a focus on real world application versus theoretical exposition.
The first computer so cheap that they gave it away on the cover of a magazine The Elliot ran for ... more The first computer so cheap that they gave it away on the cover of a magazine The Elliot ran for about a decade, 24 hours a day. How long do you think it would take the Raspberry Pi Zero to duplicate that amount of computing?

Usability describes the ease with which you can use something: how long it takes to achieve your ... more Usability describes the ease with which you can use something: how long it takes to achieve your aims, how correctly, and whether it is enjoyable in the process. While this is normally applied to interactions with processes, such as computer programs, or machines, it is also applicable to notations: how easily can you achieve what you are trying to do, does the notation aid you in avoiding errors, and, indeed, is it enjoyable to do? However, surprisingly little attention is paid to designing notations for usability. Invisible XML (ixml) is a technique for treating any parsable format as if it were XML, and thus allowing any parsable object to be injected into an XML pipeline. It uses a notation for describing data formats that are to be parsed. Earlier papers on ixml discuss the design of the notation based on functional requirements of the language. This paper discusses changes to the design following experience with using it, giving examples of its use to develop data descriptions, and in passing, suggests other output formats.
The internet of things is predicated on tiny, cheap, lower power computers being embedded in devi... more The internet of things is predicated on tiny, cheap, lower power computers being embedded in devices everywhere. However such tiny devices by definition have very little memory and computing power available to support user interfaces or extended servers, and so the user interface needs to be distributed over the network. This paper describes techniques using standard technologies based on XML for creating remote userinterfaces for the Internet of Things.
Companion Proceedings of the ACM Web Conference 2023
This paper summarizes the content of the 28 tutorials that have been given at The Web Conference ... more This paper summarizes the content of the 28 tutorials that have been given at The Web Conference 2023. • General and reference → Surveys and overviews; General conference proceedings.
Proceedings of the 14th International Conference on Management of Digital EcoSystems
This document discusses the ergonomic problems with currently available software products, and wh... more This document discusses the ergonomic problems with currently available software products, and what in general is necessary to make an application pleasant to work with. The application of these principles to a new open-architecture user interface system, Views, is then described.
htmlabstractProgramming languages are mostly not designed for humans, but for computers. As a res... more htmlabstractProgramming languages are mostly not designed for humans, but for computers. As a result, programming time is increased by the necessity for programmers to translate problem description into a step-wise method of solving the problem. This demonstration shows a step towards producing more human-oriented programming languages, by developing an interactive map application in a language that allows specification of what needs to be solved rather than how to solve it.

htmlabstractXForms is an XML markup for a new generation of forms and form-like applications on t... more htmlabstractXForms is an XML markup for a new generation of forms and form-like applications on the Web. XForms is not a free-standing document type, but is integrated into other markup languages, such as [XHTML], [ODF] or [SVG]. An XForms-based application gathers and processes data using an architecture that separates presentation, purpose and content. The underlying data of a form is organized into instances. XForms allows processing of data to occur using three mechanisms: a declarative model composed of formulae for data calculations and constraints, data type and other property declarations, and data submission parameters a view layer composed of intent-based user interface controls an imperative controller for orchestrating data manipulations, interactions between the model and view layers, and data submissions. Thus, XForms accommodates form component reuse, fosters strong data type validation, eliminates unnecessary round-trips to the server, offers device independence and ...

XForms 1.0 and 1.1 both had test suites that consisted largely of static XForms documents. To run... more XForms 1.0 and 1.1 both had test suites that consisted largely of static XForms documents. To run the tests you had to manually activate them one by one, and then visually conrm that the output matched the description of what should have been produced. If you wanted to add more cases to a test, it involved adding to the set of documents, or editing the individual documents. The test suite for XForms 2.0 now being constructed takes a diferent approach, the idea being that the tests should check themselves that they have passed; most tests have a similar structure so that only the data used needs to be altered to check new cases. Of course, for a language designed for user-interaction, some tests have to be based on physical interaction. But once you have conrmed that clicking on a button does indeed generate the activation event, all subsequent tests can generate the activation event without user intervention. The introspection needed for tests to check the workings of the proce...
Software we have lost -the mortar that held the bricks together

XForms [6][7] is an XML-based declarative programming language. XForms programs have two parts: t... more XForms [6][7] is an XML-based declarative programming language. XForms programs have two parts: the form or model, contains descriptions of the data used, and constraints and relationships between the values that are automatically checked and kept up to date by the system; and the content, which displays data to the user, and allows interaction with values. Content is presented to the user with abstract controls, which bind to values in the model, reflecting properties of the values, and in general allowing interaction with the values in various ways. Controls are unusual in being declarative, describing what they do, but not how they should be represented, nor precisely how they should achieve what is required of them. The abstract controls are concretised by the implementation when the XForm application is presented to the user, taking into account modality, features of the client device, and instructions from style sheets. This has a number of advantages: flexibility, since the s...
Uploads
Papers by Steven Pemberton