June & July, 1999
From the software development point of view, there are basically three major efforts that have been identified as currently essential to the development of the SignWriter program, as explained below.
1) Initial design and implementation
of the Graphical User Interface, or GUI.
The initial GUI design involved specifying the "look and feel", and placement, of hundreds of GUI objects and elements displayed across more than a dozen different user interface screens. Ultimately, many of the GUI elements would be populated with graphic images supplied by Valerie Sutton. This initial GUI design was accomplished and implemented by a series of design steps that included a) Several face to face meetings with Valerie Sutton to: plan and discuss design issues; demonstrate completed designs that could be run at the time; and to confer on design changes. b) Many back and forth email communications on design changes and issues. c) Writing, testing, debugging and rewriting code to implement the designs. All of these steps were performed as needed and in an iterative fashion (i.e., design - implement - review - redesign) and, now to a small degree, are ongoing.
...the first screen you see, as SignWriter 5.0 opens....
Although the code implementing of this initial GUI design is now pretty much static, the code that allows the user to use the GUI to interact with the program, and to control the running of the program (all essentially know as "GUI funtionality"), is still under development and has undergone much more recent and dramatic changes in design, as we, both Valerie and I, learn and become more aware of user needs in this multi-language, flexible GUI incarnation of the SignWriter program. While much of the GUI functionality is currently complete, much more needs to be designed and implemented, most notably when the program's typing functionality is addressed.
2) Program setup and configuration.
This effort has required, and continues to require, iterative design and implementation stages similar in nature to those mentioned above for the GUI, with the exception that much less face to face meeting is necessary. And, although the efforts appear to manifest themselves on only a small number of specialized "setup" screens, each choice actually affects the look and feel of many of the GUI screens referred to above.
If we consider SignWriter, a sign language processor, to be
functionally similar (as it is) to a commercial software word
processor, say, Microsoft Word, then think of setting up Microsoft
Word to run in up to ten (10) different languages (10 languages
chosen out of a possible 50 that are made available programmatically)
in any one running of the Word program. This is the degree of
flexibility and usefulness being designed into SignWriter.
This functionality has undergone a couple of major design
changes as we learn more about, and consider, what may be not
only useful and flexible, but necessary and appropriate to the
user population. The program design makes extensive use of Java's
ResourceBundle and Locale classes so that Valerie Sutton can
ship a software product that can configure itself based upon
the user's choices and a set of setup files customized by Valerie
Sutton, all without a dependence upon technical programming support.
3) Typing functionality.