YaBB Community and Support Forum
YaBB Home About YaBB Download YaBB YaBB Support Customize Your Forum Development Contribute to the Project
  Welcome, Guest. Please Login or Register


 
Pages: 1 2 
Topic Tools
 
PMs to be more "instant" (Read 8,695 times)
 Jul 16th, 2009 at 1:15am
There are no actions to perform.  

Corey Chapman 
YaBB Administrator
*****
Offline
Posts: 10,015
Rock Hill, South Carolina


YaBB 2.5
PMs to be more "instant"
YaBB has always had available a "chat" mod.  It was not added as a default feature for several reasons:  PMs already existed, the point of a forum was to record the discussion for viewing later, the chat mod required a lot of overhead and didn't work on all browsers I think.

What if we were to use Ajax to make PMs more "instant"?  If a person is online and you send a PM to them, it pushes directly to their browser.  Right now you have to click to another page or refresh to see the message at the top stating if you have new PMs (or to see the Javascript popup generated only on the board index).  Even better would be to make this feature work like a chat box if the person is online that can be opened or closed on the bottom of the page.  If you've ever used the Gmail Chat or the chat feature now on Facebook, you'll know what I'm talking about.
 
...
722568493  
IP Logged  
 Reply #1 - Jul 16th, 2009 at 1:28am
There are no actions to perform.  

Matt Siegman 
YaBB Legends (Inactive)
*
Offline
Posts: 3,380
Wichita, KS


None
Re: PMs to be more "instant"
I'm not sure that's a good idea to put in as a core feature. It could put a lot of load on the server and may violate a lot of hosts' acceptable use policy.
 
-- Matt Siegman 8) Wish List
 
IP Logged  
 Reply #2 - Jul 16th, 2009 at 2:11am
There are no actions to perform.  

OH Eng 
Past Team Members
Documentation Team
Offline
Posts: 4,026
Pensacola, Florida USA


None
Re: PMs to be more "instant"
As a normal forum user I would probably like it.  As a Support Team member I would probably turn it off before very long.  Not that it isn't a good feature, but I get quite a few users who, if they spot me online, will PM me for help rather than post.  Doesn't matter if you've asked them 12 times to NOT do that, they still do.  That's why I set my PM's to full ignore about once every 3 or 4 weeks, just for a week or so.  Forces them back into posting.

Load and host TOS are big reasons to consider.

This reminded me of another suggestion.  I'll post separately so as not to hijack this topic.
 
 
OH Eng  
IP Logged  
 Reply #3 - Jul 16th, 2009 at 2:59am
There are no actions to perform.  

Corey Chapman 
YaBB Administrator
*****
Offline
Posts: 10,015
Rock Hill, South Carolina


YaBB 2.5
Re: PMs to be more "instant"
I don't know if this would require all that much load or not - of course, I'd only be for it if it wasn't that intensive.  On the flip side, how else can we be different - this is one easy way.

As far as annoying people that don't want it, you can always make it a user preference in your profile to allow the instant version or not.  You'd also be able to set your status there too (stealth/hidden mode on/off and away on/off like we have in the profile but right on the chat dialog).
 
...
722568493  
IP Logged  
 Reply #4 - Jul 16th, 2009 at 6:02pm
There are no actions to perform.  

Unilat 
Development Team
Theme Team
****
Offline
Posts: 1,047
Columbus Ohio, USA


None
Re: PMs to be more "instant"
There is no way to push data to a user. AJAX can only send without actually loading a page. It cannot receive as soon as there is an update unless it is constantly checking, which means background processes would be constantly running and making server load.

The easiest way to be different would be to eliminate the PM page altogether. If you hit PM, a floating div will pop up on the screen with what we see now on the PM page. Then when you send it, it goes away and sends the message. If there is an error, write it to a log of some sort and the next refresh of a page will alert the user that there was an error in sending the message.
« Last Edit: Jul 16th, 2009 at 6:04pm by Unilat »  
 
IP Logged  
 Reply #5 - Jul 16th, 2009 at 7:23pm
There are no actions to perform.  

deti 
Legacy Dev Team
Development Team
****
Offline
Posts: 2,650
Prien am Chiemsee, Germany


None
Re: PMs to be more "instant"
In the "Who is Where?" Mod we have something called DM (DirectMessages). You can write a short message to someone who is online at the moment. When he calls the next page he get an JS-alert with this short message in it, then this message is deleted on the server DM-file.

