Purpose of this document
------------------------
This document contains a list of minor features and technical stuff that should
be implemented when time permits it. The TODO list is updated frequently as new
ideas crop up during programming.

For a broader view of how the project will develop over time, you should see
the Roadmap document.


Priority 1 (important)
----------------------
- Use quick_status.php for more reliable game state checks
- Remove menu item that allows access to the TODO document
- Fix @todo's in the code
- Test a server connection: While the test is in progress, the server being
  checked cannot be edited
- Split DGSMonXController and put the application delegate code into a new
  class DGSMonXApplicationDelegate


Priority 2 (nice to have)
-------------------------
- Add an indicator to the global "it's your turn" state if an error occurred
  during a game state check
- Show remaining time until next game state check
- Let the application model handle all the settings that can be changed in
  the Preferences dialog; this makes sense esp. for the monitoring time
  interval where a single accessor could be made that does the calculation
  currently located in DGSMonXThread's getCheckInterval()


Priority 3 (not important)
-------------------------
- Find a way to eliminate conflicts between dgsmonX and other applications that
  use the shared cookie storage system; it would be best if we could "convince"
  the URL Loading System not to use the shared cookie storage system, but
  instead use our own instance of NSHTTPCookieStorage; this is probably not
  possible; another approach might include listening to
  NSHTTPCookieManagerCookiesChangedNotification, a notification that announces
  cookie changes in the shared cookie storage system
- Think about redesigning dgsmonX as follows
  - Put all UI elements, esp. the preference dialog, in a preference pane
  - Allow the preference pane to have an associated status item (would probably
    be largely the same as it is now)
  - Is the status item optional? if yes, think about how to notify the user
    when it is her turn; maybe Growl?
- Currently we stop title animation in DGSMonXController's validateMenuItem:(),
  which really is a hack. It would be preferrable if we could use the NSMenu
  delegate method menuWillOpen:(), unfortunately this method is available only
  since Mac OS X 10.5. A side effect of this hack's implementation is that the
  application menu will pop up at the position that fits the status item's state
  at the time that the user clicked the status item - ***NOT*** at the time
  after the title animation has been stopped. If stopping the animation changes
  the status item's width, the menu will therefore pop up at the wrong
  position. This behaviour can be observed by using texts of differing lengths
  to represent the application's status item.

