[net.lang.forth] Forth Development stories

UMFORTH@WEIZMANN.BITNET (F.I.G.I.L) (02/25/86)

--------------------------------------------------------------------
Resent from the Figil Digest in the interest of the Forth Community

This is an interesting piece which was seen on another Digest:
From: INFO-MAC Digest     Sunday, 23 Feb 1986       Volume 4 : Issue 15

Date: Sat 22 Feb 86 14:47:33-PST
From: Gustavo Fernandez <FERNANDEZ@SU-SUSHI.ARPA>
Subject: MaxThink

Every time I go over to the local ComputerWare Mac-only software store in
Palo Alto, I never fail to be impressed by the volume of new Mac software
being introduced. I never failed to be equally amazed by the quantity of BAD
Mac software being introduced. I have a candidate for this month's Mac
software turkey award - MaxThink.

MaxThink is supposedly a new outline processor which is competing squarely
with ThinkTank. It has gotten many good reviews for its IBM version.
Unfortunately, the Mac version looks like an IBM program with a very thin
Mac "cover."

While at the store, the dealer allowed me to break the shrink wrap of one
of the copies and try it out. I took the disk, write protected it, stuck it
in a Mac Plus with a 20 meg SCSI drive on it, and double clicked on the
MaxThink icon. It came up with a single blank window and a single Apple
symbol in the menu bar. This was quickly replaced by a slightly larger
window with the MaxThink logo. Then this was erased, a full menu bar
appeared as well as a dialog which said "Please wait" followed immediately
by an error message printed in the main window "0000 0000 NO FILE" which
partially overwrote the dialog. The message was written in n ugly monospaced
font.

I had no choice but to reboot the system. This time, I copied all of the
files and folders on the diskette except for the system folder onto the hard
drive. I ejected the floppy and launched MaxThink, and got the same results
except that "0000 0000 NO FILE" was replaced by "&%$*&Y%R*&%$ NO FILE"

I then rebooted again, and checked what was on the disk. There was MaxThink,
the system folder, two example files, and a folder called "Don't touch."
I opened this folder and found inside a file called "Config.dvr" (?) and a
generic application icon called "MacJunk." What are these?

After having little success running the program from the MacPlus, I
finally gave up and un-write protected the disk. Finally, I got something
near reasonable results!

The program presented a ThinkTank-like outline, but still in that ugly
monospaced font which I saw the error message printed in. Not being an
outline processor expert, I tried to manipulate the outline using what
little I knew about using ThinkTank. Operations did not seem quite as
intuitive. For example, clicking on a header did NOT toggle expansion of
sub-topics.

The program presents a single movable window with a scroll bar but no
grow-box. I tried using the scroll bar and found that the program could not
scroll. It insists on re-drawing the entire screen every time you let
go of the mouse. The only feedback you get when you scroll is that the thumb
moves down.

The page-setup dialog was completely non-standard. It had a bunch of MaxThink
specific styler options which seemed to be very monospaced character/line
TTY oriented as opposed to more generally size/pixel oriented as we are used
to on most Mac programs. Also it used a "character graphics" oriented style
of selecting values for certain numeric quantities which is completely alien
to the Mac way of doing things. Not that it was necessarily bad, it just
looked "cheap" and implemented by someone who had his mind thoroughly
entrenched in a mono-spaced world.

I tried opening the two example documents and got reasonable results. Two
other files appeared in the Standard File dialog: "SPILL" and the
"Config.dvr" file I mentioned earlier. Opening one of these files caused the
machine to hang or to give the "NO FILE" error message. I had no choice
but to re-boot.

By this time, I could do nothing but laugh at how atrociously bad the
operation of this program was. I have no doubts that the IBM version is a
really nice outline processor, but the Mac version is one of the worst done
ports I have seen in recent months. The author tried to give his program a
"Macish" user interface without realizing that this work goes way beyond the
outermost shell and must be reflected in the innermost data structures. Gone
are the concepts of "character spacing." Replacing these are "Font Metric"
concepts from typesetting. On the Mac, you cannot get away with re-drawing
the entire screen after the slightest change. The author of MaxTHink seems
to have realized this problem, but too late, as is evident in the action of
the scroll bar.

There is no excuse for having cryptic error messages appear on the screen the
first thing that happens when you first run the program. This is simply
sloppy programming.

Perhaps some or all of these shortcomings have a partial explanation in that
the "About" dialog stated that the program was written in MasterForth. This
would certainly explain the anomalous window behavior at launch as the FORTH
runtime system gave way to the actual application. It would also explain the
unexplained files in the "Don't Touch" folder. My guess is that the
author of MaxThink relied too heavily on the facilities provided by his
chosen FORTH environment instead of on those provided by the Mac toolbox.

Nobody said that writing Mac applications is easy. Porting them is even
harder, as many of the base concepts are different and there are many new
issues that need to be faced by developers. It is up to us, the buying
public, to demand high quality software that takes full advantage of a high
quality machine and makes no compromises to old technology and inertia.

							Gus Fernandez
Acknowledge-To: F.I.G.I.L <UMFORTH@WEIZMANN>