I am looking at different ways to implement chat using the webclient, and I was wondering what fellow BYONDers were doing for their own webclient-based games.

My game will exclusively use the webclient for players, with Dream Seeker for admin functionality only (full content editing in game, maps/mobs/items/etc), so I can take full advantage of browser controls.

I was considering adding some JavaScript libraries to emulate a nice scrollable output div, keydown on Enter to swap focus between the map and the output box, and tab to cycle through tabs of different chats. I wanted to see how others were arranging their chat and if anybody else had recommendations.

From an end-user perspective:
  • Option to increase/decrease font size (accessibility concern);
  • Ability to change font color (accessibility concern);
  • Ability to change text window color/alpha channel (accessibility concern);
  • Alternatively, a high contrast mode that utilizes common palettes to increase readability (accessibility concern);
  • Being able to resize the window in which text appears, particularly if font size is altered in a way that fundamentally limits the amount of text that is visible;
  • Assuming that players can have multiple channels of communication (local, say, party, guild, regional/global channels, private chat, and so on), being able to maintain multiple chat windows and assign what text displays where;
  • If multiple windows are possible, option to undock windows to see them simultaneously;
  • Visual and/or audible indicators when text occurs, and a way to toggle on/off (including per window, if multiple windows are allowable);
  • If docking/undocking is possible, being able to lock their location in order to avoid itinerant mouse clicks from moving them unexpectedly;
  • Ability to interact toggle, access, and interact with the text window using keyboard commands without aid of the mouse (possible accessibility concern, such as for people with diminished motor control or only a single arm/hand);
  • When multiple channels (say, party, guild, whatever) are used, ability to change color of each particular form of communication in order to better differentiate between each.

This is mostly a dreaming big kind of list!