Developing Open Source Web Services for Technology-Enhanced Learning Juergen Mangler, Renate Motschnig-Pitrik, Michael Derntl Research Lab for Educational Technologies, University of Vienna juergen.mangler@univie.ac.at renate.motschnig@univie.ac.at michael.derntl@univie.ac.at Abstract. When introducing technology-enhanced learning, universities are faced with the question of whether to buy an off-the-shelf learning platform or to develop a home-grown solution. In this paper we discuss the particular benefits we have experienced in developing special purpose Web Service modules to support specific didactic elements in the computer science curriculum. We argue that learning platform modules, in order to be fully effective, need to be derived from educational principles and practice. In support of this observation we illustrate a systematic way of deriving Web Service modules from didactic goals. Two examples, a bug reporting forum and a work space for uploading project milestone documents, serve to discuss and confirm the concept. 1 Introduction In most universities, e-learning frontiers are employing various solutions in their technology-enhanced learning (TEL) experiments long before university administration starts to think about employing and supporting a university-wide solution. While the motivations and the potential consequences at these levels are completely different, both administration and frontiers face the question of whether to use an existing solution, or to develop a custom solution. Yet, usually only computer science departments have the advantage of possessing the knowhow to develop a home-grown solution particularly tailored to their needs. So the most important decision for everyone to make is whether to use a commercial product or to invest into the creation of an own system. Commercial products have a given architecture and feature set that is immediately available, but it is sometimes difficult for them to live up to the expectations: one has to sacrifice usability, cannot achieve the exact target, or has to cut back one s need for specific support. Behind each commercial product there is a dogma, which can not be changed and which affects the real life, i.e. the courses structure. We claim that technology should support real life, not shape it. On the other hand, creating a custom solution that is tightly integrated into pedagogical practice has several advantages. Creating an own modular solution
or starting from an existing open-source project may be the key for successful integration into an existing learning platform infrastructure. There is a strong tendency in the European Union to support open-source software development (see [3]). Developing an open-source framework for the exchange of standardised Blended Learning components can help to establish new cooperations with other universities. We took this opportunity and started to develop a modular solution [6], which would not only serve as our learning platform, but through its modular, standards-based design is ready to be integrated into other learning platforms. This solution integrates a set of distributed Web Services [1] that share a common interface. We envision a pool of open-source services that can freely be exchanged and consumed by all participating institutions (universities, industry,...). This has the following advantages: Every institution can focus on its specialities (e.g. a faculty for applied Mathematics can realise modules that help their students in solving mathematical problems). Everyone can use common, freely available modules like discussion forums, workspaces, or WIKIs. Because of the distributed nature of Web Services, universities and schools from different nations can team up to create optimally supported courses. Because of distributed design, adding new modules cannot destabilise the system, and research and deployment can proceed continuously. In the next section we point to essential features of our Web Service based environment for TEL while section 3 characterises two selected services in more detail. 2 Commercial vs. Home-grown Platform Support Our solution, called CEWebS (Cooperative Environment Web Services), realises the framework mentioned above. The following issues appear essential: Individual combinable services help to keep the environment simple, for both the user and the facilitator. Each service implements a coherent set of functionality. Given proper extension mechanisms, the services can be integrated into existing administrative solutions as well as commercial platforms. Particularly in the field of computer science there is a need for specialised tools, as computer science is a highly application-oriented discipline; CEWebS allows for the encapsulation of existing tools to provide a Web interface for students. We want others to join our efforts. Open-source is a way to transparently share work with others. We release our services under the LGPL [5] and GPL [4] licences, to protect our rights, as well as allow for embedding into other (even commercial) projects.
The university of Vienna provides WebCT Vista [9] to all students. However this platform is not intended to be used in projects or cooperations with people external to the university. By providing independent components, valuable tools can be used inside the learning platform as well as be applied separately to cooperative environments. To explore the effects of the Person-Centered Approach [8] which we adopt as the didactic baseline in most courses we need a flexible framework to experiment with. For our research to be effective we need a framework that can be changed and customised in the short term. Investigation into new technologies and applications that also provide support for our daily work seemed a good idea. 3 From Learning Theory to Platform Support Technology-enhanced learning (TEL) offers a huge variety of design options and also demands many decisions to be thoughtfully made. This includes decisions regarding the arrangement of face-to-face and online phases in a TEL course, as well as choosing the appropriate media and tools for a set of activities in the learning process. While commercial products offer a number of well-defined and proven features like chat, discussion forum, file spaces, blackboard, etc., appropriate Web-based support for domain- and context-specific didactical arrangements is missing. We believe that such Web support cannot be offered to a full extent by standard monolithic software solutions. Learning theories are too diverse and versatile to be captured and supported by a standard piece of software. Either the desired feature is completely missing, or it is too cumbersome and complex to configure. Our approach is different: We believe that researching the learning processes and eliciting required functionality is the most promising philosophy in this respect. The target learning process is analysed, requirements are derived, and functionality is implemented based on the guiding principle of simplicity for both process and implementation. In the following sub-sections we outline two services that were implemented based on the requirements of the cooperative, person-centred learning processes [8] [7] [2] they are supposed to support. 3.1 Contributions of Teams As said before we aim to create specialised services, which exactly may didactic requirements in order to optimally support educators and students. In a nutshell the scenario for an IT project management lab course is as follows: Each course consists of multiple groups of about 20 students In every group students assign themselves to teams of about 3 students (for CEWebS supports team-building processes) Each team elaborates a project, according to an idea that has to be discussed with the teacher and the other students
The projects are elaborated according to a flexible, predetermined processand milestone structure The lab hours are used to present and to discuss the progress and the decisions taken by the teams CEWebSDelivery upload file view other persons contributions student CEWebSAdministration structure themes review other participants work find out which students didn t contribute administrator write email to selected students Fig. 1. Contributing / Uploading Material To meet the requirements outlined by the use cases in Fig. 1, we created a CEWebS that focuses on the contribution of teams. When creating this service we concentrated on various aspects that make it different from other implementations as well as less usable for scenarios that do not exactly match ours. These decisions foster a strongly cooperative style. They include: All persons in a team can add and change files All files are immediately visible to all students The main page always shows all contributions. This proved to increase the overall quality of the projects, as students can take a look how other teams performed the tasks when something was unclear. Under the precondition of being as simple as possible, we realised it consisting of only three pages for managing the whole process. The first page provides a detailed overview about what the individual teams contributed so far (see Fig. 2). In our case the details page consists of various elements: At the top of the page a short introduction is given, explaining the project the students have to contribute to and also providing various links, where the students can find additional information. The following contributions are necessary: contains a list of all tasks which the students need to accomplish. This list is changing over the term, as new entries are added, and old ones are removed. Again we keep the principle of showing only what is necessary.
The main section is lead by The following files have been contributed by the individual teams:. This section holds: A scope for each team Each teams scope is further divided into a space where links in brackets ([...]) occur, leading to other CEWebS providing peer-evaluation facilities. A parameter CEWebS section is added to each link, to denote the team that is currently evaluated. In this space also the links to the results of the evaluation occur. The second space holds the files for each task. When clicking on the filename, the file is opened or downloaded to the local hard-disk. Fig. 2. List of the Uploaded Material After selecting a task from the list, the user is presented with a page that allows for managing the files that a team contributed to the specific task so far. The management page holds a more detailed description about a single task, and allows to add new files, delete files and overload (or rename) existing contributions. The last page that the user has to master is the upload page where he / she has to select a file and specify a description. After uploading a file, the updated management page is presented to the user. The CEWebS also provides a report of type email, that can be used to write an email to all teams that have not yet contributed a file in response to a task. 3.2 Track Bugs of Other Teams We also extend the development process to encompass a peer review process and make testing the projects of other teams an exercise. To accomplish this goal we
created a CEWebS called BugTracker. The students have to systematically test the project of the peer-team and report the bugs through the Web interface. This helps to improve the projects of the teams, and to divide the work for individual team members, even if there is no time to meet face to face. Commercial or opensource bug-tracking tools are often very complicated to use, so we simplified the process and integrated it into our course structure. The use cases in Fig. 3 where identified as being important. << include >> report new bugs comment bugs categorise bugs change the category of a bug user Fig. 3. Report Bugs In its current form the BugTracker CEWebS is able to file bugs, change their state and add comments to them. When the user enters the service he / she can see a simple list of all bugs. Per default the bugs are filtered by bug states. An administrator can add an arbitrary number of bug-states to the configuration, the first state in the configuration is the one that is shown per default. States in our configuration include (in exactly this order): Open - bugs that have not yet been resolved. Squished - bugs that have been resolved / fixed. Already Existing - bugs that have already been reported / duplicated bugs. Interesting but subjective - ideas or reported errors that belong to the category feature not bug. Also complaints about colours and page layout can be put into this category. It holds bugs that need further discussion. The bugs are always filtered according to these states. For our configuration all Open bugs are shown in the default view. The list of bugs is always sorted by project-names and categories. Categories include: Error - an error message occurs, or something just refuses to work. Not available, missing functionality, Idea Disturbing, Usability - something works but is not nice to use. Minor flaw - nice to have, but low priority. Again the administrator can define his/her own categories, the ordering in the configuration file affects the ordering in the output list. In our case errors are considered the most important thing, followed by ideas and so on. There is also a link to the comments section of the bug and a short description, that is clickable and links to the detailed description of the bug. When the user decides to add a new bug, he/she will see a form with the following input fields:
Date, Time - Regarding: Date and Time can be set as well as the module where the error has been found (Regarding). Author and Browser will be set automatically, as only logged-in users can add bugs, and the browser can also be read out. This field is immutable. The Short descriptionof the bug that will be shown in the list. An URL that points to a location where the error occurs. If an URL can t be given (due to frames or for session reasons e.g. in WebCT) one should add here a short description how to provoke the error. Long Description Effects that occur because of the error. What tasks can no longer be accomplished? Additional Comments that fit into none of the above fields. A user can change the bugs he/she reported (the facilitator can change all bugs) as can be seen in Fig. 4. All new bugs default to Open (or in fact the first state in the configuration), after first saving one, the user can also change the state (e.g. to Already Existing). Fig. 4. Owner of a Bug There is also the functionality to add comments to every bug. The comments will be shown in a flat list, every comment can make use of a simple WIKI syntax.
The BugTracker provides an excellent example for a versatile service. In asking students to report bugs and inconveniences regarding CEWebS we collect valuable feedback that allows us to optimise platform support. 4 Conclusions From experience we found that user-centred design requires adaptation based on educational practice. Furthermore, standard learning platform functionality only marginally accommodates the need for special purpose services, such as the use of tools and customised support of project structures, we envisage in computer science. These reasons and the fact that research in technology-enhanced learning needs flexibility for experimentation and experience motivated us to develop open-source Web Services. These help us to enhance learning in the courses we offer at the University of Vienna and, in our view, have the potential of forming a powerful, extensible, highly modular pool of services to be used cooperatively and internationally. References 1. Curbera, F., Nagy, W. A., and Weerawarana, S.: Web Services: Why and How? Proc. OOPSLA 2001 (Workshop on Object-Oriented Web Services), Tampa, Florida (2001). 2. Derntl, M. and Motschnig-Pitrik, R.: The Role of Structure, Patterns, and People in Blended Learning. The Internet and Higher Education 8 (to appear). 3. European Union, Information Society: Free and Open Source Software. http://europa.eu.int/information society/activities/opensource/ [last access February 16, 2005]. 4. Free Software Foundation: General Public License (GPL). http://www.fsf.org/licensing/licenses/gpl.html [last access February 16, 2005]. 5. Free Software Foundation: Lesser General Public License (LGPL). http://www.fsf.org/licensing/licenses/lgpl.html [last access February 16, 2005]. 6. Mangler, J. and Derntl, M.: CEWebS - Cooperative Environment Web Services. Proc. 4th International Conference on Knowledge Management (I-KNOW 04), Graz, Austria (2004). 7. Motschnig-Pitrik, R. and Holzinger, A.: Student-Centered Teaching Meets New Media: Concept and Case Study. Journal of Educational Technology and Society 5 (2002) 160-172. 8. Rogers, C. R.: Freedom to Learn for the 80 s. Charles E. Merrill Publishing Company, Columbus, Ohio (1983). 9. WebCT Incorporated: WebCT. http://www.webct.com/ [last access September 17, 2004].