Author Topic: Paragon Chat Development Roadmap and Wishlist  (Read 234526 times)

Rejolt

  • Elite Boss
  • *****
  • Posts: 512
  • Infinity Server 2005-2012
Re: Paragon Chat Development Roadmap and Wishlist
« Reply #120 on: July 22, 2015, 03:35:44 AM »
Codewalker could be thinking about implementing federation, where one XMPP server could be configured to "trust" another one, such that people who log into server A can send messages to people on server B without having to directly log into server B.  Instead, server A forwards those messages to server B for the user, and returns traffic similarly.  Server "jumping" is the easy way, but its a little clunky.  Federation might be cleaner in the long run, but does require some cooperation between the server ops (Federation also allows for things like a global Paragon Chat channel that actually works across servers, like the global chat system City of Heroes used).

Isn't Skyforge in trouble for this. Anti-Malware programs were blocking a "worm" that was allowing player to player sharing at start up without the player's request. Sounds like this will be optional here though.
Rejolt Industries LLC is now a thing. Woo!

davpa

  • Underling
  • *
  • Posts: 19
    • Entropy Legion VG in Virtue
Re: Paragon Chat Development Roadmap and Wishlist
« Reply #121 on: July 22, 2015, 03:56:42 AM »
The one thing I want on the wishlist is to get the word bubble, or Typing Bubble, over the head when you are typing. When the game was live it was done by:

/bind enter "afk {insert witty message here}$$startchat"

example:
/bind enter "afk MM is preparing yet another insightful comment$$startchat"

This would put a bubble over your character's head that says "MM is preparing yet another insightful comment" whenever you hit the enter key to start typing.

If we could get that back it would be awesome.  It just clued in people around you that you didn't fall asleep or that you were typing a really really long message.
If life closes a door, open it back up.  That is how doors work.

Arcana

  • Sultaness of Stats
  • Elite Boss
  • *****
  • Posts: 3,672
Re: Paragon Chat Development Roadmap and Wishlist
« Reply #122 on: July 22, 2015, 04:01:09 AM »
Isn't Skyforge in trouble for this. Anti-Malware programs were blocking a "worm" that was allowing player to player sharing at start up without the player's request. Sounds like this will be optional here though.

I think you're referring to Skyforge planting a peer to peer sharing system on people's computers that in effect allowed other players to download the game client's files from your computer in essentially a large p2p file sharing system.  I don't have first hand knowledge, but from what I've heard that was incredibly unethical of them to do.  However, what we're talking about is nothing remotely like that.  Paragon Chat is, fundamentally, a real time chat messaging system that happens to visualize your chat environment as the City of Heroes gamescape.  Its using a standard messaging system called XMPP.  XMPP is explicitly designed to be a global, routable messaging system.  The question is whether it would be possible for a Paragon Chat user logged into some private server over there to be able to communicate with, and even share visual space with, someone logged into another server other there, perhaps the Titan server.  XMPP itself already allows this.  What needs to happen is Paragon Chat has to be programmed to take advantage of that, so that the person you're chatting with and you could end up in the same visual zone, separate from chatting in the same room (channel).  None of that would be considered similar to the Skyforge situation.  Skyforge was actually taking bandwidth and sharing files without the player's knowledge.  Paragon Chat isn't really "sharing" anything in the same sense.  For Paragon Chat, "sharing" really means "sending and receiving messages." 

The proper analogy is that Skyforge, without the player's knowledge or consent, turned the player's computer into an FTP server that other people could transfer files to and from.  That's why antimalware software was blocking it.  Paragon Chat is an email client that at the moment can only send email to one place, but the intent is to one day allow it to send messages to many different destinations and receive them from many different destinations.  When you shut down Skyforge, and even before you ever start playing it, Skyforge's launcher was running in the background sharing (its own) files (the big problem: many people have bandwidth caps on their internet feeds or pay based on usage).  Paragon Chat does nothing until you start it, and stops working the moment you close it (as some players have discovered), and there's no intent to change that.

Arcana

  • Sultaness of Stats
  • Elite Boss
  • *****
  • Posts: 3,672
Re: Paragon Chat Development Roadmap and Wishlist
« Reply #123 on: July 22, 2015, 04:08:15 AM »
The one thing I want on the wishlist is to get the word bubble, or Typing Bubble, over the head when you are typing. When the game was live it was done by:

