Year | Lang. | UI | Output | |
---|---|---|---|---|
2000 | Java | console | Displayed cards in a console | |
2004 | Java | GUI | Displayed cards in a GUI form | |
2005 | Java | GUI | Printed the dance cards to a printer | |
2007 | C# | GUI | Displayed cards in a GUI form | |
2010 | Java | GUI | Printed the dance cards to a printer | |
2017 | HTML CSS Python XML XSLT LaTeX | website | PDF with 2 sided dance cards |
|
2022 | HTML CSS C++ C | website | PDF with 1 sided dance cards with graphical logo |
This project was created to replace a manual process. It was not intended to compete with any other product, therefore the execution speed was not as important as the programming time. Therefore, specific languages were chosen to allow for development speed and flexibility. However, near the final version of the product, flexibility was not needed and a better algorithm had been determined for generating the cards. Therefore, the project was ported to C to ease deployment, which removed the need to install an XSLT processor, LaTeX, or python. An interesting part of this port was the comparison in performance, as shown below.
2017 Program | 2022 Program | |
---|---|---|
15 men/15 women | ||
Generation time (seconds) | 11 | 1 |
PDF Page Count | 20 | 10 |
PDF Size | 1.1 MB | 40 kB |
50 men/50 women |
||
Generation time (seconds) | 41 | 1 |
PDF Page Count | 66 | 33 |
PDF Size | 3.4 MB | 64 kB |
200 men/200 women |
||
Generation time (seconds) | 182 | 1 |
PDF Page Count | 262 | 131 |
PDF Size | 13.6 MB | 169 kB |