Author Topic: Interface for message system  (Read 2157 times)

Offline Chris

  • Game Owner
  • Level 35
  • *
  • Posts: 2,128
  • Reputation: +26/-1
    • View Profile
Interface for message system
« on: June 21, 2010, 06:14:01 AM »
I have "Compose Mail", "Inbox", "Outbox" and an option to blacklist other players. So far so good. But then I have 5 different Boxes for group communication (various mix of clan/alliance/etc boxes used by groups you belong to). In  short, I need to show 6 "new message" notifications (no need for outbox notification, that's why only 6 not 7). How could I fit these on the interface!?

The thing is I never saw any game or social network or anything that would have so many message boxes in their message system so I don't know how to bite this cake...

Offline gnoh

  • Game Owner
  • Level 15
  • *
  • Posts: 120
  • Reputation: +2/-0
    • View Profile
    • gnohwars.com
Re: Interface for message system
« Reply #1 on: June 21, 2010, 06:20:03 AM »
I'd probably go with a vertical tab bar that'll give the functionality to flick between the groups.

I'm having trouble describing how i'd do it though, every decent method I can think of is OO ;)

Gnoh Wars          -> http://www.gnohwars.com/
Battle For Gnoh    -> http://apps.facebook.com/battleforgnoh

Offline Chris

  • Game Owner
  • Level 35
  • *
  • Posts: 2,128
  • Reputation: +26/-1
    • View Profile
Re: Interface for message system
« Reply #2 on: June 21, 2010, 06:42:39 AM »
"flick"?


I'm having trouble describing how i'd do it though, every decent method I can think of is OO ;)
No problem, I merely think that OOP is the root of most evil, not of all evil. I can live with it and use it if needed :)
Also I'm desperated here, willing to consider even crazy ideas.

Offline lolninja

  • Level 19
  • *
  • Posts: 194
  • Reputation: +5/-0
  • BSc powered Programmer
    • View Profile
    • HTTPmmo
Re: Interface for message system
« Reply #3 on: June 21, 2010, 06:46:50 AM »
Couldn't you just have a global inbox counter always on your ui, then when you hover over that icon a div slides out with a breakdown of which inbox has a new message?

That way your conforming to the standard people are used to, and thats see a number next to an inbox and click to see whats now, rather than having 7 inboxes, which might be overwhelming. So visually your displaying them more as folders within your mail system rather than sperate inboxes, which again conforms to peoples ui expectations.

Offline gnoh

  • Game Owner
  • Level 15
  • *
  • Posts: 120
  • Reputation: +2/-0
    • View Profile
    • gnohwars.com
Re: Interface for message system
« Reply #4 on: June 21, 2010, 06:51:27 AM »
http://gwt.google.com/samples/Mail/Mail.html
like the left hand panel instead of having the sub menus though i'd break it down into just personal messages, clan box, etc.

You'd want a compose new message for each of the groups however the blacklist could be pulled out and made global for each of the groups, same for outbox.



Gnoh Wars          -> http://www.gnohwars.com/
Battle For Gnoh    -> http://apps.facebook.com/battleforgnoh

Offline Barrikor

  • Level 19
  • *
  • Posts: 197
  • Reputation: +3/-0
    • View Profile
Re: Interface for message system
« Reply #5 on: June 21, 2010, 01:08:15 PM »
Chris, what about merging the inboxes and outboxes together? Instead of having the mail be like one-way emails, instead you could have it more like a forum, so that when you open a mail you'd have the messages stacked like a two-person forum thread. You could have a different icon for if you were the last one to post or the other person. Also it would cut the "Re: Xxxxxx" clutter.

(If any of you folks have glanced at the mail system in Tribal Wars before, you know what I'm talking about, there's a couple other games that do this too but I can't remember them off the top of my head)
« Last Edit: June 21, 2010, 01:23:24 PM by Barrikor »
Projects: Pith PHP Framework, Also working on a small gui for pygame

Offline Chris

  • Game Owner
  • Level 35
  • *
  • Posts: 2,128
  • Reputation: +26/-1
    • View Profile
Re: Interface for message system
« Reply #6 on: June 21, 2010, 01:47:52 PM »
I have only 1 outbox (for private messages), so it is irrelevant. Group/community messages have only inboxes.

Offline Shrapnel

  • Level 9
  • *
  • Posts: 46
  • Reputation: +0/-0
    • View Profile
Re: Interface for message system
« Reply #7 on: June 22, 2010, 08:41:21 AM »
Chris, not sure if this is what you mean, but check out the message system for uk1.illyriad.co.uk.  It has a horizontal menu with 9 options.  It's a pretty simple system.
"Never compromise. Not even in the face of Armageddon" -Rorschach, Watchmen (2009)

Offline Barrikor

  • Level 19
  • *
  • Posts: 197
  • Reputation: +3/-0
    • View Profile
Re: Interface for message system
« Reply #8 on: June 23, 2010, 12:14:32 AM »
I have only 1 outbox (for private messages), so it is irrelevant. Group/community messages have only inboxes.

Oops, sorry then  :-[

... About the user interface, maybe you could use icons for each of the "various mix of clan/alliance/etc", ex: maybe have a colored alliance icon if the user has alliance selected, but if the user clicks the icon then have AJAX change the alliance icon to a gray version of the icon and stop displaying alliance messages...? Just a thought.
« Last Edit: June 23, 2010, 12:17:56 AM by Barrikor »
Projects: Pith PHP Framework, Also working on a small gui for pygame

Offline Chris

  • Game Owner
  • Level 35
  • *
  • Posts: 2,128
  • Reputation: +26/-1
    • View Profile
Re: Interface for message system
« Reply #9 on: June 23, 2010, 05:18:12 AM »
Each player has Inbox (private messages).
Most players belong to 3 grups AT ONCE (noble house, faction, kingdom).
Some players are high rank and they have additional 2 councilboxes (faction and kingdom).

So a typical player will have 1 at the very beginning, 4 quite soon after and 6 if they are more dedicated to the game community stuff.

I managed to fit them in the message page (but looks cluttered and not the best...). The biggest problem is the main menu, I need to make a notification when new message arrived.
I was thinking about "Message (NEW)" which is displayed when you have ANY new message type, so you click it and select the proper Box. But after testing it I think it sux (confusing and not very ergonomic). I start to think I will have to make a proper notification on main menu which displays what king od Box you get message to. It would mean 4-6 additional menu tabs, which does not make me happy at all :)

As for "when you hover over that icon a div slides out with a breakdown of which inbox has a new message" I'm not sure, since it won't let you see at the glance what message type you got (and if it is urgent enough to check it right now).

Offline Harkins

  • Level 28
  • **
  • Posts: 419
  • Reputation: +11/-2
  • Coder, blogger, entrepreneur.
    • View Profile
    • Push CX - Blog
Re: Interface for message system
« Reply #10 on: June 23, 2010, 08:02:37 AM »
I managed to fit them in the message page (but looks cluttered and not the best...). The biggest problem is the main menu, I need to make a notification when new message arrived.

Could you post a screenshot of what you have now? I'd be happy to kibitz but I don't really have much idea of what the problem is.

Visit #bbg on irc.freenode.net to talk browser games anytime.

Offline JGadrow

  • Level 35
  • **
  • Posts: 1,133
  • Reputation: +23/-2
    • View Profile
Re: Interface for message system
« Reply #11 on: June 23, 2010, 08:04:15 AM »
Maybe I'm simplifying this too much but why isn't there just 1 inbox and each of these is just a "type" of message?

There are typically 3 forms of communication available in games:
Message
Forum
Chat

And, honestly, forums are just threaded messages that are addressed to groups rather than individual users.
Idiocy - Never underestimate the power of stupid people in large groups.


Offline Delifisek

  • Level 12
  • *
  • Posts: 79
  • Reputation: +1/-1
    • View Profile
Re: Interface for message system
« Reply #12 on: June 23, 2010, 08:29:50 AM »
Add secondary from field in the db  and  put some where total new message then groupped new message in different colours.

Offline Chris

  • Game Owner
  • Level 35
  • *
  • Posts: 2,128
  • Reputation: +26/-1
    • View Profile
Re: Interface for message system
« Reply #13 on: June 25, 2010, 04:11:02 AM »
There are typically 3 forms of communication available in games:
Yep, the natural solution would be different forums. But no other game use so many groups, I think I need a bit "faster" than forum communication between members of a group. At the moment everything is solved by messages.

Quote
Maybe I'm simplifying this too much but why isn't there just 1 inbox and each of these is just a "type" of message?
You wouldn't say so if you saw a mere 100 members faction daily information traffic :) It would be completely unreadable (actually, players even bug me to make more boxes per one faction).

Example message page (that one is a low traffic, some players have also "CouncilBox"). After I implement the things above, I would need to fit additional 4 boxes/menu links to the screenshot...

Offline JGadrow

  • Level 35
  • **
  • Posts: 1,133
  • Reputation: +23/-2
    • View Profile
Re: Interface for message system
« Reply #14 on: June 25, 2010, 11:02:19 PM »
Ok, on the original topic... I'd listen to whatever your player base is asking for on this one. If they want multiple boxes with numbers showing how many messages are in each box... that's what I'd go for.

Do they want to know, specifically, if they have new "guild" messages? Or if they have new "personal" messages? If so, you'll need a spot on the interface for this number / indicator to appear. So, you'll need a block big enough to fit 6 of them for your needs.

If they don't care, you only need a block big enough for 1 indicator. Either way, the answer to your original question is "redesign."

Anyways, long OT dialogue regarding my earlier simplification thought:

I get your point about user traffic. Seems like you have multiple tables, probably one for each "type" correct? Having all in one box on the server-end with different "type" attribute allows for something else entirely. Here's an example (greatly simplified) structure:

Code: (sql) [Select]
CREATE TABLE message
(
    id INT UNSIGNED NOT NULL,
    type INT UNSIGNED NOT NULL,
    author INT UNSIGNED NOT NULL,
    subject VARCHAR(32) NOT NULL,
    body VARCHAR(255) NOT NULL,
    PRIMARY KEY (id)
);

CREATE TABLE message_recipient
(
    msg INT UNSIGNED NOT NULL,
    recipient INT UNSIGNED NOT NULL,
    PRIMARY KEY (msg, recipient),
    FOREIGN KEY (msg) REFERENCES message (id) ON DELETE CASCADE,
    FOREIGN KEY (recipient) REFERENCES group (id) ON DELETE CASCADE
);

I added some foreign keys in there mostly so you can see what the second table is for. Those lines could be left out if you're not using InnoDB or even if you are. Then, you could have separate queries for:

"Filter messages by type"
Code: (sql) [Select]
SELECT t1.* FROM message AS t1 JOIN message_recipient AS t2 ON t1.msg = t2.id WHERE t2.recipient = %d && t1.type = %d;
You could alter the message table to add a "parent" column and now you have the ability to thread your messages which creates a "forum-like" message system that would be useful for clan communications, etc.

The reason I list the recipient as belonging to the "group" table is that you could, theoretically, address a message to an entity that is not a player. Say you want a message to go to your guild and one additional player. Each player is their own group in the group table and certain players belong to other groups as designated (faction, guild, custom user groups, etc.).

But, again, probably over-simplified and it looks like you're already hip-deep.
Idiocy - Never underestimate the power of stupid people in large groups.


Offline Chris

  • Game Owner
  • Level 35
  • *
  • Posts: 2,128
  • Reputation: +26/-1
    • View Profile
Re: Interface for message system
« Reply #15 on: June 27, 2010, 01:01:35 PM »
So, you say to make in-game forum with auto created boards like "Your faction", "Your kingdom" and then put on the interface a single notification that you have a new forum post. When you click it you see the highlighted boards (like on this forum) if there is a new post?

Or you meant something different?


Ignore the code, I need only "visual" description how it should work/look like.

Offline Delifisek

  • Level 12
  • *
  • Posts: 79
  • Reputation: +1/-1
    • View Profile
Re: Interface for message system
« Reply #16 on: June 27, 2010, 05:53:34 PM »
I mean why did you not create virtual boxes using with type field on db ?

Simple idea...

SELECT * FROM messages

when looop

$mesages[whatewherbox] = html_output(message_from_sql);

put js based tabs

each tab has

sizeof($mesages[whatewherbox])


Offline JGadrow

  • Level 35
  • **
  • Posts: 1,133
  • Reputation: +23/-2
    • View Profile
Re: Interface for message system
« Reply #17 on: June 28, 2010, 09:11:33 AM »
So, you say to make in-game forum with auto created boards like "Your faction", "Your kingdom" and then put on the interface a single notification that you have a new forum post.
No, Delifisek and I have the same suggestion. There really aren't separate boxes for messages, just one table storing them. Then there would be a "type" field that lets you create virtual directories for these messages.

Have you tried asking your users for their opinions on this topic? Since they're actually using the game they might actually prove more insightful about where in the design they'd like the notifications to appear or if multiple "types" of notifications are necessary.
Idiocy - Never underestimate the power of stupid people in large groups.


Offline Chris

  • Game Owner
  • Level 35
  • *
  • Posts: 2,128
  • Reputation: +26/-1
    • View Profile
Re: Interface for message system
« Reply #18 on: June 28, 2010, 03:33:15 PM »
Please, no coding talk. I just need the visual, enduser experience, a picture of the UI. I have posted this in "Web Design & Graphics" and not "coding" board for a reason :)
And yes, there is only one message table in the code if you must know, it would be insane to do it any other way :)

So, how such thing should look like?

I have a hard time understanding several of the last posts. Do you suggested to make one window with all messages from all boxes tossed together (with some type indicator next to it)? In such case, it won't work, because there are too many of such messages daily on average. It would be completely unreadable.

Quote
Have you tried asking your users for their opinions on this topic?
You do think very poorly of me, don't you? ;) Yes, of course I, like each and every sane game dev, ask my players about such things.
But players are not designers. They will not think out of the box. They will not think about other players but only about their personal experience (and there are some shy players who simply do not talk and give no feedback). Player's feedback is not enough.

Offline Delifisek

  • Level 12
  • *
  • Posts: 79
  • Reputation: +1/-1
    • View Profile
Re: Interface for message system
« Reply #19 on: June 29, 2010, 02:44:07 AM »
So best way is the use the standard mail agents approach.

Put a selectbox with size = sizeof(total_box)

with this you got lots of area and if there where new boxes you dont worry to how to expand.

also it gives users to same feeling as outlook...

Offline dsheroh

  • Level 21
  • *
  • Posts: 235
  • Reputation: +6/-0
  • Perl Vicar
    • View Profile
    • Psi Rangers
Re: Interface for message system
« Reply #20 on: June 29, 2010, 04:33:33 AM »
I have a hard time understanding several of the last posts. Do you suggested to make one window with all messages from all boxes tossed together (with some type indicator next to it)? In such case, it won't work, because there are too many of such messages daily on average. It would be completely unreadable.

My take on the recent posts is that they are indeed suggesting one window with all messages shown together and a type indicator for each... plus a dropdown to filter the list to display only a single message type instead of everything.

That way, you (the developer) get a compact and easily-extensible design, users who don't receive all that many messages get the ability to view them all at once, and users who are flooded with messages get the ability to divide them up to view by type.  Everybody wins.

Plus, it would put you in a good position to add user-customizable filters (show messages by sender, messages with a certain word in the subject, etc.) in the future if/when simply filtering by category is no longer adequate.

Offline JGadrow

  • Level 35
  • **
  • Posts: 1,133
  • Reputation: +23/-2
    • View Profile
Re: Interface for message system
« Reply #21 on: June 29, 2010, 08:02:37 AM »
Actually, my suggestion was to make a box (maybe 232x32 or 116x74) That would have icons that the user could see that they have new {type} messages.

An envelope signifying new personal messages...

A crest signifying new guild messages...

A gavel signifying new council messages...

etc.

This way, the user could tell at a glance if they have new messages and what type of messages they have new messages of. You could place a number next to the indicator if you provided more space for it but I would save the full listing for the actual message display page.

Basically each icon would be 32x32 and have approx 10px of padding between it and any other icons that are currently displayed. Icons would only be displayed if a new message of that type is in the user's inbox.

Again, this could be easily extended if you added new types and the user would have a quick, visual indicator of new messages that needn't take up a ton of space in your design.
Idiocy - Never underestimate the power of stupid people in large groups.


Offline Shrapnel

  • Level 9
  • *
  • Posts: 46
  • Reputation: +0/-0
    • View Profile
Re: Interface for message system
« Reply #22 on: June 29, 2010, 02:07:50 PM »
Chris,

I agree with JGadrow in that you only need one Inbox.  What it sounds like you need are filters.  All messages come into one Inbox, but each message is given a type as JGadrow said.  A menu at the top lists the types of messages and you click the appropriate type to see messages of only that type.  If you have sub types, I suppose you could have drop down sub menus for each major type.
"Never compromise. Not even in the face of Armageddon" -Rorschach, Watchmen (2009)

Offline Chris

  • Game Owner
  • Level 35
  • *
  • Posts: 2,128
  • Reputation: +26/-1
    • View Profile
Re: Interface for message system
« Reply #23 on: November 02, 2010, 07:00:15 AM »
I went for small clickable envelopes icons. When there is not a message of a certain kind that envelope is black/darkish, when there is a message it is yellow/goldish. Not sure if this is a perfect solution but I got no complains from players after implementation (very unusual :D).

Also I have "global" Message tab on menu. It brings you to the message center with all message boxes selectable from the horizntal menu. This kind of duplicate then clickable icons and some players say to remove it...

Then I have Inn (shoutbox) where a lot of conversation is going on. It is on the menu as well, below Messages.

There is also Forum button on the menu (not very important I would say). And ContactStaff menu button.


Wonder how to arrange these. In many games I saw things like Forum and ContactStaff being links at the very top/bottom of the page so not like part of the game interface but still accessible.

 


SimplePortal 2.3.3 © 2008-2010, SimplePortal