Design Goal Overview
Primary Goal: create a set of Plasma components that can be used with a stock Plasma Desktop to make it a more manageable and useful environment for use in learning environments led by an instructor.
Design Concepts Overview
Plasma Classroom Network: A local area network consisting of one leader system and one or more participant systems.
Participant System: a computer running Plasma Desktop + Classroom components used by a student in the class. When part of a Plasma Classroom Network, a participant system has a list of Activities made available to it from and reports usage information to the leader system.
Leader System: the computer that orchestrates the activities on the participant systems and receives usage event information back from the participant systems. The leader system announces itself on the network using (zeroconf?)
Classroom Server: the computer system where the usage data, activity definitions and student information is kept. This may or may not be on the leader system. The leader system proxies information to and from the classroom server to participant systems.
Activity Sets: the leader system defines the currently available activity sets. These are made available as standard Plasma configuration files along with a name, icon and description (.desktop file? ship them over the network as Plasma packages?). Students on participant systems can then select between the available activities using the activity manager, or the leader system can set the activity for them.
Classroom Activity Sets
At the heart of the Plasma Classroom experience for students will be the Classroom Containment and DataEngine.
The Classroom DataEngine will provide a persistent connection to the leader system, sending a "heartbeat" ping (once a second?) so that disconnects can be caught reliably. The DataEngine will take the user's log in ID and query the leader system for the activities, notes, etc. for that student. Widgets can then access this information to show it to the student.
The Classroom Containment will what all Classroom Activities use and it will provide easy access to the activity manager (if allowed) as well as show the student name in an always-open toolbox.
The Classroom containment will send updates to the leader system when it becomes the current activity and what the participant does: files opened, applications launched, widgets used.
Whether to start completely from scratch or to base this on the newspaper or desktop containment remains to be seen.
Remote Access To Activities
Switching Between Activities Using Plasma-Desktop's Activity Manager
Classroom Participant Information
A participant information DataEngine that speaks to the Leader System and fetches information such as the participant's ID, file locations, etc. This can then be used by all the widgets to customize content, URLs, etc.
It would also list all activities currently available to the student and send heartbeat pings back to the leader system every second (more? less?) so the leader system can track which systems are connected or not.
This DataEngine will also provide a Service that can report events back to the teacher's computer. This can be used by widgets to note when certain actions occur, such as launching an application or opening a document.
The calendar dataengine should be able to reach information from the teacher's computer. This implies having some automatic configuration between calendars on the teacher's system and the student's system via Akonadi.
Simple launcher showing sets of files and applications.
Listing of work items the student has for that class and their status (grade, submission status, future due dates).
The student should also be able to added their own entries, such as todo's, to this.
Live Classroom Status
Moving From KDE 3
Linux Educacional 3 (LE3) is a Brazilian distro packaged by the SEED team at the Ministry of Education and installed on thousands of computer labs on the public education system. The current version is based on KDE3.5.
The SEED team contacted us (KDE) to establish a partnership, starting with the migration to a KDE4-based desktop in the next release. The intention is to work upstream whenever possible: the next generation of the LE desktop will not be a distro remix, but instead will be delivered as a customized educational desktop environment, via Plasma configuration files and (if necessary) custom plasmoids as well.
Preliminary specs call for a "compatibility mode", where we will try to offer a desktop environment that mimics what is currently in LE3.
For the "legacy" interface we need to find a replacement for the Edubar. This is a Java-based menu applet that sits on top of the desktop area, providing access to a pre-selected set of applications and documents. It might be possible to provide this via a Plasma configuration file and using several Application Launcher Menus (to be investigated.) A package with screenshots and png versions of the icons in LE3 can be downloaded from here.
During the akademy BoF we discussed the possibility of also offering a second choice of desktop configured as an activity, and based on the Search and Launch paradigm. The availability of multiple options would alleviate the problems associated with a transition from the traditional desktop metaphor, while at the same time providing us with the opportunity of experimenting with alternative designs for the educational desktop.
The same feature and look&fell can be achieved by using a Plasma panel (set up with 'windows can go over') at the top with 5 plasmoids "Application Launcher". Then it's just a matter of editing the menu you want it to show and changing the icon. Just a fast test with the icons provided by the icon above resulted in the following screenshot: