WebInspector - IEEE Technical Committee on Learning Technology

3 downloads 723 Views 178KB Size Report
WebInspector's web server. (b) the insertion of a. JavaScript library that includes all functions that the developer will use in order to add records in the monitoring ...
WebInspector: An attachable multipurpose activity monitoring system Palaigeorgiou George, Despotakis Theophanis, Tsoukalas Ioannis Multimedia Lab, Computer Science Department, Aristotle University of Thessaloniki E-mail: {gpalegeo, tdespota, tsoukala}@csd.auth.gr coherent and accurate structure. This enrichment can be developed in such a way that new services can be introduced. These services either read or add data to the stream in order to operate. We have developed a formalism that is initially used for the provision of five independent services: A) a service that records, represents and replays users’ action. The playback mechanism enables administrators of WebInspector to select and watch past users’ actions sequences. This functionality can be considered as a form of learning history [1]. B) a service that facilitates usability evaluation with tools for analyzing and processing the usage data stream [2] and tools for incorporating information direct from the users [3]. C) a service that can enrich interactive interface objects with historical behavior. “History objects” preserve their interactions history and use it in order to enhance their functionality and appearance. Their appearance uses abstract graphical notations of their accumulated historical usage [4]. D) a service that facilitates the monitoring of executing processes for debugging and optimization reasons. Developers can designate functional elements that interest them and then use tools to analyze and understand better their working. [2] E) a service that enables developers to author adaptive system reactions that fire when specific usage patterns are detected. Our goal is the formalization of a language for manipulating the recording data stream in a way that can support the development of many services. Of course the nature of these services are independent of the internal applications’ logic and must exclusively use the recorded data stream as data provider for their functionality.

Abstract Most modern web educational applications try to transcribe their interactions development with the users and exploit them in many ways. Various systems that monitor and advance the interactivity protocol have been proposed but most of them are embedded to systems in ad hoc ways. In this paper, we propose an attachable multipurpose activity monitoring system for enhancing the historical development of WWW interactions and their analysis. The framework tries to provide the following services: learning resources usage monitoring, playback facilities, historical behavior of interface objects, programmable reactive system behavior and usability evaluation. The proposed architecture requires a formalization of all possible users’ actions and it is configured through a separate administrative application.

1. Introduction Most modern web educational applications include modules for collecting information about their interactions with the users in order either to demonstrate a dynamic adaptive and evolving behavior or to evaluate their functioning. New web programming styles, such as the extended preloading of data in each web page for minimizing the apparent discontinuous functioning of a web application, qualify the processing of the web server log files fragile and inconsistent. Therefore, we detect a need for an overall, effective reengineering of the usage monitoring process. The events fired by the user are not enough adequate to disclosure the hermeneutic attributes of users’ actions. We developed a monitoring framework that can be configured by the developers for each application because any hermeneutic abstraction would be very difficult applicable to the substantial different educational approaches. WebInspector framework can be easily attached and configured without requirements for proficient development knowledge. WebInspector relies on a small scale analysis in the web-client that shape the data stream with a more

2. Event Monitoring Current monitoring applications use event recording in order to evaluate the usability of hypertext applications, to obtain interest indicators, to recognize patterns in users’ behaviors etc. Although recording goals are quite similar in their nature, different approaches for event 489

when the page is loaded and (d) the automated overriding of some browser’s default behaviors such as hyperlinks etc. and secondly by adding a call to function “Monitor” in each event-handler function. 2) The developer must describe the semantic and operational characteristics of the educational application in terms of possible user activities. We have developed a formalism for the description of “actual” and “intellectual” user activities. The concept of “actual” activities corresponds to the recorded event-handlers that contain a call to the function “Monitor” while “intellectual” activities are descriptions of implicit user actions that derive as patterns of “actual” user activities. 3) The developer uses administration operations in order to configure monitoring attributes. WebInspector subsystems are administered by a small set of microapplications: Usability Tracer, Playback Control, History Objects Manager, Reaction Creator, Debugging Helper

