Moreover, as the goal of this research is to simplify and improve adaptive specification authoring in adaptive hypermedia (see also the research questions, Section 1.4), this applies to target users. As these end-users are the focus of this research, the user-centred design (UCD) methodology is used throughout the research in design specific experiments, to extract their needs, requirements and constraints [42]. This user-centred design methodology has been used as a research methodology in many researches involving application oriented research in general, and more significantly, users (e.g. [43], [44] and [45]). User centred design implies that users, usability, and user characteristics are taken into account throughout the processing.
The user centred (UC) approach outlines the phases throughout a design and development life-cycle while focusing on gaining a deep understanding of who will be using the product. There are multiple principles
and environments. UC is driven and refined by user-centred evaluation; and addresses the whole user experience. The process involves users throughout the design and development process, iteratively, as illustrated in Figure 18.
Figure 18: Phases of user centred process (source www.usability.gov [46])
The following are the general phases of the user-centred process [46]:
The user-centred approach has been used at every stage of this research, starting from the requirement analysis to the implementation and the evaluations. The next sections provide details on where and how this approach was used in this research.
3.3 Implementation Methodology: The Visual Platform
In order to evaluate the proposed solutions to the research questions, a platform on which the evaluations could be performed was needed, to be either selected from existing platforms, or newly developed from scratch. The software was to be designed on a modular basis; each module extends the system’s functionality. This enables the system to be extended without having to rewrite the entire system from scratch. In addition, this will allow a more personalized way of displaying a set of modules suited for a particular user. This platform would then be extended as the research continued, in order to evaluate the extensions and tools that were created during the research. It was also expected that lessons learnt during the development of the platform would be also useful in answering our first sub-research question. This process comprised the following steps:
1.Capturing System Requirements: Initially, these requirements were gathered from the literature review and from previous evaluations of existing systems;
2.Implementation of the requirements; 3.Testing and debugging;
4.System Evaluations;
5. Further implementations: Feedback was then incorporated into the system, to improve authoring in adaptive hypermedia.
The implemented system served as an evaluation tool for the user modelling, usability and functionality features. The system implementation was an iterative process, each system prototype representing an enhancement of the previous version, addressing the limitations and enhancing the system’s features. For this research, the authoring system developed was called VASE, short for Visual Adaptive Strategy
3.3.1 Iterative System Implementation based on User Centred Implementation
3.3.1.1 PEAL Extension
PEAL [37] was evaluated with the help of programming-savvy persons, as they represent the type of author at which this tool is targeted at. This highlighted PEAL’s limitations, and suggested improvements on how PEAL can be updated.
Thus, the initial thought was that to improve PEAL and to address the shortcomings reported in the PEAL evaluation. However, from the literature review on authoring tools, it was clear that by simply improving PEAL, this was not going to solve the main problems, since most of the problems reported were platform- or framework-related (see Chapter 2, Section 2.5.7.1.5). The platform and framework thus needed to be changed, to meet the requirements of adaptive authoring system specified in Table 3.
In addition, several visual programming frameworks were investigated; some of the major frameworks have been listed in Chapter 2. Few of the frameworks were prototyped, in order to select the best suited framework to design and develop the new authoring system.
3.3.1.2 Other Frameworks
Initially, two visual programming frameworks were prototyped: the GLG framework [47] was more suited than Oryx framework [48]. However, the GLG framework licensing cost was too expensive for an academic setting and it was based on aging technology. As a result, these prototypes were not taken any further. PEAL had to be redesigned to adhere to the requirements and desired features reported in the literature and reported by the user in this thesis in Chapter 2, Section 2.5.7.1.5.
easy to understand in block programming, in comparison to the text-based programming techniques. From the survey result and speaking to the users throughout this research, it was clear that block programming frameworks were best-suited for novice users.
3.3.1.3 VASE 1.0
Thus, VASE 1.0 was the first attempt to create an authoring system using the block programming framework (written in Java), called OpenBlocks [39]. Due to the features offered by the OpenBlocks [39]
framework at the time of creation, this framework could only be used to create a desktop application, which required JVM (the Java Virtual Machine) and JDK. In addition, a desktop application had to be installed, with alleviated (admin) user rights, on the computer.
VASE 1.0 was created using OpenBlocks [39] (described in Chapter 2, section 2.9.1), a block programming framework written in the JAVA programming language. The LAG language grammar (APPENDIX A: LAG Grammar) was used to create blocks based on LAG constructs, called LAGBlocks.
However, some very basic functionality was missing from the framework, like copy and paste blocks or copy and paste entire section of blocks, complete list of the missing and desired features, highlighted by this research, as have been listed in Chapter 5, 6.5.3.
In addition, VASE 1.0 required an installation process and could not be used in the browser without installing a Java plugin. A new framework was thus created, to address this shortcoming, which didn’t need a plugin to be installed and would work in any browser, desktop or mobile because it was based on the HTML 5 specification [49].
This meant that if VASE can be written in this framework, it would solve the majority of the problems reported by the users. A complete re-write was thus required for VASE 2.0, using web technology stack, and based on user feedback, as detailed in Chapter 5, section 5.5.
Thus, the next development iteration was to create VASE 2.0. Apart from name resemblance, VASE 2.0 is a complete re-write of VASE 1.0 in a completely different programming language and on a different
platform. Based on JavaScript, VASE 2.0 followed the HTML5 specification [49] and will work in any browser, since JavaScript can run in any mobile or desktop browser.
To rewrite VASE in a different programming language, using a different framework, and on a different platform, required a substantial additional development effort. The HTML5 specification was fundamental to this, as it offered standards consistent between browsers [49]. The final design and implementation of the adaptive authoring system have been listed in Chapter 5, Section 5.5. Next, we visit the experimental methodology applied to validate the various results of this thesis.