You can test it here, if you are logged in, on this board of JetLi:
http://www.yabbworld.com/cgi-bin/yabbmods/YaBB.pl?action=who
Just send a DM to yourself. Smiley
 
Was immer Du tun kannst
oder erträumst tun zu können,
beginne es.
Kühnheit besitzt Genie,
Macht und magische Kraft.
Beginne es jetzt.
Whatever you can do
or dream you can,
begin it.
Boldness has genius,
power and magic in it.
Begin it now.
J. W. Goethe
WWW  
IP Logged  
 Reply #6 - Jul 16th, 2009 at 11:41pm
There are no actions to perform.  

Matt Siegman 
YaBB Legends (Inactive)
*
Offline
Posts: 3,380
Wichita, KS


None
Re: PMs to be more "instant"
As Unilat said, proper instant messaging like FB or GMail would require almost constant polling of the server. I think the direct messaging method that deti has is pretty cool, we could make that just part of the normal pm system.
 
-- Matt Siegman 8) Wish List
 
IP Logged  
 Reply #7 - Jul 17th, 2009 at 1:52am
There are no actions to perform.  

cepheid 
Senior Member
****
Offline
Posts: 516


None
Re: PMs to be more "instant"
Matt Siegman wrote on Jul 16th, 2009 at 11:41pm:
proper instant messaging like FB or GMail would require almost constant polling of the server.

It doesn't have to be constant, per se... I believe FB and GMail poll only once every 10 seconds or so, though I'm not positive.  Of course, most YaBB admins don't have the server resources that FB and GMail do, so even once-per-10-seconds polling could be a bit much for some admins, although if done minimally, each request would only be marginally larger than just HTTP headers (i.e. no more than a few hundred bytes).

Matt Siegman wrote on Jul 16th, 2009 at 11:41pm:
I think the direct messaging method that deti has is pretty cool, we could make that just part of the normal pm system.

Isn't that basically the same idea behind the "pop-up notification on new PMs," except that it contains the actual PM instead of a notification?  It seems like this would be (sort of) duplicating functionality, and if it's limited to only short messages then it might be of rather limited use, too.

Perhaps the PM pop-up could be expanded somewhat to include the first 100 characters or so of the message, so that short messages will appear in their entirety?  The pop-up could include two buttons: "View PM" or "Delete PM" ... I guess this would be sort of a fusion of both methods.
 
WWW  
IP Logged  
 Reply #8 - Jul 17th, 2009 at 2:00am
There are no actions to perform.  

Matt Siegman 
YaBB Legends (Inactive)
*
Offline
Posts: 3,380
Wichita, KS


None
Re: PMs to be more "instant"
Yeah, it essentially is, but we could do better than a simple notification.
 
-- Matt Siegman 8) Wish List
 
IP Logged  
 Reply #9 - Jul 17th, 2009 at 2:02am
There are no actions to perform.  

cepheid 
Senior Member
****
Offline
Posts: 516


None
Re: PMs to be more "instant"
Unilat wrote on Jul 16th, 2009 at 6:02pm:
It cannot receive as soon as there is an update unless it is constantly checking, which means background processes would be constantly running and making server load.

