Last month, when the National Center for Open Source and Education announced this year's FOSS and K-12 Education Awards, three of the five awards were given for software designed for the Linux Terminal Service Project (LTSP). Two were given to Eric Harrison and Paul Nelson, the founders of the K12LTSP distribution (now called K-12 Linux). The third was given to Robert Arkiletian, the developer of an administration application called Fl_TeacherTool that is designed specifically for K12LTSP. The award was only the latest acclaim for Fl_TeacherTool, which has a small but dedicated group of users in the classroom. Ironically, though, the award comes at a time when the tiny project faces significant challenges if it is to survive.
Talking at a high school teachers' professional development day in Vancouver, Canada, Arkiletian explains that Fl_TeacherTool was inspired by an earlier application called TeacherTool. "It was rudimentary and didn't have many features," Arkiletian says. "A lot of people on the K12LTSP list started saying that they wished they could have the tool able to scroll. At the time, I was learning to program GUIs, so I decided to write my own version."
Although he used none of the original program's code, Arkiletian named his version in homage to it, adding the prefix to reference the Fast Light Toolkit in which it was written.
Remembering the first release in September 2005, Arkiletian says, "It had a very nice reception." Since then, 11 other releases have followed, often in summer or on school holidays, since Arkiletian is a high school computer science teacher at Eric Hamber Secondary in Vancouver, Canada.
A collection of functions
Fl_TeacherTool uses pre-existing applications as the basis for many of its features, including VNC Reflector, VNC Snapshot, RealVNC, ImageMagick, and gThumb. In this sense, Fl_TeacherTool is partly a control center -- designed mainly for teachers, but useful for anyone managing a thin client system, such as a manager of an Internet cafÃÂ© who might want to monitor users' activities or interact with them.
The main window of Fl_TeacherTool is a list of clients that are logged in, with function buttons arrayed to the left. The list also displays the amount of memory that each client is using, as well as how long each user has been logged in. These features are important because memory usage is often an issue on thin client systems. Clients that are suddenly using more memory than anyone else may be doing something that they shouldn't, such as watching a video. Similarly, in a public or semi-public setting, a user logged in for a long period may have forgotten to log off, tying up resources that other users might need. Administrators must refresh the list from time to time, since it is not updated automatically with new logins.
The first time a teacher uses Fl_TeacherTool, the first thing he will probably want to do is go to the File menu to collect a list of MAC addresses of clients, and save them to a file so that he can add them to the program's configuration file. Alternatively, you can display each client's MAC address in an information window, which can help you physically locate it as you walk about. Administrators can organize clients into groups -- for instance, when a lab is being used by students of different grades -- or into different rooms, which can help in deciding what is appropriate behavior on each client.
To use Fl_TeacherTool, all you need to do is select one or more clients from the list of those logged on, then choose a function to apply to them. One handy function, just added in the recent 0.62 release, is Snapshot, which produces a scrollable array of thumbnails of client desktops in the number of columns that you set -- giving you a quick way to monitor each active client. If you see a screen that you want to investigate more closely, you can click to see a closer view, and choose actions to apply to the client from a right-click menu.
Another way to view activity on the system is to click the List function to see a display of running processes, color-coded by client. You can then use Find to learn which clients are running a process, so you can learn whether those logged in are doing what you expect, or whether they are running programs you would prefer not to have on the system. If necessary, you can use Lock to log a client off -- perhaps prefacing it with a message explaining what is happening. While users can easily log in again, this puts them on notice that their activities have not gone unremarked.
However, by far the strongest features of Fl_TeacherTool are the various ways to interact with clients to enhance instruction. Administrators can send files or messages in a dialog to selected clients to warn, inform, or illustrate. Using Control, they can take over a client, not simply to shut down a program that shouldn't be running, but to illustrate how to do something without the awkwardness of physically going over to the client and trying to use the keyboard while a user looks on. In much the same way, using the Broadcast function, the administrator can send the same window to each client, eliminating the need for handouts or an overhead project. Similarly, should a user do something you want others to see, the Spotlight feature gives the user the ability to broadcast themselves, making the interaction two-way to a limited extent.
Perhaps the best news is that students like the system. Seema Ali, a computer science teacher at Killarney Second School in Vancouver, who values Fl_TeacherTool for its pedagogical advantages, says, "The kids enjoy it. Every time I start it up, they go, 'Oh, I'm being hacked!' because of the broadcast feature. And the kids get a kick out of it when you catch them. They laugh at each other."
Despite its acclaim, Fl_TeacherTool faces significant challenges if it is to survive. For one thing, although FLTK is adding UTF-8 support in its latest release, thanks largely to Arkiletian's lobbying, the current version of Fl_TeacherTool lacks it. For another, the application is specific to K12LTSP, and difficult to convert for widespread use. And, as if that were not enough, Arkiletian is delaying the patching of a password vulnerability as K12LTSP passes from development by its founders to being a Red Hat Project, leaving Fl_TeacherTool specific to an older version of the distribution. With such problems, Arkiletian thinks that potential users may prefer the rival iTALC project, even though his program otherwise compares favorably to it.
Nor are such problems helped by the fact that Arkiletian is not only a teacher, but the father of two young children, and has less time to devote to Fl_TeacherTool than he might like. In fact, one reason he agreed to demonstrate his work for this article was the hope that other developers might come forward to assist him.
Arkiletian can take some comfort in the fact that, since Fl_TeacherTool is released under the GNU General Public License, it will never really be lost. All the same, it seems a cruel irony that the application's future should be so clouded just when it is receiving such widespread recognition.