Future developments, known issues and technical information

This page is mostly for the technically minded and includes a wishlist of future developments along with some known, er, limitations with the current software. The technical information section explains how and why GABBI was designed and developed.

Future developments

GABBI is a work-in-progress — there is always something else to do. Here is a list, in no particular order, of what I intend to do next — when, or even if, any of these items get worked on depends on how much feedback I get from you, the user...

  • User interface. Now that V1.0 is out, lots of things need cleaning up — some of the code could be more efficient; the Help pages are created using CSS but the GABBI page itself is table-driven the old-fashioned way and needs redesigning. In fact the whole interface could be redesigned using icon buttons, drop-down menus and the like to replace the mish-mash of form input types and custom designed buttons that are there currently.
  • Error reporting. GABBI checks for errors but there is no error reporting. Although there isn't need for much, it may be useful to know why your board has suddenly emptied or even an explanation for why nothing changed when you expected it to.
  • Scalable output. The board diagrams can be scaled up or down quite easily. However, image quality is always lost so I will only add this ability if people really want it. Better to just design an appropriately sized board.
  • Random dice. GABBI will never play backgammon, but it might be fun to have a random dice feature so two people could actually have a game when they have access to the internet but no physical board.
  • E-mail feature. It would be easy to have gabbi email a text board and/or a graphic board and/or a link to the user. This could be useful when on the road or simply for archival purposes.
  • Phone/PDA version — this seems like a good idea as a precursor to...
  • Game/match recording feature. As wireless networks get faster, a lightweight GABBI could be developed for the purpose of quickly and easily recording matches in realtime for later analysis.
  • Pro version — GABBI lends itself to customisation. I am already working with some well-known backgammon luminaries on their book and/or website diagrams. A pro version would, for example, give the subscriber a personalised board, their own customisable settings, better saving and archiving abilities and the potential to create print quality diagrams for publishing in books or magazines. Contact me if you'd like to discuss your requirements.

If you'd like to add your own ideas, or support for any of the above, please let me know.


Known issues

Otherwise known as bugs, although us developers prefer to think of them as "features" :-). I have done my best to test every part of GABBI, but experience suggests that issues will always arise. If you find a situation where GABBI does something unexpected, please contact me with as much detail as possible — if the problem is reproducible, tell me the steps needed so I can fix it. Some people may consider some of my design decisions or choice of defaults questionable; I am happy to discuss these and change things around if appropriate.

These areas could do with immediate improvement:

  • As noted in the section above, some error reporting needs implementing
  • GABBI adheres to the gnubg Position ID code exactly, but less so with the Match-ID. Some Match ID data is meaningless or redundant for GABBI. For example, "game state" includes flags for "no game started" and "game over". Similar applies to resignations. GABBI should make provision to handle this data even though it may never be used.
  • gnubg allows for some silly values in the "cube value", "match length" and the two player's "score" data. Cubes can go to 32,768 — match length can be 32,767. GABBI limits the cube to 64 and match length to 99. I consider this common sense rather than a bug.
  • There are some minor issues with the placement of the CAC device in some unusual situations, which is related to...
  • Checker stacking could be improved and made smarter than it is. At the moment, checkers will always start stacking after 5 if the dice are shown regardless of which side of the board the dice are placed. This is a bug but it's one which needs some redesign thought.

Technical information

Under the hood of GABBI are 2250 lines of php code and 400 lines of conditional html combined with 170 graphical images totalling 1Mb of data. GABBI has been my first php project — I have learned php from a book and from net resources. These help pages are also my first attempt to use CSS as a replacement for the table and javascript driven web pages I have developed in the past. PHP is a server-side scripting language which is powerful, easy to learn and is especially suited to interactive web sites. It's also quite good at manipulating graphics although there are some areas that I still struggle with in this regard.

Over the coming months I will develop this section of the GABBI Help pages further, once I get feedback from this, the first official release.

December 2008 - version 1.01 includes

  • Support for combined GNUBg Position ID and Match ID (now known as GNUBg ID) added.
  • Tested with Safari and Konqueror browsers.
  • Changed Crawford rule behaviour to only require one step instead of two.

August 2010 - version 1.02 includes

  • Support for eXtreme Gammon XGID added.
  • Text versions of gnubgID and XGID included with saved html.
  • Minor bug fixes.

Contact the author

You can contact me here: Simon Woodhead
Gold Coast, Australia August 2010
© Simon Woodhead 2008-2010. All rights reserved.
top