:: 19-Sep-1999 13:23 (Sunday) ::
As some of you have noticed, the classic “win32gui” clients have
recently been removed from the clients.html and select.cgi link pages.
The separate “GUI” client was originally deemed necessary because the
only alternative was a console-based version that had a number of
significant limitations:
– required significant user involvement for installation.
– no user interface for client configuration.
– could not be used in environments needing an unobtrusive, hidden
mode of operation that did not interrupt normal logouts
– inability to minimize to the system tray
– no extras, such as “moo sounds” or “log graphing” or pretty
percentage bars.
HOW IT WAS
———-
We have maintained separate releases of both the GUI and CLI Win32
clients for quite awhile now, with our client development focused
around the common CLI-based source code, and the GUI client involving
a fair amount of clever wrappers around it. Although this made
development of the separate versions easier than they would have been
otherwise, there was always a significant delay in the release of the
Win32GUI relative to the equivalent Win32CLI. Additionally, the GUI
client has always suffered from numerous obscure operational bugs
ranging from benign to severe issues.
Meanwhile, each newer release of the common code-base tried to make
incremental code infrastructure changes. This new infrastructure made
construction of other “GUI wrappers” with less effort than what was
necessary to produce the level of integration that the Win32GUI had.
However, because of these major adjustments in the organization of the
common code-base, the Win32GUI began to lag even further behind and
grew kludgier since much of the back-bending efforts that were
previously necessary no longer were. The Win32GUI portion of the code
base really just needed a complete rewrite.
Additionally, the Win32CLI releases had slowly been getting enhanced
with each successive release. The Win32CLI was no longer a console
app at all, and had actually become a GUI-based application itself. A
reasonably friendly textual configuration menu-set was now available
for all clients derived from the common code-base. The Win32CLI was
also able to cleanly start and stop in hidden environments, run as an
NT service, or minimize itself to the system tray. More importantly,
since the new “GUI-ish CLI” was directly compiled from the common
code-base, and the Win32CLI was traditionally one of our primary
development environments, the release delays and obscure GUI-specific
bugs were minimized.
WHAT IS HAPPENING NOW
———————
A new “self-installer” version of the Win32CLI will now be available
for download to make installations simplified. This installer is
nearly identical to the installer that the Win32GUI came packaged in.
Significant effort has been put into making “upgrading” from a prior
Win32GUI installation easy.
The Win32CLI will also now ship with a WinHelp HLP file to make
introductions easier for first time users. Additionally, the
distributed.net Log Visualizer is a new utility that is based heavily
upon code derived from the log grapher portion of the Win32GUI. Full
source code for the Log Visualizer will be available for download on
our source code page.
Although the last released version of the Win32GUI will continue to
operate for the foreseeable future, there will be no newer versions of it
released, and support questions regarding it will generally recommend
switching to the CLI. The Win32GUI will continue to be available on
our FTP distribution sites, although it will not be in the
“current-clients” directory.
We will continue to list and support GUI clients for the other
operating systems that we currently provide separate GUI clients for
(MacOS and RiscOS), however they too will similarly become unnecessary
once our plans (described below) are fully completed.
THE FUTURE
———-
It had always been part of our plans to try to slowly move away from
producing a separate GUI and CLI versions. This included the Win32GUI
and Win32CLI, the MacOS GUI and FBA clients, OS/2 GUI and CLI clients,
RiscOS GUI and CLI, and possible X11/Gnome/etc-based clients.
Instead, we planned to create “detached” front-end GUI applications
that could be run alongside the traditional CLI clients. This would
prevent the complexity of various OS-specific GUI programming
requirements from affect the design of the common client source pool.
Additionally, this detached mechanism might allow for remote
configuration and monitoring to occur over a local network, which has
always been a popularly requested feature for our clients.
So with all of this said, we will now be diverting our efforts from
attempting to maintain separate GUI-specific versions of our clients
and toward achieving our separated GUI frontend and CLI back-end
model. We are beginning development of an extensible communications
interface that will allow multi-platform GUI configuration utilities
to be constructed and arbitrarily configure and monitor remote or
local clients. The projected availablilty of these new clients cannot
be easily estimated at this time, though we will definitely make
future announcements when further information is known.