Author: Richard A. Fowell (fowell@netcom.com)
Date: 15:45:34 08/07/99
Go up one level in this thread
On August 07, 1999 at 13:09:53, Zachariah Amela wrote:
>First, I would like to thank you for reading this post. I have a number of
>question that perhaps you can answer. I believe I am correct in assuming that
>the majority of our posters are quite experienced with a number of chess
>programs. With that experience you can provide me with valuable insight.
>
>A colleague and myself are in the midst of writing a chess interface program.
>The app is being developed in VB 5.0 and VC++ 5.0.
>
>This program is designed to allow users to play chess over a variety of mediums.
> That being direct dial-up, via Internet, parsed e-mail, over a network, via a
>serial link and so on. The idea being that one of the greatest joys of chess is
>the ability to easily play a fellow human. The ability to do so regardless of
>equipment and the ability to play independently of the bustling chess servers.
>The servers are wonderful, but sometimes it is better to play your friend,
>co-worker, spouse, associate, family member, etc., without the crowds.
A worthy idea. If I make an "electronic" interface suggestion - try to make
this compatible with as many as possible of the existing "electronic
interfaces".
Think not only about your "front end", but also your "back end" -
a great "human to software" interface, and also a great
"software to software" interface.
At a minimum, I think you want your program to be able to do what WinBoard
(which is this type of program) can:
http://www.research.digital.com/SRC/personal/Tim_Mann/chess.html
Note the "Cmail" possibility here for email chess games
That should greatly aid your product in getting started - the big issue with
human-human interfaces is in finding someone to play - if your product will
work with products that a lot of people have already, then it becomes much
more attractive. If you try to "go it alone" with a new electronic interface,
then it will be much less useful to users. Think "critical mass", think
"synergy".
I have several "human-human only" programs for the Mac, and I've had a lot of
trouble finding people to play. I found one, once. Hmmm ... actually - two -
I played my wife (she was in the next room, on her computer) once. Mind you,
I rarely play on the servers, either - usually just in the process of reviewing
a new server client. Also, if as a user, I have a great interface for
human-human play, I'd prefer not to have to have to become accustomed to a
second interface for server play, a third for playing against a computer,
a fourth for viewing PGN games, etc.
So, I would suggest you try to be compatible with the dominant protocols for
each type of connection, which I think may be:
* Dialup: the BattleChess interface (Used by BattleChess PC/Mac,
CheckMate (Mac only) and perhaps others.
* Serial: the Auto232 interface
* Engine: Winboard (PC) and ExaChess (Mac)
* Chess Server: FICS and ICC
* Web: Provide some way that people can set up a computer "game server", where
they can leave their computer on the Net with a chess engine, and people
using this interface can link in and play it. There are a couple of sites
like that now.
* Peer-Peer network: "Chessworks" for the Mac
(at: http://www.nearside.com/EkimSW/ChessWorks/) is the most popular
I know of on the Mac side - I should imagine there are PC/Unix ones).
* ICQ and "instant messaging" play capability is a nice thought, too.
* Games: PGN
* Positions: EPD
* email: "Cmail" compatible (see above)
That way, your product will be useful to a broader audience. Note that people
are concerned about whether they are playing a robot masquerading as a human,
so some sort of indicator that an engine is in use (force a "(C)" in the name
displayed, for example) might help allay those concerns.
>
>My question is about interfaces. My question is two fold:
>
>Question One
>What type of interfaces do you truly love?
Before getting into my (longwinded) preferences, let me point to some
online resources that may be helpful:
============================
Other writeups on interfaces
============================
I would like to point out
two detailed discussions on the Web about:
- Why the ZIICS interface is wonderful:
http://www.inficad.com/~ecollins/ziics.htm
- Why the WinBoard interface is wonderful:
http://www.inficad.com/~ecollins/winboard.htm
These should be of great help to you, since they are precisely the thing
you seem to be interested in - a discussion of what makes a good interface
by an experienced user who has used many.
======================================
Lots of interface examples on the Web
======================================
Links to screenshots of over 20 commercial chess programs are at:
http://www.gambitsoft.com/gambit2e.htm
There are also links to many screen shot and menu shot links at this site:
http://www.internetchess.com/software.shtml - here are some I'd like
you to particularly see:
Sigma Chess: (My vote for best pieces and board squares)
screen shot: http://www.internetchess.com/images/screenshots/sigma.gif
menus: http://www.internetchess.com/images/screenshots/sigma.gif
3D set: http://www.internetchess.com/images/screenshots/sigma3d.gif
HIARCS (good choice of board colors)
screen shot: http://www.internetchess.com/images/screenshots/hiarcs7.gif
menus: http://www.internetchess.com/images/screenshots/h7menus.gif
MacChess (handdrawn "American" style set at 48x48 pixels)
screen shot: http://www.internetchess.com/images/screenshots/macchess.gif
menus: http://www.internetchess.com/images/screenshots/mc5menus.gif
=======================================================================
There's a lot to an interface. A screenshot of my favorite overall interface
is that of the Mac freeware program Sigma Chess 4.02 Lite, online at:
http://users.cybercity.dk/~bst10651/Sigma2Dfull.jpg
(the home page is http://users.cybercity.dk/~bst10651/)
Particular points about this interface (features marked with (*) are
present but not apparent in the screenshot, features marked with (#) aren't
present in this program)
Pieces:
- 2D set, very faithful to what I am used to in chess books and magazines
- thin white border around pieces helps them stand out
- subtle embossed effect adds a little "pizzaz" without harming readability.
* "Profile", "diagram" and "3D" sets available
* "diagram" sets come in "European" and "American", in B/W and "shaded"
Board:
- good contrast with both White and Black pieces, neutral and unobtrusive
Controls:
* onscreen menu bar with online help if you "hold down" on a button
(note that triggering help by "hovering" as well is good -
hold down is faster, hovering is less effort)
- Each control is available as:
- onscreen button/popup menu
- menu bar pulldown
- keyboard shortcut
# scriptable (e.g., AppleScript on Mac)
Import/Export features
* games can be exported in PGN by
* saving as file
# copying to clipboard
# dragging to another "drag 'n drop" application
* games can be imported in PGN by
* reading file
# pasting from clipboard
# dragging and dropping from another application
* EPD position import/export as for PGN: 3 ways to export, 3 ways to import
* can print games with diagrams
Customizability
I usually find that the importance of customizability is inverse to the
excellence of the interface design. Chessmaster 4000 is extremely
customizable-
you can create your own piece set, define and save your own layout. For
Chessmaster 4000, I felt that this was a very good feature - because none of
the (many) piece sets and predefined layouts were remotely acceptable to me.
For Sigma Chess (above) I don't care about creating my own boards or sets -
there are six builtin sets, of which I find four acceptable, and one (the
one above) excellent, and there are six 2D boards, of which I like one,
so I'm fine. [Note: for those that wish, the Sigma Chess sets and board
patterns can be customized using ResEdit to insert your own sets and board
patterns]
Ideally, your default pieces/board/layout should be that preferred by most
users (and probably biased towards the preferences of the inexperienced),
and it should be easy for the users to select and save pieces/board/layout
between a small set of well-designed choices that will cover 99% of the users.
The ability for the user to define their own piece/board/layout should be
there, but you'd definitely like to hear during beta testing if anyone felt
the desire to use it, and cover their concerns with a well-designed builtin.
Why should your users have to be good piece designers/board designers?
Certainly, the program should come with a selection of nice sets and board
patterns, but to cover the variations in taste, not as a peace offering for
the author's inability to make a decent set and board. Very, very few users
will have the energy, and even fewer the skill, to make their own nice set
and board color combination.
- I have many programs that will let me:
Pieces:
- choose amongst builtin sets
- add my own sets
Board
- choose amongst builtin patterns/colors
- design and add my own patterns
- select colors from a palette.
Resize board
(most of these use pieces in TrueType format - please don't ONLY
support this type of piece, though)
The same thing goes for interfaces where the user gets to select the
layout (like in Chessmaster 4000) - in some since it is a saving grace,
because it is the only way I can make the thing palatable for me, but
I resent having to be the one to create a reasonable layout. If they
had provided, say, several nice layouts in addition to letting me
define my own, I'd have felt more kindly towards it.
>Which ones do you truly hate? Most
>importantly, why?
Chessmaster 4000
- ornate sets where I can't tell what pieces I'm looking at
(mind you <sigh> it seems that many people like gaudy, ornate sets )
- non-standard, glitzy screen controls
- What interfaces feel NATURAL?
For moving my pieces, my preferences (in order) are
a) Move piece on physical set, registered by computer through serial cable
b) "smart" move (click on target square, interface highlights the
piece most likely to go there, release mouse to accept, shift
mouse in direction of desired piece otherwise)
c) click and drag
d) click source piece, click destination piece
e) keyboard entered moves
f) computer picks both source and destination (chess engine)
My vote is - support all of these. Note that RChess supports both (c) and
(d) transparently (autodetect), which is a nice standard to aspire to,
and, in fact, a-e can probably all be serviced simultaneously in an
"autodetect" mode, without any need for the user to change settings.
>Which don’t?
I'm not personally a great fan of "e", but I don't know that this is
an issue - I think support of all, and autodetect, is the way to go.
I also have yet to see a 3D screen set where pieces didn't get largely
obscured by other pieces on occasion.
>How does this affect your playing?
The piece set and board have a major effect on my play, especially blitz.
When I can't:
- tell what piece I'm looking at
- don't notice the Black piece hidden by the dark square.
- don't see the White piece blending into the White square
- can't easily distinguish between pieces in my peripheral vision
... I blunder. It is as simple as that. I remember I spent an hour on
an online problem displayed in CM4000's most acceptable 2D set, in
error, since I mistook a Red Queen for a Red Bishop (or vice versa).
For the better or the worse? Do you rely on the computer
>for your view, or do you have a "real" chess set next to your terminal or
>computer?
For play, I rely on the computer.
For study, in my tournament days (>1300 tournament games), I found that
study with physical pieces seemed much better than books. Therefore, I think
that, if I were to study seriously again, a "real" chess set would be better.
However, lacking an interface board ... shrug.
> Which OS offers the best interface, in your opinion?
In general? Or for chess? I'm partial to the Mac (Mac at home, NT at work),
but that seems a bit irrelevant to this discussion. If you are asking about
chess interfaces, I think the Sigma Chess 4.02 interface above is the best
I've seen overall, but my experience with PC chess is rather limited - I've
used Rebel Decade, Gromit and Chess Mentor, and seen screen displays of the
major chess programs at the Gambitsoft site, but that isn't much.
>
>Question Two
>Suggestions! What would you most like to see in a chess interface?
I think I've hit most of the highlights above. However, I'll point out
some things in the set/board category.
1) Piece sets:
Note: the best description of these is a picture.
Also, chess fonts are an easy way to support resizable boards.
Note that I think that the best sets are hand-drawn/optimized, and
the interface should offer a few in both a small size (for older screens
as small as 640x400) and a larger size (for the 1600x1200 screen crowd).
MacChess 5.01 does this.
Here are a few sites where you can view and/or download chess fonts:
- images of full board setup with each font (not antialiased),
with font download link: http://www.szachy.pl/czcionki/index.html
- images of full piece sets, antialiased:
http://world.std.com/~wij/fixation/chess-sets.html
(Note: antialiasing is easily done with many graphics programs, and I
think it makes the pieces much more legible, but others call is "fuzzy").
- images of two pieces from each font (not antialiased), download links
and some background:
http://www.enpassant.dk/chess/dtpeng.htm
- The site for the commercial Alpine chess fonts (Hastings, Linares, Zurich)
http://www.partae.com/
I would suggest that you provide at least 3 traditional 2D sets, one each
from the following families:
a) turn of the century, e.g.:
Chess Leipzig, Chess Kingdom,MacChess Classical, Alpine Hastings)
b) American (e.g., Alpine Linares, MacChess American, the Sigma Chess set
above)
c) European (e.g.,
1Echecs, Chess Assistant, Alpine Zurich, MacChess Zuerich)
d) Modern, "clean" font, e.g.
Alpha, Cheq
An example of a program that follows that advice is MacChess - the five
(small) MacChess sets are shown here:
http://members.aol.com/Macchess/fivesets.html
and the first, second, and last sets correspond to a, b, c
Permissions/Legalities
The use of fonts, as fonts, I understand to be subject to copyright
restriction in most countries, so some research is probably in order.
The site: http://www.enpassant.dk/chess/dtpeng.htm does a better job
at helping you track down the font author than most.
Another approach is to simply make bitmaps from the fonts, in the sizes
you want to support. This also helps avoid getting entangled in operating
systems issues. I've been told by several non-lawyers that use of
such bitmaps is not a copyright issue in the U.S., but I've also been told
the situation is different in Europe. You'd probably be best served by
either getting permission, or consulting with an intellectual property
lawyer.
Myself, I drew up my own pieces, using existing diagrams as guides,
to avoid such issues, and I think the nicest looking piece sets
(the MacChess "Classical" set and the set in Sigma Chess) are those
that take that approach. With existing examples from chess books, the
fonts above, and the MacChess and Sigma Chess sets as guides, I think
that this is the best way to produce the nicest set, especially since
you have the opportunity to use color to good advantage (though, using
colored text and the fonts may be an option).
>options would your prefer? What would help you play?
I definitely want something to help me see which piece was moved last.
Especially in blitz, I don't want to blink and miss something. Seeing
the piece glide into place is a good thing (though you want to be able
to adjust the speed to avoid losing precious time in blitz/bullet)
but some sort of highlighting, and audible alarm should be an option as well)
> What would help guard against eye fatigue?
Good contrast between White & Black sets and White and Black squares,
with relatively dull colors (which should extend to the rest of the screen
as well). I think the board in:
http://users.cybercity.dk/~bst10651/Sigma2Dfull.jpg
is excellent, in that regard, though I think the board border is a bit
too much of a contrast. The Fritz screen at:
http://www.gambitsoft.com/chess/games/fritze.htm
is pretty good. The MacChess screen at
http://members.aol.com/Macchess/classical.html
makes good use of color to distinguish pieces and squares.
>
>What tools, programs, methods or fonts do you suggest?
See above - antialiasing, fonts, interfaces, etc. have been referenced.
> What resources do you suggest I review?
I've covered this above fairly well, I think.
> What tools have you used in your development?
>
>I plan to offer as many different boards/pieces as possible. What should be the
>top 5?
Note: if you are going to offer a LOT of styles, you might want to make the
menu "hierarchic", i.e., for sets:
"diagram" sets, "profile" sets, "antialiased" sets, "resizable" sets,
"colored" sets, "fantasy" sets, etc.
You might also want to designate one set/board as "default" and
a small set of sets/boards as "recommended". Otherwise, it is just
too darn confusing.
Another thing - for each set, it would be nice to have some recommended
boards - whether or not a set or board is "good" is a function of the
combination. For example, in "Sigma Chess", the "shaded" pieces are
problematic on the "grey" board, but are fine on the "loden" board.
Similarly, the "black and white" pieces work find in the "grey" board.
[ Note: for each of this first three,
Each should be available in at least two sizes - one suitable to
small, low density screens - e.g. 72 dpi 640x480 pixel
and one to high density screens, e.g 1152x980 pixel
"15 inch" (13.8" diagonal) screens.]
#1 A "European" set, using colors, and hand-optimized to give higher
quality than the finest antialiased font ( which I would say is Zurich).
This isn't my personal favorite, but I think this is the style that
people expect to be used in high-end chess software (including the
ChessBase products) and is also the print standard in Europe.
Here are many examples of commercial, high-end software that uses this set:
(good for seeing what people have seen in screen layout, as well as
piece and board colors):
Chessbase http://www.internetchess.com/images/screenshots/chessbase7.jpg
Fritz: http://www.gambitsoft.com/chess/games/fritze.htm
(Good practice in board colors, too)
Nimxo: http://www.gambitsoft.com/chess/games/nimzoe.htm
Rebel: http://www.gambitsoft.com/chess/games/rebele.htm
Shredder: http://www.gambitsoft.com/chess/games/shredere.htm
(bad example of board colors - glaring light squares,
dark squares hide Black pieces)
Chessica: http://www.gambitsoft.com/chess/games/chessice.htm
Virtual Chess http://www.gambitsoft.com/chess/games/virtuale.htm
(Good example of coloring standard set (a bit
too much for my comfort), good use of white border on
Black pieces to stand out from Black squares (a bit
too obvious here, perhaps, but this is a tiny shot)
good use of color to distinguish squares from pieces -
I find the wood grain a bit distracting though,
likewise the bevelled board edge.
#2 An "American" set, using colors, and hand-optimized to give higher
quality than the finest antialiased font ( which I would say is Linares),
such as the Sigma Chess pieces above. This is simply because this the style
that I'm most used to - as an American, most of my chess books use this
type of font, and my 250+ issues of Chess Life use it as well. I want
to see the style that decades of study have tuned my synapses to recognize.
The best example I have (not colored, alas, is:
http://www.internetchess.com/images/screenshots/macchess.gif
#3 A turn of the century, "Classical" set using colors, and hand-optimized
to give higher quality than the finest antialiased font ( which I would
say is Hastings) I say this because: this is the third of the sets that
Alpine felt worth making a commercial font for, and because several
people have mentioned their preference for this style. The best example
I have handy is from MacChess in a 32x32 pixel size:
http://members.aol.com/Macchess/classical.html
(There is also a 48x48 rendering in MacChess 5.0).
After these three, I'd suggest both antialiased and non-antialiased
font-based pieces using at least one font representative of the above
types (after having secured the permissions). This will allow resizing,
support of black & white screens, and printing.
A "profile of Staunton pieces" might be popular with those who are learning
chess - I see this a lot in mass-market software. For those who aren't
accustomed to chess literature, it might be more familiar. Sigma Chess
has both a ebony/ivory and a "wood" set of that type.
A really, really (did I mention really?) good 3D rendered board would be
popular, I think, but avoiding the piece-piece interference is
a real challenge. Sigma Chess takes a good shot at this, too.
What color schemes?
Note that I think you should support:
"pattern" boards (light and dark defined by bitmaps)
- presets
- user defined
"color" boards (light and dark as solid colors)
- presets
- user defined.
>
For board colors, here are a few of my favorites.
Note that some or solid colors, some are bitmaps.
My personal requirements are:
- black pieces must stand out on Black squares
- white pieces must stand out when on White squares (black, too)
- not too bright
- no distracting detail in squares
- harmonizing colors.
Note that I may think the pieces here are good, bad, or indifferent -
I'm just pointing out board patterns I like. Note also, that those
(probably a tiny and insignificant minority, alas) used to high-end
software like ChessBase, etc., may be used to the color patterns available
on their chess software, which is why I mention a couple below, even though
I put "caution" next to them).
Sigma Chess: ? Loden ?
http://www.internetchess.com/images/screenshots/sigma.gif
Czech: Striped grey and white antialiased (nice antialiased Linares set, too)
http://www.speed.net/dzechiel/BAGame/index.html
HIARCS: light brown and green striped in light brown
http://www.internetchess.com/images/screenshots/hiarcs7.gif
Chessbase: dark brown/light brown
http://www.internetchess.com/images/screenshots/chessbase7.jpg
Fritz: gray and green (caution - this green is dark enough that black pieces
without borders are getting marginal).
Nimzo: blue-grey/on grey:
http://www.gambitsoft.com/chess/games/nimzoe.htm
Junior(Fritz): light purple/light blue ( caution- the dark squares are dark
enought that borderless black pieces are getting marginal)
http://www.gambitsoft.com/chess/games/juniore.html
Genius: medium pastel blue / light pastel blue
http://www.gambitsoft.com/chess/games/geniuse.htm
Tal: pale grey on light grey
http://www.gambitsoft.com/chess/games/tale.htm
Zarkov: loden on cream
http://www.gambitsoft.com/chess/games/zarkove.htm
MacChess: green and buff (the green is probably a bit too bright)
http://www.internetchess.com/images/screenshots/macchess.gif
In addition to this, it seems expected (judging by the mass-market chess
programs) that you provide some
version of "wood pattern", such as seen at:
http://www.gambitsoft.com/chess/games/virtuale.htm
and some version of "marble", and perhaps even "metal".
>
>Again thank you! I hope I did not overload you with questions.
I hope I didn't overwhelm you with my answer <grin>.
> I am very
>excited about this and I really want to explore the man-machine interface
>theories.
This page took 0 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.