tracking have been developed. WebVip [5] monitors user interactions with web pages and with browser‘s facilities. WebVip postulates the manual attachment of handlers for each element that we want to monitor. WET [6] using global event handling functions assigned at the window and document level, reads certain properties of the event objects and records those properties along with time stamps and document-window location. RemUSINE [7] divides the browser window into two frames: one to show the list of possible target tasks and the other to display the site pages. The first frame undertakes the definition of global event handlers for the second frame whereas a Java Applet stores the recorded data stream to the server. WebLogger [8] maintains a pointer to IE’s WebBrowser COM interface and through this pointer receives notifications when MS Internet Explorer starts to load a URL and when it finishes loading a URL All recording data streams in the described applications are linear; they consider events as unary interaction actions and do not describe anything more than the event object instances and navigation selections among web pages. These applications do not use the semantic assumptions of applications’ reactivity which determine significant user’s subjective experiences. Also their recording mechanisms are insufficient in capturing web-interface functioning. Modern browsers can support the development of single web pages that operate as autonomous applications and provide many facilities. Furthermore, all applications do not use the monitoring framework for providing additional services. We propose that a monitoring architecture (a) should trace the functions that handle events (event-handlers). (b) should include a semantic formalism for the interpretation of the application logic and hermeneutics assumptions in the system. Of course, the efficiency of the system is then depended on the creativity of developers and administrators in describing this operation logic using WebInspector’s tools.

4. Description formalism For each activity we provide 4 levels of descriptions. In the hermeneutics description layer, the developer can specify multiple and different ways for explaining users’ actions. We consider that the interactivity protocol should include a multilayer interpretation approach for explaining user’s activities [2]. Thereby, navigation events in a hypertext book of an application can be explained hierarchically: “access to page X” - “study of page X” – electronic book study” as long as predefined constraints are met. The developers declare the derivation rules which are examined every time the data stream is updated. The derived activities are user’s “intellectual activities”. .hermeneutic description. layer {default: symbolic representation: [symbol, parameters] & description:[active expression] } {IF (appearance pattern:[pattern]) THEN symbolic representation: [symbol, parameters] & description:[active expression] }+ {IF (appearance pattern:[pattern]) THEN create new action: [symbol, parameters] }+ {diachronic: [t/f ]}

3. WebInspector embodiment

.operational description layer: { function parameters: [param, description] } { page identity: [pageid]}+ { type: [internal / external] } { version: [ver] } { window object: [type(frame, dialog, popup…), access pointer] }+ { watching variables: [variable, description]}+ .history objects description layer: { object identifier: [object id, type] & history effects: [type, lifetime, constraints]}+

WebInspector’ s embodiment in internet educational applications is implemented with convenience following the next three steps: 1) The developer must update all web pages by adding an include call to an external file (“includeWI.inc”) that carries out four operations: (a) the insertion of a hidden iframe element that its source page resides in WebInspector’s web server. (b) the insertion of a JavaScript library that includes all functions that the developer will use in order to add records in the monitoring data stream (c) the calling of InitWebInspector function that initializes WebInspector 0-473-08801-0/01 $20.00 © 2002 IEEE

.reactions description layer {IF (appearance pattern:[pattern]) THEN UIAgentReaction: [scenario code] }+

Figure 1. Activity Description Formalism.

490

interrupt the normal flow of user’s interactions and inform or question him. In the reactions description layer, the subsystem Reaction Creator includes an interactive presentation authoring tool which is a miniature of system ACT [10]. Its operation is independent of the monitored application, and it uses MS Agent and dynamic HTML behaviors in order to support structured dialogues with the users.

