DGSWishlist

    Keywords: Online Go

The following are features and requests DGS users dream of/hope can one day might be implemented on DragonGoServer. As DGS is Open Source, this page is an excellent ground for present as well as future developers seeking some new challenges.

Some wishes have been implemented on the [ext] development server, and are flagged with a [1].

Implemented inputs can be found under /implemented.

This page is not to report bugs or discuss features, please use DGS's forum [ext] Dragon discussion for this.

Make sure you read DGS' own [ext] todo list first.

Please enter your comments at the bottom of the appropriate section. Don't worry too much about if it's in the right place - if it isn't, someone will move it there. If possible, provide a link to the associated thread in a DGS forum.

If unable to edit this page for any reason, use this link [ext] Dragon discussion to post a suggestion on Dragon's forum, or send a message to one of following DGS users, who will be so kind to add your suggestion to this page:

% removed - seems no longer active: *[jbrod|http://www.dragongoserver.net/userinfo.php?uid=4958]

Please provide a link to a thread in a forum if possible.

%[axd]: I propose to comment out lines that are not relevant, and clean out those comments from time to time.

Table of contents

Game Handling

  • axd: [ext] ko indication
    • uxs: Solution: game notes to remind yourself that you're fighting a ko.
      • Rodival(developer)[1] Game notes are implemented.
      • axd: I'd rather call this a workaround...
        A nice little square or something (like on KGS) would be nice... and useful if DGS eventually introduces superko.

General Game Stuff

  • (like "add more time") - this is especially useful in the absence of vacation that works correctly.
  • Downgrade game from rated to unrated (agreement of both players).
  • chrisg: Tournaments - to get to know and play other players. (see also [ext] http://www.dragongoserver.net/phorum/read.php?f=4&i=4354&t=4354&v=t)
  • PStr: Standalone client - connect with server only for load/upload moves like email clients.
    • adammarquis: I wouldn't want the Dragon crew using up their time on this, but it sounds like a fun project for a programmer with some free time.
  • Rengo functionality - [ext] Pair Go
    • BenAxelrod: Be able to play on a Rengo team from your own account. (you would only get move notifications if it is your turn)
    • BenAxelrod: Your name will automatically be added to the SGF on every move you make. The personal game comments should not allow talk between the team members. The game message system should either be locked, or each message should persist for 4 moves so that everyone can see them.
  • Liso: option to [ext] switch colours with your opponent (useful in teaching games) to show how they might come from behind rather than resign :)
  • BenAxelrod: More intuitive and easy flagging of game comments for public/private use. [ext] Discussion.
  • hammarbach: How about different rules in addition to Japanese & Chinese? Like AGA Rules and Ing SST Rules of Go?
    • Please give us a choice of rulesets. In particular please let us choose a ruleset with area counting (AGA or Chinese or New Zealand or even something more esoteric like Tromp-Taylor would be nice). Thanks.
    • Better yet, give us, not a choice of rulesets (like AGA, Japanese, ING, etc..), but a choice of the individual rules, and let us cherry pick the precise combination that we like. For example - Scoring Method: {Area Counting, Territory Counting}; Ko Rule: {Simple Ko, Positional Super Ko, Situational Super Ko, Natural Super Ko, ING Ko Rule (if you can)}; Suicide: {Legal, Illegal}; Handicap Stone Placement: {Free, Fixed}; Count Points in Seki: {Yes, No}; Bend Four in the Corner: {Dead, Alive, Play out}; Pass Counts as a Move for Ko: {Yes, No}; Komi: {..., Auction Komi}; etc... full flexibility!

Ratings


Game Start, [ext] Invitations

General

  • it should be possible to [ext] move game invitation messages to a separate folder, for example when one cannot / does not want to accept immediately an invitation, but put it "in the fridge" to declutter the Status page (now, invitations stay in the Reply! folder, which is always visible).
  • Liso: default preferences for inviting I like to have... (e.g. Fisher time 36h, 90 day, rated, not weekend clock, etc...) But I am not sure if it has to be opponent or user oriented :) (I prefer user who invite..., but probably opponent could have denied option - I mean automatically refuse invitation with main time less than 10 days, strength diff bigger than 1000 rating points, etc... )
  • see what changed when receiving (and maybe also when sending) an invitation Dispute.
  • possibility to specify number of games in invitations, default=1
  • Liso: Reduced handicap?. (see RankAndHandicap)

Waiting room

  • dmwit: Option to demand a certain number of finished (rated) games
  • WillerZ: Option to demand challenging user has a real ranking, i.e. not (0%)
    • adammarquis: What would a "real rating" be? You could naturally arrive at 0% after even many games, there isn't anything special about that point except that you start there. Dmwit's solution would work, though, either as a user setting (let people with n+ rated games join) or as something complex like KGS's confidence algorithm.
    • dmwit: Even worse, players can easily start with a rating that is not 0% by entering, for example, a KGS rating and having DGS translate it for them.
    • Rodival(developer)[1] Added a clearly separated *number of rated games* in the users' info page. A least, you have the real info ;)
  • Ability to load a game from SGF. This would be useful for shape games and teaching from Go problems. See [ext] DGS discussion

Game End

  • axd: possibility to [ext] reject a win+: what's the point of winning games due to opponent time outs if it is obvious the opponent is not accessing the server any more?
  • chrisg: [ext] Resume won game (as unrated). Sometimes a game times out, and it would be interesting to see what would have happened.
  • Liso: (probably also during game) "button/link" to rematch. (I mean automatically generated invitation with same settings after click on "button/link")
  • mprice42: [ext] resign during opponent's turn

New fields/columns/links/buttons


Current game

  • show stones killed in previous move (in a discrete way, use small 'x' crosses, or red dots?)
    • Rodival(developer)[1] Added *Move numbering* option
  • Liso: Game notes for observers only (hidden for players) useful for comments during game, applaus, question to community, etc...
  • axd: during a game, a link/button [ext] generates a variation submitted to the opponent as a new game invitation. to avoid misuse, possibly restrict to rated games so the new game counts as a separate result and people do not generate scores of useless games. this feature is not meant to be used to study variations (although it could be used for that).
  • button to turn coordinates on/off while viewing a game
  • axd: played stones on the goban hyperlink to the corresponding game position (similar as in the move list). this would allow another feature to work: when using custom stylesheets, custom 'visited link' colors allow to [ext] highlight points on the goban (URL history stored in the browser) when clicked but not submitted
  • [ext] animated stones
  • [ext] optional/conditional moves
    • possibility to propose a sequence
    • possibility to propose variations in a sequence
    • server takes over playing until sequence ends or opponent opts for an alternative move
    • opponent can/cannot (to be discussed) see the entire sequence (i.e. must submit his move before seeing the programmed answer)
    • past sequences stored in SGF as variations
% ** [jonathan] Multiple Moves: Allow users to enter sequences of moves. Similar to eBay's automatic bidding, your sequence of moves is revealed to your opponent only if they play a response included in your sequence. Being able to specify variations would be nice but not required -- even the ability to enter single threaded sequences would be useful.
  • [ext] preview of messages (e.g. to check if HTML markup works as expected)
    • Rodival(developer) I work on this.
  • jc: show game start time
  • option to show the current game board without player info section; option to show just the board (add links to show user info/move list)
  • show the weekend clock setting
  • replace the "view move" button and the adjacent combobox with a "view previous move"/"view next move" button group (functioning as back/forward navigation buttons)

Status page