It depends on how often it polls, and whether the polls and responses are structured to be as minimal as possible on the back-end (where each poll looks only for a "yes" or "no," and a "yes" response will trigger something more complex).  On a couple of servers, I run a piece of software called AJAX Chat (exactly what it sounds like: a chat program based on AJAX).  There are organized monthly chats with 20-30 users on simultaneously, all querying the server constantly for an hour, and the server handles it quite well.  (I've done this both on a shared hosting account with limited bandwidth and on a relatively crappy but dedicated server... I never had problems either on the shared account or the dedicated server in terms of CPU usage, bandwidth overages, or server speed.)

AJAX Chat also has an option for running its own daemon using Ruby, although that gets more complicated.

(I actually think AJAX Chat would make a great chat program for YaBB.  Integrating the login processes is trivial, though a full integration would be more difficult.  I started talking to Jet Li about this for his chat mod, but haven't gotten anywhere fit it yet due to other pressing concerns.)
 
WWW  
IP Logged  
 Reply #10 - Jul 17th, 2009 at 2:14am
There are no actions to perform.  

Matt Siegman 
YaBB Legends (Inactive)
*
Offline
Posts: 3,380
Wichita, KS


None
Re: PMs to be more "instant"
The problem is that most shared hosts explicitly prohibit chat programs. YaBB is used on a lot of said hosts. We already have enough problems with those hosts complaining about us, we don't need to give them yet another reason.
 
-- Matt Siegman 8) Wish List
 
IP Logged  
 Reply #11 - Jul 17th, 2009 at 2:40am
There are no actions to perform.  

cepheid 
Senior Member
****
Offline
Posts: 516


None
Re: PMs to be more "instant"
Matt Siegman wrote on Jul 17th, 2009 at 2:14am:
The problem is that most shared hosts explicitly prohibit chat programs.

True, but I think that depends on the type of chat.  The host I use (OLM.net) specifically prohibits IRC, but they do not prohibit PHP-based chat modules (in fact, they even offer to automatically install phpMyChat).

Obviously, some hosts are stricter than others.

Edited:
The nice part about AJAX Chat is that they push almost all of the processing, especially the HTML formation, to the client via JavaScript, so the server sends back only updates and only in plain text - all the formatting, emoticons, etc. is done client-side via JS.  It's really quite clever.


In any case, I brought up AJAX Chat not because I recommend we add a full chat module (that can be done as a Mod, per Jet Li's existing one) but because they use AJAX to poll every 2 seconds, but they structure the polls to be as minimal as possible, so the impact on the server isn't too bad.  Granted, I only tested it with 20-30 users; for large forums with hundreds of people browsing simultaneously, it could be bad, but hopefully anyone running such a large and popular forum would be on a server that could support it!

Anyway, all I'm saying is that I understand the need to avoid constant AJAX polling, but that it can probably be done in a minimalistic way to make its impact small compared to the YaBB process in general.  I'm only saying we shouldn't necessarily dismiss the AJAX polling out of hand.  My opinion only, of course.  (The actual issue of a FULL chat program per se is one for another thread, and I agree it should be done as a mod, not as part of the standard install.)
« Last Edit: Jul 17th, 2009 at 3:04am by cepheid »  
WWW  
IP Logged  
 Reply #12 - Jul 17th, 2009 at 4:27am
There are no actions to perform.  

Jet Li 
Legacy Dev Team
Development Team
****
Offline
Posts: 6,588
Hong Kong


None
Re: PMs to be more "instant"
cepheid wrote on Jul 17th, 2009 at 1:52am:
Isn't that basically the same idea behind the "pop-up notification on new PMs," except that it contains the actual PM instead of a notification?It seems like this would be (sort of) duplicating functionality, and if it's limited to only short messages then it might be of rather limited use, too.

Direct Messages only works if user are online. And if you send a DM to a user, which go off, its save message into variables/whomessage.txt until user goes online again.

Direct Message can be disabled in Profile Option who no want to use it.
« Last Edit: Jul 17th, 2009 at 4:28am by Jet Li »  
...
PM me for YaBB Installation Service
WWW Jet Li 100000788351637  
IP Logged  
 Reply #13 - Jul 18th, 2009 at 3:06am
There are no actions to perform.  

Unilat 
Development Team
Theme Team
****
Offline
Posts: 1,047
Columbus Ohio, USA


None
Re: PMs to be more "instant"
Pushing data is out of the question and AJAX polling is also out of the question in my opinion. Such additions should only be modifications and definitely not a core feature. Plus, I had an ajax update to the shoutbox mod and its just a pain in the rear in general because of server times and browser issues.

My suggestion still stands. PM pages are eliminated and confined to popups that are not javascript alert boxes. Legitimate, good looking floating divs  Wink It also saves a full page load and gives the user the allusion that their PM's are instant. At least, sender wise they will be, receiver will still have to load a page.
 
 
IP Logged  
 Reply #14 - Jul 18th, 2009 at 3:10am
There are no actions to perform.  

Matt Siegman 
YaBB Legends (Inactive)
*
Offline
Posts: 3,380
Wichita, KS


None
Re: PMs to be more "instant"
I don't think we should entirely eliminate the PM pages, but my opinion can be swayed if the template is built right.
 
-- Matt Siegman 8) Wish List
 
IP Logged  
Pages: 1 2 
Topic Tools
 

Get Yet another Bulletin Board at SourceForge.net. Fast, secure and Free Open Source software downloads Support This Project BoardMod - YaBB features and templates YaBB Codex - support on installation and usage YaBB Toolbar for your browser

YaBB Facebook Group Page

Vulnerability Scanner

Valid RSS Valid XHTML Valid CSS Powered by Perl
YaBB Chat and Support Community » Powered by YaBB 3.0 Beta!
YaBB Forum Software © 2000-2011. All Rights Reserved.