The first attribute ensures that the activities’ encoding format will remain homogeneous and consistent with a symbolic dictionary that the developer builds up while providing his hypothetical rules. The second statement enables the developers to assert different meanings to the activations of an event handler when it is detected in different contexts - action sequences. The pattern description language follows the implementations of similar applications [9]. The third statement makes feasible the recording of intellectual activities in the data stream. These activities are generated when predefined patterns of activity occurrences are detected. This activity must also be declared later with our description formalism. An activity can also be characterized as diachronic. This stands when its recognition pattern specifies the beginning and the end of its meaning endurance. In the operational description layer, the developer declares the activity’s attributes that indicate its requirements and results. The first member of this layer prompts the developers to specify the event-handler’s parameters and their role. Next, the developers determine the web page identity in which the activity belongs. Activities are discriminated depending on their ability to cause the loading of a new web page in the web browser (external) and to provide a service without requesting an new web page (internal). Monitoring data are always sent to the WebInspector before the execution of an external activity. Important attribute of a monitoring activity is its current version. In a web system, we must always anticipate the rapid evolution of the application. Knowing the versions of an activity, we can select whether to use our historical monitoring data in our analysis procedures or not. Finally the developer can declare code variables that he wants to monitor when the specific activity is actuated. In the history objects description layer, activities are considered as actions with or toward interface objects. In opposition to digital objects, physical objects maintain their interactions history with humans and time either with immediate ways (notes in a writing book remain in the same place, with the same writing style favoring the recalling of logical and emotional attributes of a previous circumstance), or with indirect ways such as their natural wear. A monitoring system, through the extensive activity recording, should be able to store and use object’s usage traces. WebInspector requires that each of these objects should have an identity (ID), which is indicated in conjunction with the type of historical behaviour that we want its interactivity to demonstrate. Many times, developers wish to author microscenarios of interactions that are activated when specific patterns of usage are detected. Either for usability, cognitive apprenticeship or help reasons, we want to

5. Summary We proposed an activity recording framework that requires a formalization of all possible users’ actions. Additional semantic information raise the hermeneutic borders and enable the development of independent services in web monitoring systems. WebInspector has been already developed in a pilot study and now is incorporated in a complex web educational environment.

6. References [1] Plaisant C., Rose A., Rubloff G., Salter R., Shneiderman B. (1999), The design of history mechanisms and their use in Collaborative Educational Simulations, HCIL Technical Report No. 99 (URL:http://www.cs.umd.edu/hcil) [2] Hilbert D., Redmiles D. (2000) Extracting Usability Information from User Interface Events, ACM Computing Surveys, 32(4), 3`4-421 [3] Hartson H., Castillo J., Kelso J., Neale W. (1996), Remote Evaluation: The network as an Extension of the Usability Laboratory, Proceedings of CHI’96, ACM Press [4] Wexelblat, Maes P. (1999), Footprints: History-Rich Tools for Information Foraging, Proceedings of CHI’99, ACM Press [5] Scholtz J., Laskowski S., Downey L. (1998) Developing Usability tools and techniques for designing and testing web sites, Proceedings of HFWeb’98 (URL: http://www.research.att.com/conf/hfweb/proceedings/sch oltz/index.html) [6] Etgen M., Cantor J. (1999), What does getting WET (WebEventloggingTool) mean for web usability?, Proceedings of HFWeb’99 (URL: http://zing.ncsl.nist.gov/hfweb/ proceedings/etgencantor/index.html) [7] Paganelli L., Paterno F. (2002), Intelligent Analysis of User Interactions with Web Applications, Proceedings of IUI’02, ACM Press [8] Reeder R., Pirolli P., Card S. K. (2000), WebLogger:

491

A data collections tools for Web-use studies, UIR Technical Report UIR-R-2000-06, Xerox PARC

Observational Data, Interactions, March 1996 [10] Palaigeorgiou G., Korbetis A., Siozos P., Tsoukalas I. (2002), ACT: Acting Cartoons for Trainers’ Presentations, Proceedings of EDMEDIA 2002, AACE

[9] Fisher C., Sanderson P., (1996), Exploratory Sequential Data Analysis: Exploring Continuous

492 0-473-08801-0/01 $20.00 © 2002 IEEE

Suggest Documents