Troll Tech is running a GUI programming contest, open to anyone, there
is no entry fee and you do not have to sign away your copyright. The
winner is paid $2000 and the two runners-up $500 each, all three
winners receive one Qt Duo Pack (worth over $2000) each, the world
gets some free software, and more people see how good Qt is.

If you have any questions, see http://www.troll.no/contest.html or ask
contest@troll.no .



				Entry

Any program can be entered, provided that it is written in C++ and
uses Qt under the free software license. (If you don't know Qt, check
out our tutorial. If you know C but not C++, it's not really written for
you, but have a look.) Modifications of existing programs may be
entered, and will be judged appropriately. 

Entrants are encouraged to use third-party reusable components,
and also to structure the program as one or more reusable
components and one main program. 

Programs may be entered by a single person or teams. Teams must
be represented by a single person, who will receive the prize. It is
acceptable to submit class work, term projects and the like. The
contest judges, anyone employed by Troll Tech, or their relatives,
may not enter the contest. 

The deadline for entry is May 1st, 1997, 16:00 MET DST. Programs
that haven't reached Troll Tech (via e-mail or FTP) by then are not
eligible. 

Here are some ideas for eligible programs: 

    1.A paint program, like MacPaint, Windows Paintbrush or
      Deluxe Paint, or like MacDraw or idraw. 
    2.Adding a graphical user interface to an existing free program
      (efax, gprof, tar, or any other). 
    3.A reimplementation of your favorite 8-bit game. One member
      of the jury, at least, will argue eloquently that anyone who
      reimplements Manic Miner, Jetpac or Trailblazer should be
      sanctified at once. 
    4.A web browser. The world needs a good free web browser -
      without animated gif or frame support. 
    5.A calendar program; tell people about their meetings, exams,
      let them jot down some notes, keep track of what time was
      spent on. 
    6.A chat program... either a graphical talk or (easier and
      probably better) a multi-person chat program. Could add
      voice here, but text is the most useful, we think. 
    7.An animated sprite editor for Warwick Allison's SpriteField.
      Possible features: view several pixmaps of the same figure in
      an animation, moving or standing still; edit individual pixmaps;
      grab pixmaps out of other windows. 
    8.Scanner control software. There are many SCSI scanners, but
      little free software to control them, and to manipulate the
      images they produce. 
    9.The list can go on and on; only your imagination limits it. 

You don't need to sign any form or notify anyone that you wish to
enter the program, just download Qt and start coding. There's a good
tutorial on the web and in the Qt distributions; if you haven't written
any GUI software before we recommend that you check it out. 



		     What the Jury Will Look For

The criteria fall into four rough groups. None are all-important; a
program that is weak in one area can still win if it is strong in the
others. 

Programs that are based on or incorporate older code, or use
existing class libraries, will be judged as such. 

			    User Interface

Pleasing appearance.
      The user interface is easy and natural on the eye, without
      e.g. garish color clashes. 

Accessible functions.
      The functions are logically and naturally laid out, such that
      the user can learn and use the program's functions easily and
      with few mistakes. 

Consistency.
      The user interface is laid out in a consistent and orthogonal
      way; similar concepts in different parts of the user interface
      look and feel the same. 

			  The Code and More

Neat and elegant design.
      The design of the program is modular, easy to understand
      and extensible. The design uses reusable components where
      appropriate, and also (perhaps) contains new reusable
      components that may be used in other programs. 

Clean implementation.
      The source code is well organized, with a consistent coding
      style and sensible class, functions and variable names. 

      Bonus points for using the smalltalk convention; classes,
      structs and other types' names start with an upper-case letter
      (QFrame, MainWidget) while functions and variable names
      start with a lower-case letter (resize(), qApp). 

      CPU and memory efficiency count for something, but not
      much. A good design or implementation will win over one
      spoiled by opaque hacks to save a bit of memory or gain a
      little performance. (Of course, a good design tends to be fast.)

      Since .cpp is now the dominant suffix for C++ source, we
      recommend that you use .cpp for new projects rather than
      .cc, .cxx, .C or something else. 

Complete and accurate documentation.
      Both the design and the implementation are documented,
      there is a man page, and there is a sufficient user's manual. 

      If the user interface is good, there isn't much need for a user's
      manual, of course. 

			 Building the Program

Portability.
      It is desirable for the program to work on all the operating
      systems and compilers that provide the necessary features. 

Ease of installation.
      Ordinary users should be able to compile and install the
      program. 

			      Usefulness

General usefulness.
      Not the most important criterion, but a generally useful
      program will win over a more obscure one. 

Uniqueness.
      Not yet another clock or screen saver! Please! 



			     How to Enter

Upload your program to the /incoming/contest directory of ftp.troll.no
(which has not yet been created) and send a message about it to
contest@troll.no afterward, or mail it (MIME or uuencode) to
contest-entries@troll.no. In either case you will get an auto-reply
when your message has been received. 



				Prizes

The first prize is worth over US$4000 ($2000 cash, plus one Qt
Duo Pack). A Qt Duo Pack consists of Windows 95/NT and X11
professional licenses for the same developer, with one year of
technical support and upgrades. 

The second and third prizes are each worth over US$2500 ($500
cash, plus one Qt Duo Pack). 



			       The Jury

The jury consists of 

      Warwick Allison - PhD student at the University of Queensland, 
      Arnt Gulbrandsen - Troll Tech, 
      Jordan K. Hubbard - the FreeBSD core team, and 
      Erik Troan - Red Hat Software 

Any questions or other correspondence should be sent to
contest@troll.no, or see http://www.troll.no/contest.html .
