On Wed, 29 May 2002, Nathan Sharp wrote: > While all this is good discussion, the fact remains that as jabber > currently stands, it often reports users as online for hours after they > are not online, and FAILS TO DELIVER packages or to return an error when > users are in this state. I would make the point that one of the main > reasons I switched from ICQ to Jabber was that ICQ started loosing > messages now and then. When I discovered that Jabber did the same, I > was quite dissapointed, although w/ Jabber I stand a chance of fixing it > since it is open source.
[...snip...] > The biggest argument I've heard so far is that ping/pongs would take too > much bandwidth. If your end users would prefer very slightly less > bandwidth used yet LOST MESSAGES AND FAULTY PRESENCE info, well, you got > different users than mine. [...snip...] It seems to me that you are trying to solve this issue in the wrong way. If you want guaranteed message delivery, then the protocol will have to be adjusted to have clients send notification when a message is delivered (like return-receipts in email, but hopefully more intelligent). In fact, I would argue that guaranteed message delivery should be the responsibility of the client rather than the server. Modifiying the server to provide this functionality brings up the question of "what is the appropriate behavior if a message isn't deliver?" Should the server put the message in offline storage? Bounce an error message? What happens if offline storage isn't configured on the receiving party's server? On the other hand, I do agree that faulty presence is an issue. I hate messaging people and then realize that they aren't actually online. My only goal is that we keep this discussion focused. You will *NOT* solve lost message issues with a ping/pong solution, however, you might be able to provide better presence reliability. That being said, I'm afraid that I'd have to side with Dave Waite on this issue, I don't think ping/pong is a good solution (or even your existing ping solution), especially when you consider that wireless clients are likely to have some of the most pronounced connectivity issues and highest costs of bandwidth. A better solution should be proposed as a protocol change, perhaps as a negotiated timeout period where a client tells the server upon logging in that if it doesn't send data within a given amount of time, then the server should consider it unavailable. My $0.02. bs. _______________________________________________ jdev mailing list [EMAIL PROTECTED] http://mailman.jabber.org/listinfo/jdev