/bind enter "afk {insert witty message here}$$startchat"

example:
/bind enter "afk MM is preparing yet another insightful comment$$startchat"

This would put a bubble over your character's head that says "MM is preparing yet another insightful comment" whenever you hit the enter key to start typing.

If we could get that back it would be awesome.  It just clued in people around you that you didn't fall asleep or that you were typing a really really long message.

I didn't even know you couldn't do that; never occurred to me to test.  That sounds like a relatively simple thing that could be added to Presence.  <presence xmlns="pc:presence" afk="Away from keyboard eating sammich" />.  I'm just wondering if people do it a lot if it would be an abuse of presence to use it that way.  But its sort of logical in that afk was the City of Heroes version of signalling a form of unavailable status.

Sorry, getting technical here.  The technical thread is getting in my head.  I suspect its not a difficult feature to add assuming the actual CoH protocol message is something known to Codewalker; its just a matter of priority.  But it sounds like the sort of low hanging fruit QoL thing Codewalker might add in an alphabet release.

Codewalker

  • Hero of the City
  • Titan Network Admin
  • Elite Boss
  • *****
  • Posts: 2,740
  • Moar Dots!
Re: Paragon Chat Development Roadmap and Wishlist
« Reply #124 on: July 22, 2015, 04:10:01 AM »
I haven't really been paying attention to the Skyforge thing, but it's a little surprising as Blizzard's updater has been using Bittorrent behind the scenes for years and there's hardly been a complaint. You can easily turn off "peer-to-peer" in its settings, though, so maybe the Skyforge issue is that they didn't tell people about it or provide an option to disable it.

Or they could be using something awful like Pando, which does peer-to-peer downloads but also does other spyware-like stuff that is a much bigger worry, plus it tries to hide and seed the P2P network even when you have the updater closed.

The latest version of Paragon Chat is more likely to trigger antivirus warnings because of the code to update itself. Some of the heuristics look for a program that downloads another program as a lot of malware does that. Most popular software gets to bypass that particular check simply because it's popular. "Modern" antivirus is more annoying than useful when it comes to small, independent developers.

Codewalker

  • Hero of the City
  • Titan Network Admin
  • Elite Boss
  • *****
  • Posts: 2,740
  • Moar Dots!
Re: Paragon Chat Development Roadmap and Wishlist
« Reply #125 on: July 22, 2015, 04:13:32 AM »
I didn't even know you couldn't do that; never occurred to me to test.  That sounds like a relatively simple thing that could be added to Presence.  <presence xmlns="pc:presence" afk="Away from keyboard eating sammich" />.  I'm just wondering if people do it a lot if it would be an abuse of presence to use it that way.  But its sort of logical in that afk was the City of Heroes version of signalling a form of unavailable status.

That's kind of why I haven't done it yet. The logical way to implement it is exactly that; as presence, so that when you /afk ingame, you show up as away on the Pidgin buddy list for instance.

The problem is that of course is people abusing afk in keybinds to get a bubble over their heads.  That's a lot of presence to send quite often, and Paragon Chat's presence to roster members is heavier weight than normal due to the character info...

I could add a second command to do just the bubble but not the presence, which would only need to go to the zone meta channel be much lighter weight, but I'm not sure I can rely on everyone finding out about it and using it instead of /afk.

Felderburg

  • Ask me how I got this title!
  • Elite Boss
  • *****
  • Posts: 1,615
  • Personal text? What's that?
Re: Paragon Chat Development Roadmap and Wishlist
« Reply #126 on: July 22, 2015, 04:23:52 AM »
The thing is that XMPP servers can talk to each other. That's how the protocol is designed and intended to be used.

I think that answers my question.

...the 21 character global name limit that we can't exceed without crashing the client.

