Qt GUI Programming Contest


 

This contest is 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 [http://www.troll.no/pricing.html] (worth over $2000) each, the world gets some free software, and more people see how good Qt [http://www.troll.no/] is.

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 [http://www.troll.no/qt/tutorial.html]. 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 [http://www.troll.no/troll.html], 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 [http://student.uq.edu.au/~s002434/] SpriteField [http://student.uq.edu.au/~s002434/qt/SpriteField/doc/html/]. 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 [http://www.troll.no/dl/] and start coding. There's a good tutorial [http://www.troll.no/qt/tutorial.html] 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

Any questions or other correspondence should be sent to contest@troll.no.

Links of Interest

If you've read this far, these links may perhaps be of interest:

At present there is no mailing list for contest entrants, but if there's significant interest (and qt-interest@troll.no doesn't cover your needs), we can always make one. Ask contest@troll.no.


Last modified 1996/10/31 by the Webmaster at Troll Tech