([ext] http://www.dragongoserver.net/status.php)

  • make the display of my user Status block on the Status page optional. this to make the [ext] running games window/list as small as possible.
  • [ext] jbrod: make the status block adjustable. for example i would like to undisplay my name (i know it by heart and it does not change too often) and see the number of running games here.
  • axd: make the message list accessible via a link that is only shown when there are messages waiting, this to make the status page as small as possible.
  • Frs: add a [ext] "remaing time" column (with sort option)
    • "2006/10": Remaining-time columns has been added, though no sorting, because between different time-settings and byo-yomi there's no ordering defined
  • Frs: add an editable "priority" column (with sort option)
  • [ext] jbrod: possibility to sort games on status page
  • [ext] jbrod: observed games with new moves show up on status page +
  • add the number of games in HTML page title (can be used in tabbed browsers to check if a game is available)
  • display the number of games in the title (which is shown in the tab title in many browsers), so that a user doesn't need to actually see the page to know some games are waiting for him/her. The title text should include the number first like "No go game pending"/"2 go games pending", etc.+
  • auto-refresh: once the user is back on the status page, setup a reload in the next 30 seconds (say for the next 5 or ten minutes), then in 1 minute increments, 5 minutes increments, etc. (This and the previous proposal should be fairly easy to write and would greatly improve the game speed when both players are available at the same time. See also [ext] this talk for another way to do it.)
    • Phelan: I don't like this idea. That would cause a lot of load on the server, not to mention that some won't like pages refreshing automatically. There are other ways to do this, see the DragonGoServer page for one.
      • I understand. It could be disabled by default, and the auto-refresh could stop after a certain number of refresh.

Waiting room

([ext] http://www.dragongoserver.net/waiting_room.php)

  • Frs: user-defined default sort order (e.g. by rating)
  • Mr Cat: country flag in waiting room games

User info, profile, bio

([ext] http://www.dragongoserver.net/userinfo.php)

  • add user's timezone, [ext] GMT offset
  • a current handicap and komi indication (proper + conventional) is shown when browsing a user info
    • Rodival(developer)[1] This will not be added in each user info page because this need too much computations. But this is already added when you invite the user... with a proper or conventional handicap. (axd: ?)
  • add a small free text field in the user info to give opponents an indication of availability (e.g. asleep, away, be right back...) the field should be a column in the running games and visible in the user info related pages.
  • profile-settable number of lines per screen listings (I'd like to have more lines per screenful for messages, search functions, running games, finished games...)
  • Liso:user info pictures -> possibility to add pictures to your homepage (or other web pages) like rattinggraph, for to indicate if u are open for matches, ... (or image "invite me" or "dont invite me in this moment", "on vacation", etc...)
  • Liso: possibility to set preferred number of games for change open for new games status automatically
  • Frs: additional and searchable "language" field (e.g. to find opponents who know the French language but live in Italy)
  • kea: [ext] matches versus you show the games you played against the browsed user (also [ext] http://www.dragongoserver.net/phorum/read.php?f=4&i=13485&t=13485&v=t)
  • [ext] NPC: Activity histogram, that shows at which daytime the user usually makes moves. [ext] see here (item added by [ext] jbrod)
  • [ext] NPC: Data field that shows average moves per day and game of a user. [ext] see here (item added by [ext] jbrod)
  • show the basis of the initial rating (no reason to hide this, plus it justifies one's initial rating - see also [ext] http://www.dragongoserver.net/phorum/read.php?f=3&i=603&t=603
  • as the playing period info is available, on pages where the last user access time is printed
    • show whether the user is within his playing hours (to get a rough idea of currently available players); e.g. show "3.5 hours before sleep" (so he is eligible for playing), or "7 hours before wake up" (so probably he is asleep);
    • some flag/column/checkmark that shows if the user is (supposed to be) asleep/awake
  • some way to reorder fields in the bio page
    • JUG done on devel-server
  • weekend clock setting: rather undecided, see discussions <[ext] http://www.dragongoserver.net/phorum/read.php?f=4&i=3136&t=3136>
    • transfer the weekend clock property from game to player objects. players can choose to change their weekend clock setting anytime, game clocks will continue during weekends only when both player's weekend clock settings are ON.
    • additional restriction in waiting room games
  • mass download of one's finished games, as on KGS
  • similar to game notes, add a user notes field to record personal/private (i.e. not visible to other users) user-related information on a user (e.g. strong/weak points, habits, birthday, ...).
  • Some sort of "leave Dragon" button. See [ext] here and [ext] here. This button would either resign all the user's current games, or place the fate of each game in the opponent's hands.
    • This button would eliminate some of the games that people start, and then let time out. It would not delete the person's dragon account.
    • Perhaps the server could send a message to all the opponents giving them the option to count the current game as a win, loss, or negate it entirely.
    • Allow the user to provide a message like: "I have to go on vacation for a year, but plan to be back." (see also higher:"small field to communicate own player information")

Messages

([ext] http://www.dragongoserver.net/list_messages.php)

  • option to stay in the folder while moving messages
  • possibility to delete messages directly (i.e. without first moving then to the dustbin)
    • Rodival(developer) This will not be done, but the previous item (mark multiple messages) helps.
%**[gedh]: This part of the DGS FAQ might be of help: [How can I store text in SGF|http://www.dragongoserver.net/faq.php?read=t&cat=18#Entry75].
  • as messages are never physically deleted, clear the content of messages once both parties have destroyed them.
  • with a message, add a link/button to generate its complete thread (with, if possible, downstream bifurcations when someone replies multiple times to a message). Similar to the "comments" link in games, the idea is that when chatting with someone, there is no easy way to review the entire thread other than by jumping from one message to its reply.

Notifications

  • notifications are a bit difficult to read: for own games, instead of the Black/White format (needless clutter), remove my name from the message - I know it is a game of mine.

Dragon's users

([ext] http://www.dragongoserver.net/users.php)

  • Frs: search form, e.g. search users by rating, country etc.
    • JUG in work on devel-server (Apr2007)
  • Frs: alias links, e.g. ../users/rating/18k for users around 18 kyu or ../users/country/de for users from Germany (de)
    • JUG in work on devel-server (Apr2007)
  • hyperlink Running and Finished fields of each user to corresponding pages
  • It would be nice to be able to jump in the alphabetized list of all users to those whose names start with "J" or with "S".
    • JUG in work on devel-server (Apr2007)

Forum pages

 ([ext] http://www.dragongoserver.net/phorum/index.php)
  • search N days ago (not only multiples of 30) - replace the drop-down by a input, defaulted to 30 (0 = search all?)
    • JUG in work on devel-server (Apr2007)
  • some kind of notification when a reply is posted in a forum; observe messages. people do reply old messages.
  • filter for new messages only
  • filter for messages less than N days ago
    • JUG in work on devel-server (Apr2007)
  • reduce width of 'Topic' column (50% wasted space, due to author name and date fields sometimes using two lines)
  • forum overview page: put 'Last Post' in its own column to avoid the jaggy appearance; reduce width of forum name column to free up screen space
  • headers of flat view of a topic should contain the <new> indicator (if applicable), and the date/time of the message
  • replying in an old thread should keep the whole thread in its recent (new) position; currently, the New indicator sends the thread floating on top, but then the whole thread get sorted back somewhere deep in the thread list even when not applying "Mark All Read".
  • dmwit: replying in an old thread should mark it as read
  • dmwit: put a New indicator on the list of forums as well as the list of threads
  • Razorflame: message edit feature before submitting it
  • new pages

Running games

([ext] http://www.dragongoserver.net/show_games.php?uid=1)

  • (also in Status page) remaining time column. note: this value will probably change all the time when it is the users turn to move. maybe replace this column by a projected end time (suggest " ends at yyyy-mm-dd hh:mm") when the user is at turn, and the true time remaining (which is then frozen) when the user is not at turn.
    • Rodival(developer) "ends at yyyy-mm-dd hh:mm" is a good idea but what about byo-yomi?
  • some indication for those games that I am also also observing ("observed?" column)
  • indication/column: opponent is on vacation
    • Rodival(developer)[1] This is already added... but in the game page.
  • indication: who's next to play
    • Rodival(developer)[1] Added in the colour column.
  • [ext] jbrod: add my start rating column to the list of my running games.
  • [ext] Beckenbauer: How about enabling sorting of current games by country? (item added by [ext] jbrod)
  • axd: [ext] indication of expected play load based on running games (how often do a player needs to check DGS)

Finished games

([ext] http://www.dragongoserver.net/show_games.php?uid=1&finished=1)

  • axd: time information: use designated SGF properties to store time allotted (TM), time used by players (W/BL) (or time left at end of game) - if possible, show how much time the players consumed.
    • Rodival(developer) Two problems:
      1) All SGF timings are in second with no specifcation about the upper limit. Few months expressed in second give a big number that could disturb some SGF vi ewers. Do you have any info about that?
      2) How do you compute the time left with each byo-yomi type?
  • [ext] jbrod: add my start/end rating column to the list of my finished games.
  • benni: Search in finished games. For example show only games of one opponent.
    • JUG in work on devel-server (Apr2007)
  • axd: add a link to game comments if there are hidden comments.
  • if a game contains hidden comments, mention this in the server message. otherwise people will never know about their existence.

Observed games

([ext] http://www.dragongoserver.net/show_games.php?observe=t)

  • [ext] jbrod: observed games also in status list


Vacation

([ext] http://www.dragongoserver.net/edit_vacation.php)


General UI and Design Issues

  • Use AJAX to improve the speed of the game, reduce webserver usage and the enjoyment of users (because it doesn't need to reload all the game pages,as an ajax script could load all the pending game, let the user play his move and confirm that, and then send all the data to the server).
  • option to deselect move confirmation: clicking a move automatically submits the move (and goes to next game?)
  • undo (propose as well as request)
  • column headers should not be significally wider than their content (e.g. H instead of "Handicap") to avoid lists requiring a lot of screen estate+
  • Make separate GUI for WAP devices
  • axd: to improve browsing listings (finished games, users, messages?), listings allow to jump to a specific page (now, there is only "next page","previous page" links); listing header shows number of records to have an idea of quantity; records are numbered (column can be hidden).
  • kiwipete: [1] for each page type, set focus to some appropriate text entry box (login, reply fields, waiting room, invite page...)
  • BenAxelrod: Provide a "heads up" display that uses the wasted screen region on the right. See my example at: [ext] http://www.gyoju.com/ben/headsup.jpg.
  • Redirection from index.php to status.php if you are already logged in
    • Rodival(developer) Call directly the status.php page! We must let the users with more than one ID the ability to switch between them.
      • Status could still be the main page, with a link to the login page. This would be better for the majority of users.
  • Option of disabling button graphics, using pure text instead.

Other Interfaces

  • An interface that would easily allow GTP supporting programs to play.
    • Rodival(developer)[1] We have already one set of quick_???.php features on the devel server. See the FAQ.
  • Some kind of programmatic interface so we can introduce custom clients and bots! Perhaps something in plain text or XML.

Formatting, Layout

Hyperlinking

  • <,move> links to the move in the current game and expand to a simple form e.g. *#3*. It is tedious to refer to moves in the current game ("this" game) by having to type <game xxxxxx, move> after having to look up what the current game is (which is also error-prone).
  • get rid of the <a href="">..</a> syntax, suggest < targetURL | name > instead, where 'name' is optional and the '|' is then used to separate name from targetURL. If targetURL is preceded by a '_' character, add the "target=_blank" tag.
    • Rodival(developer)[1] Actually on Dragon, you have <http:...>. Use: "name:<targetURL>". This is nearly the same. [1] "target=_blank" is done on the [ext] development server.

Sorting, ordering, grouping

general

  • pages containing the country flag should also have the timezone, to allow [ext] sorting on time zone
  • axd: sorting should be more intuitive, and unlimited (currently only 2 sortings are possible; a button should be provided to clear the sorting): each click on a column applies a further subsort (and not a main sort as is the case now); column headers show the sort order number if involved in the sorting.
  • axd: [ext] general table/list filtering mechanism: cells have a '+' (keep) and a '-' (exclude) link. in case of floats, '-' keeps everything lower than the value in the cell, '+' everything equal/above it. column headers additionally present an edittext to allow to enter simple constants (or regexps for strings) to keep/exclude data.

current games

(Status page; at the present, sorted on "first moved first" basis)

Possibility to order games by:

  • axd: players can manage a [ext] priority value for each of their ongoing games: an integer value (can be positive, zero or negative) that can be used to group games according to arbitrary user-defined categories (so this can act as a generic sorting mechanism). This prioritizes games (implemented as a priority queue) when using the "Submit and go to next game" button (highest priorities first), as well as when listing the running games. A default value of 0 will make the mechanism transparent for users that do not use it. Additionally, a separate page (link) presents the sorted list and allows to reorganize the current priorities of all running games (similar to the List of Watched Pages).
  • axd: [ext] remaining time
  • number of moves (to get rid of almost-finished games)
  • opponent's last access (to play more often with opponents that currently are on line)

finished games

  • sort finished games by score: (example) highest wins -> win by time -> win by resign -> jigo -> lose by resign -> lose by time -> worst losses. idea is to group games for further analysis.

users

  • axd: when sorting users by rating, discard the fractional part: this allows to group ratings, and specify additional criteria for further sorting.

Statistics

Not always useful, but fun for those who can't stop hyperjumping around (see also [ext] http://www.dragongoserver.net/phorum/read.php?f=4&i=1886&t=1886)

(See also the unofficial stats page at [ext] http://www.dragongoserver.net/statistics.php)

  • server stats
    • present, active, total number of users/games
    • number of running games per day for all players together
    • [ext] user clusters
    • distribution of ratings - see also DGS Rating Histogram
    • distribution of nationalities
    • physical data (eg MySql disc space consumption)
  • user stats
    • user's opponent relative (+1, +2, etc.) rating distributions (a "good" player should (equally?) play with players above and below his rank)
    • number of running games per day, computed from user's start/end dates of all finished (/current?) games (how much simultaneous games did this player handle in the past?)
    • average number of moves per day (for each finished (?) game, compute average number of moves per day; for each day, sum up the average number of moves of the games that were active that day.) (how often did this player play?)
    • frequency of simultaneous games
    • To refine: stats about time-outs, resign
    • Notes on user stats
      • these stats can be computed from existing data
      • It would be handy to be able to compare with one's own stats, eg by superposing two graphs
      • When querying for stats, the user should be able to limit the data to a period
    • Mr Cat: [ext] running average in rating graph
  • go stats
    • based on results of all games, what is the ideal komi (or distribution of komi) for a give board size and pair of grades (or: grade difference). For 19x19, the classic komi (currently 6.5) is expected. (and then: how about comparing this value against other servers)

Public Team Accounts

  • Frs: use a user's current rating as the login password to switch to a DGS public team account

axd: Note: public team accounts died on DGS, and although asked to do so, nobody found it necessary to record what had happened with the idea, why it was useful (or not).


Yet to classify

(topics that do not fit under any of the previous headings)

  • Either a default preference (in user profile) for having the game comments stored in the SGF, or maybe radio buttons to paste in the tags. See [ext] DGS FAQ

This is a copy of the living page "DGSWishlist" at Sensei's Library.
(OC) 2007 the Authors, published under the OpenContent License V1.0.
[Welcome to Sensei's Library!]
StartingPoints
ReferenceSection
About