<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Editor 3.0: Redesigning the YAWL User Interface</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author role="corresp">
							<persName><forename type="first">Michael</forename><surname>Adams</surname></persName>
							<email>mj.adams@qut.edu.au</email>
							<affiliation key="aff0">
								<orgName type="institution">Queensland University of Technology</orgName>
								<address>
									<settlement>Brisbane</settlement>
									<country key="AU">Australia</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Editor 3.0: Redesigning the YAWL User Interface</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">15445BC64DC2A9E88E4FE6B74E12369B</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T12:25+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<textClass>
				<keywords>
					<term>YAWL</term>
					<term>Editor</term>
					<term>Workflow</term>
					<term>User Interface</term>
				</keywords>
			</textClass>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>It has long been a concern that the wider uptake of the YAWL environment may have been hindered by the usability issues identified in the current Process Editor. As a consequence, it was decided that the Editor be completely rewritten to address those usability limitations. The result has been the implementation of a new YAWL Process Editor architecture that creates a clear separation between the User Interface component layer and the core processing back end, facilitating the redesign of the default user interface. This new architecture also supports the development of multiple User Interface front ends for specific contexts that take advantage of the core capabilities the new Editor architecture has to offer.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1">Introduction</head><p>For any software, user acceptance must be of primary concern, and for most users the design and accessibility of the user interface (UI) has a much greater bearing on uptake and continued use than any functionality the software provides. For existing products, redesign of a user interface can lead to substantial improvements in learning time, performance speed, error rates and overall user satisfaction <ref type="bibr" target="#b0">[1]</ref>.</p><p>The first version of the YAWL Editor appeared almost a decade ago as a prototype, with the objective of demonstrating that it was possible to graphically design a process model in the YAWL language and have it transformed into a format that could be interpreted and executed by the YAWL Engine. Originally supporting only the control-flow perspective, many versions have since been released to include support for the data perspective and later the resource perspective, then timers, configuration, extended attributes and many other features. In each case, new functionality was 'grafted' onto the core prototypical architecture. Over time the result was a code base that had become difficult to maintain and extend, and a user interface that revealed both its age and its usability limitations.</p><p>To address these shortcomings, the YAWL Editor has been completely redesigned and is being rewritten from the ground up. The overriding driver of the project has been to make the Editor easier to use, and therefore more accessible to a wider audience. This paper outlines the main features of the new Editor.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">Code Redesign</head><p>The original Editor architecture has a flattened package structure that mixes the user interface components with the underlying data manipulation and transportation. This meant that the user interface components were very tightly coupled to their data, which made it difficult to introduce changes to either aspect without disturbing the other as a side-effect. In addition, on opening a specification file, the Editor would first use Engine classes to parse the XML description contained in the file, then use those objects to populate its own 'mirror' classes (the Engine classes contain the code to (un)marshal to and from XML). When saving a model to file, that process was reversed. This policy introduced a large degree of redundant and error prone code, an artefact of its prototypical heritage. In the redesigned Editor there is complete separation of the UI from the underlying framework. The main advantages are twofold:</p><p>1. The completely separated core framework can now be deployed in its own jar file. This allows external developers to create new and multiple user interfaces that interact directly with the core framework through a concise API, and frees them from concerns regarding how to store and manipulate specification control flow, data and resourcing descriptors, and file handling techniques.</p><p>2. The core framework interacts with the YAWL Engine classes only. The negates that need for transformations when opening and saving specification files, which results in much faster file reading and writing times, and removes the scope for introducing errors into the 'backend' code when developing user interfaces.</p><p>3 Interface Redesign A large factor in the usability of a software product, and particularly an graphical editor, is the ease with which the properties of an object can be set, updated and maintained.</p><p>The original Editor used a number of different methods to update properties, found in various places within the interface. For example, specification properties were set via a dialog accessed from the File menu, and net properties from the Net menu, while task properties were generally accessed via a right-clicked context menu on the task itself. Adding a split or join to a task was accomplished via a box under the palette. Selecting an icon for the task was done in a different location again. Having various locations for these similar capabilities necessarily reduces usability and control.</p><p>The new Editor interface places all of the properties, for all aspects of the active process model, within a single expandable Properties window to the left of the graphical canvas (Figure <ref type="figure" target="#fig_0">1</ref>). The relevant set of properties and their values for the currently selected object or objects are displayed in their appropriate form. Such properties windows are common in today's editors, and knowing that all properties can be set in one location greatly aids ease of use.</p><p>The detailed view of the Properties window in Figure <ref type="figure" target="#fig_1">2</ref> shows that the currently selected object is a task with a decomposition, which therefore allows all properties of the Specification, Net, Task and Decomposition to be viewed simultaneously and easily selected for editing. Values are displayed in a format dependent on their data type. For example, simple values (e.g. Name, Version, Label) are shown as is, boolean types (e.g. Root Net, Sync, Automated) as check boxes. More complex values, such as Fill Colour, Font and Data Variables, are shown in a summary form appropriate to their type.</p><p>Values for properties such as Data Gateway, Icon, Split and Join Types and Positions, and Decomposition are selectable via a dropdown list. Any property modification that represents a visual change is instantly updated on the canvas, and vice versa. For example, the current location coordinates for the selected task can be changed manually in the Properties window, which will immediately move the selected task to its new location on the canvas. A description of the currently selected property is displayed at the bottom of the window.</p><p>Data Perspective Arguably the most significant impediment to usability for the casual user in the original Editor was the requirement of a knowledge of XQuery for all but the most trivial of process designs. Typically, net-level variables were added via the Net menu, task-level variables via the Decomposition Update dialog (accessed from the right-click context menu) and then mapping input and outputs with XQuery parameters was achieved via the Update Parameter Mappings dialog (again form the context menu). Thus, a greater learning curve was needed, with each step providing more scope for error. In the new Editor, great care was taken to simplify this process as much as possible, through the introduction of a consolidated Data Variables dialog (Figure <ref type="figure" target="#fig_2">3</ref>). This dialog, invoked from the Task section of the Properties window, provides for the definition of net-level and task-level input and output variables all within the same simplified dialog. Each of the three areas in the dialog provides columns for name, type, scope and initial or default value, as appropriate, and each contains it own mini-toolbar, for adding, removing, editing and reordering variables. The confusing notion of Input&amp;Output scoped variables has been dropped; it is now clear that a task may have a set of inputs and a set of outputs, aligning the Editor's data perspective with that of the Engine.</p><p>Notably, a net-level variable can be mapped to a task variable simply by drag and drop, and the required XQuery mappings are automatically created and applied. If a mapping other than the default is needed, it is able to be edited at any time with the XQuery dialog (Figure <ref type="figure" target="#fig_3">4</ref>), invoked by the mapping button on the mini-toolbar. This dialog has also been completely redesigned to remove the unnecessary complexity of the original Editor's dialog. An even more complicated data design exercise in the original Editor was in the definition of XQuery parameters for multiple-instance tasks, which served to inhibit the use of multiple-instance tasks for all but the most determined designers. In the new Editor, the XQuery parameters for multiple-instance tasks are also automatically generated and applied via drag and drop in the same dialog as single-instance tasks, making the capabilities offered by multipleinstance tasks available to expert and novice user alike.</p><p>The definition of complex data types using XML Schema can also prove problematic for novice designers. The new Editor will introduce a new, simplified data definition language, loosely based on Pascal syntax, allowing for more easily expressed data type definitions that will automatically be transformed to/from XML Schema, thus providing two discrete, user-switchable views of the same type definitions (Listings 1.1 &amp; 1.2).</p><p>Resource Perspective The 'Wizard' metaphor used by the original Editor to capture resourcing requirements has proven less than effective in terms of user interface design. In addition to being dated in terms of UI constructs, the metaphor as deployed suffered from three main issues:</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Fig. 1 .</head><label>1</label><figDesc>Fig. 1. An Overview of the New Editor User Interface</figDesc><graphic coords="2,134.77,287.35,345.82,223.90" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>Fig. 2 .</head><label>2</label><figDesc>Fig. 2. The Properties Window (detail)</figDesc><graphic coords="3,342.26,234.74,138.33,343.04" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head>Fig. 3 .</head><label>3</label><figDesc>Fig. 3. The New Data Variables Dialog</figDesc><graphic coords="4,169.35,354.19,276.66,243.23" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_3"><head>Fig. 4 .</head><label>4</label><figDesc>Fig. 4. The XQuery Mapping Dialog</figDesc><graphic coords="5,307.68,297.89,172.91,162.03" type="bitmap" /></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="1" xml:id="foot_0">. It was necessary to always begin at the first page and work your way through, even if you wanted only to make a small change on the final page.</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="2" xml:id="foot_1">. There was no facility to undo or cancel a change.</note>
		</body>
		<back>

			<div type="acknowledgement">
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">Conclusion</head><p>This paper briefly outlines a few of the main features of the new YAWL Editor, however almost every aspect has been updated and improved. It is hoped that the reward for the redesign will be realised through increased deployment of the YAWL environment, and a positive affect on the teachability of YAWL, since novice users will no longer face such a steep learning curve in the use of the Editor before positive results can be achieved.</p><p>An alpha version is currently scheduled for limited release in August 2013.</p></div>
			</div>

			<div type="annex">
<div xmlns="http://www.tei-c.org/ns/1.0"><p>3. There is too much information displayed on each screen. While potentially useful for novice users, the information becomes unwanted 'noise' as experience is gained. A better approach is to have the information available separately through a 'Help' dialog that can be invoked via a button. All three concerns have been addressed in the new Editor through the use of a tabbed dialog that shows the various resourcing properties, any of which can be navigated to directly, with verbose help information removed to separately invoked dialogs. Also, the new Editor will support the swim-lane metaphor, allowing resources to be assigned to tasks graphically via their placement in the appropriate lanes, which will aid in the readability of models by all stakeholders.</p></div>			</div>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<monogr>
		<title level="m" type="main">Designing the User Interface: Strategies for Effective Human-Computer Interaction</title>
		<author>
			<persName><forename type="first">B</forename><surname>Shneiderman</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Plaisant</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Cohen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Jacobs</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2009">2009</date>
			<publisher>Addison-Wesley</publisher>
		</imprint>
	</monogr>
	<note>5th edition</note>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
