User interfaces
The two predominant GUIs are the 2.0 style, and the 'Toaster-look'.
(While I'm not a big fan of the Toaster look, it is a popular platform,
and people have become used to its shaded buttons. PixPro may not have
much of a GUI, but it's closer to what the target audience is expecting.)
There are a number of other 'roll your own' looks, but most new
development seems to be follwing one of those 2 styles.
I don't know what kind of coder RJ was, but he was a nice guy. I was a
game tester during the development stage of Lynx – I was there the day
Atari forced Epyx out of business. (One might question why you're using
his _5+ year old_ code in your project anyway?)
OK, I'm gonna fire up IC+ (v2.0 mind you), and give you my impressions:
1. NO MENU: Like it or not, you really _should_ provide menu equivalents &
hot keys (menus are a great help tool for the user to remember which hot
key corresponds to which funstion) for common functions like Load, Save,
Start, Load Modules, etc. (& given that there's lots of shareware out
there with menu structures, you won't get much compassion from me about
'how hard it is' to do menus. Is this another limitation imposed by 1.3
compatibility?)
2. On-line help: Pushing the help key brings up an about box. Wow. How
about something more 'helpful'? (Well, at least I now know who to curse at
for coding such a painful interface. :^)
3. Look & Feel: Totally inconsistent. Arrow gadgets overflow their
bounding box. Some buttons have a 2.0 look, while most do not. Disk,
Drawer, & File selection is all bass-ackwards and does not conform to any
UI I've seen in recent years. This 'Next Disk' thingie is a waste of real
estate (What about all my ASSIGNS?). (This is a perfect place for the ASL!
Just invoke it to fill a std pathname field, and a std filename field.
Lose the file requester from your control panel – it's unnecessary with an
ASL requester.) The 'Disk' requester for the destination file is similarly
obfuscated-it should _at least_ behave the same way as your source
requester. In general, all the fields should be at least twice as long,
especially for pathname. (There seems to be alot of wasted real estate
[like the 1/2" of greyness seprating the 2 sides of your control panel.
Huh, no borders, no graphic seperators, just greyness….] that could be
put to better use.)
(BTW, I just noticed that when I scale the window w/ the sizing gadget,
your control panel overwrites the borders of the window until the system
redraws them for you.)
4. Loader/Saver modules: The dinky, micro-window that shows about 4-5
lines of modules doesn't make sense. This is one of the key parts of your
program, but it looks like it was added as an afterthought.
5. Why do I have to use ICP_Start? I should be able to load the modules as
a group from within ICP. This does not appear to be possible.
6. System message window: No scroll bar?!? Also, why do I get info about
which loaders are being invoked in a std output window, not your System
Message window?
7. Stop button: All I can say is get an artist.
In all, you've got a really great product that is hampered by a 'cheesy'
interface. Your quote 'users are ready and willing to overlook major
failures in …products…' is quite true. Let me turn it around:
I walk into the store. I'm looking to buy a conversion program. I try
product A that has a nice GUI that I am familiar with. I then try Program
B. It looks like it's got some nice features, but I'll be dammed if I can
figure out how to use it! Which do you think I'm going to walk out with?
People _will_ ignore major features and benefits, just because they're
used to using a certain thing. Windows and the Mac are perfect examples of
this – people will buy things they can use easily and without frustration,
they don't wan't to have to spend time learning _yet another_ person's
idea of the 'perfect interface.'
The standardization of application interface is one of the key reasons
these platforms have caught on. People who would argue that they are
'constrained' by these standards have not examined the many ways these
standards can be implimented, yet retain a general conformance to the
predominant GUI style.
Oh well, just my $.02. Don't take it too personally. You're not the only
programmer I have thrown barbs at – I was bashing Ben awhile back for his
decidedly 'unique' choice of interface for ImageMaster. (I was a full-time
game tester for several years, so I'm a professional whiner. :^)
Thanks for listening,
Erik Flom