Developer Roadshows/Events/wa/Tracks/KewlNextGen
Challenge: build on this (see http://avoir.uwc.ac.za chisimba.com).
The following notes reflect the work done during the event.
Contents
Team Members
Megan Watson – Team Leader | |
Henry Ado | Osman Alhassan |
Victor Antwi | Maxwell S. Awuzu |
Ebenezer Bortsie | Christopher E. Edumadzie |
Mohamed Komara - eRiders Sierra Leone | Jonathan Kuranchie |
Reuben Mereku | Ernest Ngman-Wara |
Olusem Okmeye | Emmanuel Olutuase
Knowledge House Africa |
Kwadwo Gyamfi | Augustine Otoo |
Oliver Sintim-Aboagye | Nahmsath Y. |
This detailed document on Kewl.NextGen track was prepared by Kwadwo Gyamfi.
Introduction
The purpose of the KEWL.Nextgen track was to demonstrate some of the capabilities of educational software tools, encourage their use and development. Educators in the group found to their pleasant surprise that some of their needs can be met by one or more of the three hundred components already available in KEWL.Nextgen. Most of the components of the system were concerned with course management and included: creating courses, course content (e.g. study guides, lecture and study guides), communication (e.g. announcements, blogs and forums) and automated administration of assignments, quizzes and examinations.
Megan Watson, one of the developers for KEWL.Nextgen, also trained some of the participants in the creation of and customization of components to meet the needs of users. Educators suggested some additions or changes to the system for the newly trained KEWL.Nextgen developers. Some of the suggestions included customization of the interface for different institutions, tools to enable students’ quick access to course information, auto-saving and spellchecking while creating course content such as lecture notes, ability to provide feedback and comments between students and editors, and caching of online references so that students can view them when the internet connections are unavailable. With the exception of caching online content, implementing the other suggestions was simply a matter of locating the relevant components and customizing them if necessary.
New users and developers will also find available a lot of documentation and resources to get them started and going. Please visit kngforge.uwc.ac.za and cvs.uwc.ac.za to download or access documentation.
Motivation
There are two main goals in the Kewl.Nextgen track. One goal was to get people exposed to Kewl.Nextgen as a software tool in education, and to encourage development and customization of modules by software developers and programmers. Both goals are related since end users will use Kewl if there are modules or components that meet their needs. These needs have to be communicated to software developers so a user-base exists for the software product from the point of inception.
Approach
With the goals in mind, the approach in the group was to create roughly two sub-groups: users and developers. Two and a half days were available for work in the track. The first day was for familiarizing both users and developers with Kewl.Nextgen. On the second day, suggestions are made for adding or customizing Kewl modules and discussions are made to choose the best ideas and then to implement them. The third day was for finalizing documentation to enable future work using Kewl.
Implementation
Day One
Users spent the time activating and trying different modules. As the users did so, they became familiar with the interface, searched for solutions they could use, and documented suggestions for changes, updates and additions to the modules.
Developers started by learning how to install Kewl.Nextgen. To simplify installation, XXAMP was used. After installation, Watson took developers through tutorials in creating modules. Each developer went through creating a “Hello World” module, creation of forms and action pages, use of databases and internationalization. The Kewl website (cvs.uwc.ac.za) has documentation and source code for both users and developers.
Day Two
All group members met to discuss experiences with Kewl, and how to customize or add to it to meet their needs. It should be noted that most users were educators and therefore suggestions mostly had to do with that domain. Suggestions can be categorized into four groups 1) Automating of Administrative Tasks 2) Graphics 3) Communications 4) Internationalization/Localization and 5) Mirroring/Caching.
Automation of administrative tasks included creation and management of study guides, schedules, calendars, quizzes, examinations, submission of documents and support for spellchecking and autosaving while using text editors. Graphics was concerned with changing the look and feel of Kewl, including banners and icons, to match the institution using it. Communications was concerned with passing information between teachers and students, particularly in explaining grades and scores of particular students. Internationalization and/or localization had to do with customizing Kewl to display local language in Ghana. Mirroring and caching had to do with automating offline saving of referenced material to be used by students in the event of connectivity loss.
Evaluation
A table has been provided below to help organize the information from the track. The two main goals, familiarizing users and training developers, were met to some degree. Some of the users may for instance need help in installation or even activation of modules to meet their needs. Developers may be able to create simple modules, but they still have a lot to learn in terms of standards, finding what is already in there, and learning more of the Kinky Framework on which Kewl.Nextgen is based.
Category | Suggestion | Decision | Solution | Issues |
Automating administrative Tasks | Creating study guides | Modules already available | ||
Creating a calendar or schedule | Modules already available | |||
Creating a syllabus | Modules already available | |||
Creating references and links | Modules already available | |||
Creating online quizzes and examinations | Modules already available | Users should note the multiple choice quizzes can be graded by the system | ||
Submission of documents to the lecturer | Modules already available | |||
Registration of students | Module is available, but only allows Administrators to register students. Lecturers should be allowed to register students for courses. | This involved editing relevant modules to allow lecturers to register students. This was successfully completed.
The source code for the module can be found in RegistrationOfStudents.zip. Modules should be placed in the modules folder. |
||
Editing Text (e.g. essays) within Kewl to support autosave and spellchecking. | The editor used in Kewl is from www.fckeditor.net, and so instead of trying to add autosave and spellchecking, an email was sent to the creators of the editor to consider adding of those features. | |||
Student course management page | Educators wanted a page that gave students summary information on all courses they were currently taking. | There is already at least one module in the system that allows students to see all their courses. | ||
Communications | Feedback for quizzes, assignments, exams and other activities. | Kewl has modules for forums and blogs, but the educators wanted to be able to provide comments and feedback along with grades and allow students to provide responses and comments as well. | We did not have enough time to find solutions to this suggestion. | |
Graphics | Customizing the graphics to allow institutions to do branding. | Skins are supported in Kewl. | Watson took interested participants through creation of graphics.
The graphics skin created can be found in Customizing-Graphics.zip and should be placed in the skins folder of Kewl.Nextgen. |
Users have to make sure the size or dimensions of graphics match up with those already provided. |
Internationalization or Localization | Customizing Kewl for other languages | The Kinky Framework (upon which Kewl is based) already provides support for localization. | ||
Mirroring/ Caching | Mirroring external information (e.g. references) to allow access to information even when the internet or resource is unavailable | PHP supports calling of other programs, so we decided to use the GNU Licensed HTTrack to create mirrors of external resources. HTTrack source code, documentation and information can be found at www.httrack.com . | A simple module was created that allowed users to specify an external resource and then to call HTTrack in the background to do the mirroring.
The source code for the module can be found in Mirroring-External-Information.zip. Modules should be placed in the modules folder. Httrack has to be downloaded separately from the internet and is available for several operating systems. |
The prototype developed at the workshop was configured to download only the current page (i.e. did not follow links).
Two main issues are security (since an external program is being called) and legal issues (since mirroring of data may be subject to copyright laws). The issue of using HTTrack leads to many other issues of data management (e.g. timed downloads, sharing of data, versioning) that were not covered but worth considering in future. |
Summary
There is already a strong community of users and good documentation. It is believed that most new users are likely to continue using it given the enthusiasm shown. However, users cautioned that while educational software like Kewl.Nextgen has a lot of promise, some support to deploy and maintain the systems is a prerequisite.