Aw.  :-[

I could add a second command to do just the bubble but not the presence, which would only need to go to the zone meta channel be much lighter weight, but I'm not sure I can rely on everyone finding out about it and using it instead of /afk.

Make a /xmppafk command. There's already some xmpp specific slash commands, why not another?
I used CIT before they even joined the Titan network! But then I left for a long ol' time, and came back. Now I edit the wiki.

I'm working on sorting the Lore AMAs so that questions are easily found and linked: http://paragonwiki.com/wiki/Lore_AMA/Sorted Tell me what you think!

Pinnacle: The only server that faceplants before a fight! Member of the Pinnacle RP Congress (People's Elf of the CCCP); formerly @The Holy Flame

Arcana

  • Sultaness of Stats
  • Elite Boss
  • *****
  • Posts: 3,672
Re: Paragon Chat Development Roadmap and Wishlist
« Reply #127 on: July 22, 2015, 05:06:17 AM »
Make a /xmppafk command. There's already some xmpp specific slash commands, why not another?

That's what Codewalker was saying, but the problem is that the idea is to have two commands: afk would be for genuine afk status and would not only show up over people's heads but also show up to generic chat clients: you'd see their status in your chat client as "AFK".  But the problem is that the XMPP message you'd normally use to do that is also used by Paragon Chat to signal a significant amount of other stuff.  If you are genuinely going AFK, it makes sense to send an updated Presence message that works for both CoH/PC and for normal chat clients (remember: Paragon Chat is fundamentally a chat client).  But if people are going to also use afk as a prefix to every tell they make, it will hammer the XMPP servers with these Presence updates.  I'm AFK now I'm not no I'm AFK again no I'm not wait I'm AFK again.  That's not good.

Since City of Heroes players use the /afk command to actually do two different logical things (that happen to appear the same), signalling genuine AFK and signalling "can't talk right this second because I'm typing", it makes sense to have two different commands that do two different things: one signals genuine status, and the other just pops the bubble over your head (but signals nothing to non-Paragon Chat users).  The problem with making an /xmppafk command is that honestly few players would use it.  Let's be honest: a large number of Paragon Chat users ran into exactly the same problems and asked exactly the same questions in the first week of launch.  If you make /afk work and make an /xmppafk command and people start using them, other players will see that working and assume Codewalker got /afk working and just start spamming that instead.

Having said all of that, one possible way around this might be to change the way Paragon Chat processes commands so that /afk *cannot* be used in macros.  That way if someone types /afk or actually goes afk literally (idles away from the keyboard and prompts the game client to try to auto-afk you) that triggers a Presence update.  But if someone tries to "afk TypingNow$$startchat" the afk will not execute.  That would enforce a "use xmppafk for afk-chat" rule, but still allow people to use /afk for legitimate away from keyboard time.  You could even have /afk throw a system channel error that says "cannot use afk in macros, use xmppafk instead".

(Except I wouldn't call it xmppafk, because that's Bizarro nomenclature - the real afk is the XMPP afk, and /xmppafk is explicitly *not* an XMPP afk.  I would call it "/chatafk" because that's basically what it is.)

FloatingFatMan

  • An Offal
  • Elite Boss
  • *****
  • Posts: 1,178
  • Kheldian's Forever!
Re: Paragon Chat Development Roadmap and Wishlist
« Reply #128 on: July 22, 2015, 05:18:21 AM »
I didn't even know you couldn't do that; never occurred to me to test.  That sounds like a relatively simple thing that could be added to Presence.  <presence xmlns="pc:presence" afk="Away from keyboard eating sammich" />.  I'm just wondering if people do it a lot if it would be an abuse of presence to use it that way.  But its sort of logical in that afk was the City of Heroes version of signalling a form of unavailable status.

Sorry, getting technical here.  The technical thread is getting in my head.  I suspect its not a difficult feature to add assuming the actual CoH protocol message is something known to Codewalker; its just a matter of priority.  But it sounds like the sort of low hanging fruit QoL thing Codewalker might add in an alphabet release.

It was something used extensively by RPers.  It was incredibly useful, especially for slower typists, as it let other RPers know you were typing a response and not just ignoring them.

General Idiot

  • Elite Boss
  • *****
  • Posts: 648
Re: Paragon Chat Development Roadmap and Wishlist
« Reply #129 on: July 22, 2015, 07:41:34 AM »
Personally, I think the simplest solution there might be to just make the /afk we're all used to be the one used for the text bubble and have a new command like /xmppafk be the one that actually sets the proper afk status visible to chat clients. Sure, you'd still get people using the /afk command thinking it signals really being afk but at least that way you're not hammering the server every time someone uses the wrong command.

Arcana

  • Sultaness of Stats
  • Elite Boss
  • *****
  • Posts: 3,672
Re: Paragon Chat Development Roadmap and Wishlist
« Reply #130 on: July 22, 2015, 08:15:10 AM »
It was something used extensively by RPers.  It was incredibly useful, especially for slower typists, as it let other RPers know you were typing a response and not just ignoring them.

I didn't know you couldn't do that in Paragon Chat: I used to see it all the time in-game.

Arcana

  • Sultaness of Stats
  • Elite Boss
  • *****
  • Posts: 3,672
Re: Paragon Chat Development Roadmap and Wishlist
« Reply #131 on: July 22, 2015, 08:25:06 AM »
Personally, I think the simplest solution there might be to just make the /afk we're all used to be the one used for the text bubble and have a new command like /xmppafk be the one that actually sets the proper afk status visible to chat clients. Sure, you'd still get people using the /afk command thinking it signals really being afk but at least that way you're not hammering the server every time someone uses the wrong command.

For me, the problem is that its conceptually ugly to preserve the roundabout usage of a command and invisibly break the actual intended use of the command.  And there's a separate problem that I can't estimate the effort to resolve: the game client itself (at least appears to) throw /afk commands when you idle out.  Paragon Chat would have to figure out the difference between a  player typing /afk and the game client generating an /afk.  I don't know if that is easy, difficult, or impossible (given Paragon Chat's architecture).

FloatingFatMan

  • An Offal
  • Elite Boss
  • *****
  • Posts: 1,178
  • Kheldian's Forever!
Re: Paragon Chat Development Roadmap and Wishlist
« Reply #132 on: July 22, 2015, 09:25:34 AM »
I didn't know you couldn't do that in Paragon Chat: I used to see it all the time in-game.

It was like, the second thing I tried on logging in. :p

FloatingFatMan

  • An Offal
  • Elite Boss
  • *****
  • Posts: 1,178
  • Kheldian's Forever!
Re: Paragon Chat Development Roadmap and Wishlist
« Reply #133 on: July 22, 2015, 09:31:28 AM »
the game client itself (at least appears to) throw /afk commands when you idle out.  Paragon Chat would have to figure out the difference between a  player typing /afk and the game client generating an /afk.  I don't know if that is easy, difficult, or impossible (given Paragon Chat's architecture).

Oh, it does, and in fact, as I found out the other day, the client will disconnect you if you idle too long, too.  I guess that was a client thing and not a server thing!

Codewalker

  • Hero of the City
  • Titan Network Admin
  • Elite Boss
  • *****
  • Posts: 2,740
  • Moar Dots!
Re: Paragon Chat Development Roadmap and Wishlist
« Reply #134 on: July 22, 2015, 12:55:57 PM »
Having said all of that, one possible way around this might be to change the way Paragon Chat processes commands so that /afk *cannot* be used in macros.  [...] But if someone tries to "afk TypingNow$$startchat" the afk will not execute.

That's actually not cleanly possible. The "$$" is parsed clientside, so Paragon Chat gets sent two separate commands; afk, then beginchat. The only reason it (usually) wasn't working in PC is because the client has a tendency to (usually) pack those two commands into a single packet, and PC had an issue where it wasn't continuing to read more data after processing the first command.

(Except I wouldn't call it xmppafk, because that's Bizarro nomenclature - the real afk is the XMPP afk, and /xmppafk is explicitly *not* an XMPP afk.  I would call it "/chatafk" because that's basically what it is.)

I'd probably call it /typing, since that's what people use it for. Bonus points for implementing it using XMPP chat state messages (which XMPP clients use to indicate someone is typing). Not that it will really matter since PC has no way of knowing who you're typing to so it will just go to the meta channel for the bubble, but anyway.

Codewalker

  • Hero of the City
  • Titan Network Admin
  • Elite Boss
  • *****
  • Posts: 2,740
  • Moar Dots!
Re: Paragon Chat Development Roadmap and Wishlist
« Reply #135 on: July 22, 2015, 01:03:36 PM »
Personally, I think the simplest solution there might be to just make the /afk we're all used to be the one used for the text bubble and have a new command like /xmppafk be the one that actually sets the proper afk status visible to chat clients. Sure, you'd still get people using the /afk command thinking it signals really being afk but at least that way you're not hammering the server every time someone uses the wrong command.

As was mentioned, the client sends an /afk command when you're idle, and there's no way to distinguish it from one that the user typed. Changing the behavior of /afk would mean that auto-idle away status wouldn't be seen by standard XMPP clients.

I think adding a separate /typing command for chat binds is probably the cleanest way to do it, and use either (or both) of these methods to encourage people to use it:

1. If multiple /afk commands are received in a relatively short time period, say more than once a minute for a couple minutes in a row, start processing them as "/typing" instead and send the player a message on the system channel advising them to update their binds.

2. When loading keybinds from the database to send to the client, look for any that contain "afk", "$$", and "beginchat" or "startchat". If one contains all three, change the "afk" to "typing". This wouldn't take effect when the bind was created, only on next login, because keybinds are mostly clientside and the server has no opportunity to change one except when sending the character after login / zone change.

ukaserex

  • Elite Boss
  • *****
  • Posts: 500
Re: Paragon Chat Development Roadmap and Wishlist
« Reply #136 on: July 22, 2015, 02:36:44 PM »
This is truly dizzying.

Why not just forbid people from ever going afk under penalty of lag and map server disconnects?

Seriously, I had no idea all this discussion would develop over something like AFK.

If I had, I would never use it. I don't often afk anyway - at least, not when the game was active. I found that to be kind of rude. Sure - things happen - but somehow, I just managed to play through those things. Different lifestyle, I suppose, not having kids or pets needing attention.

Utimately, given the resources the /afk utilizes, I say I'll trust you folks to figure something out. In the meantime, I just won't use the letters.
Those who have no idea what they are doing genuinely have no idea that they don't know what they're doing. - John Cleese

Codewalker

  • Hero of the City
  • Titan Network Admin
  • Elite Boss
  • *****
  • Posts: 2,740
  • Moar Dots!
Re: Paragon Chat Development Roadmap and Wishlist
« Reply #137 on: July 22, 2015, 02:56:53 PM »
This is the same kind of thought process that goes into every feature added to Paragon Chat. It's just usually not posted on the forums. :D

Felderburg

  • Ask me how I got this title!
  • Elite Boss
  • *****
  • Posts: 1,615
  • Personal text? What's that?
Re: Paragon Chat Development Roadmap and Wishlist
« Reply #138 on: July 22, 2015, 03:03:01 PM »
Personally, I think the simplest solution there might be to just make the /afk we're all used to be the one used for the text bubble and have a new command like /xmppafk be the one that actually sets the proper afk status visible to chat clients. Sure, you'd still get people using the /afk command thinking it signals really being afk but at least that way you're not hammering the server every time someone uses the wrong command.

This is what I was getting at. It seems to me that the reason many people used (in CoH) and want to use /afk is for the bubble over the head while typing (and I'm with FFM in it's extreme usefulness in RP letting others nearby know you're typing). The question for me is: how important is it that you send out to PC and anyone who might possibly contact you that you're literally afk, as opposed to just putting a bubble over your head?
I used CIT before they even joined the Titan network! But then I left for a long ol' time, and came back. Now I edit the wiki.

I'm working on sorting the Lore AMAs so that questions are easily found and linked: http://paragonwiki.com/wiki/Lore_AMA/Sorted Tell me what you think!

Pinnacle: The only server that faceplants before a fight! Member of the Pinnacle RP Congress (People's Elf of the CCCP); formerly @The Holy Flame

FloatingFatMan

  • An Offal
  • Elite Boss
  • *****
  • Posts: 1,178
  • Kheldian's Forever!
Re: Paragon Chat Development Roadmap and Wishlist
« Reply #139 on: July 22, 2015, 03:14:17 PM »
If I had, I would never use it. I don't often afk anyway - at least, not when the game was active. I found that to be kind of rude. Sure - things happen - but somehow, I just managed to play through those things. Different lifestyle, I suppose, not having kids or pets needing attention.

You need to pee. Do you go to relieve yourself, or sit in a puddle?
The doorbell rings. Do you get up and answer it, or ignore it.
The phone rings. Do you get up and answer it, or ignore it.
Your partner falls down the stairs. Do you get up to help them or ignore their screams?
An armed robber bursts into your home. Do you get up and do what he says, or ignore him and get murdered?
Your house catches fire. Do you evacuate or cook?

There are billions of reasons for going AFK, all completely legit, and some a bit silly ;).  AFK mode is a necessary thing in a multi-user environment.  It's the closest thing we have to a pause button.