From J Wiki
Jump to navigation Jump to search

The NYCJUG backup project is intended to be an easy-to-use way for people to back up their work. It aims to be both accessible by novices but useful for advanced users as well. In light of the aim to be accessible by novices, we are calling the system "Save Work" because we think this is how most people will think of what they are trying to accomplish.

The dual aim, at both the novice and advanced user, is ambitious especially as interfaces for either tend to go in opposite directions: novices are more comfortable with simple GUIs whereas advanced users often want the flexibility of a command-line interface (CLI). However, I have worked with at least one system that satisfied both of these needs: the interface to the IBM Unix (AIX) workstations of a decade or so ago. These had a character-based, pseudo-GUI to help system administrators handle necessary but infrequent tasks like adding new hard-disks to the file system. This pseudo-GUI presented lists of allowable parameters and, once a set was selected, generated a command line encapsulating the choices.

An immediate motivation for the Save Work package is having had a friend who lost all her recent work due to a hard-drive failure of a relatively new laptop. Like most people, she had not backed up her work; this oversight seems to continue to be ubiquitous. I know I'm unusual in this regard due to having been burned numerous times over the course of the past 34 years: I back up religiously. I do so using a simple system, written in J, I've refined over the years. However, the system is not ready for general use - it lacks accommodation for novices.

So, using this time-tested core of code, I'd like the group to help with two major areas: developing a flexible GUI and incorporating this GUI with some kind of command-line generator to aid the advanced user. Some more thoughts on this and on user-interface design in general can be found among the NYCJUG meeting notes at [[[NYCJUG/2005-05-10#Interface|Design]]]; also, work on combining the GUI with the command line can be found at [[[NYCJUG/2005-06-14#Combining|GUI with Command-line]]]

Here's an outline of the project as originally conceived: [1]