% -*- TeX-master: "finaler.tex" -*-

\label{sec:lessons}

If we were to do this project again, we would probably delve deeper
into the design of the user interface from the beginning.  As it was,
we defined the interfaces between the public components of the user
interface packages, but did not specify up-front how these would be
designed internally.  The rest of the components were simple enough
that these public interfaces were sufficient to specify the design of
the components; however, this was not the case with the user
interface, which proved far more internally intricate than we had
expected (partially because Swing lacked some functionality that we
had assumed it would have).

