Re: [Standards] MUC 2

2015-02-20 Thread Simon Tennant
On 12 February 2015 at 17:19, Dave Cridland d...@cridland.net wrote:


 On 12 Feb 2015 14:00, Christian Schudt christian.sch...@gmx.de wrote:
 
  Dave, maybe could you (or somebody else) elaborate on the shortcomings
 and the different demands of things like buddycloud you have discussed
 for those who didn't attend the summit.
 
  Also what's so bad about multiple parties chatting via a third party
 chat service (your 2nd use case)?
 

 In the case of a private conversation between three people, it feels wrung
 to introduce a fourth.

Agreed. They can join but don't get access to the mentioned in confidence
history before they joined.

Google Hangouts is very sensible about the two-people - now-a-group
upgrade handling.

 Secondly, I think that we do want to maintain basic protocol compatibility
 with old MUC, so clients joining via presence we probably want to support,
 and clients sending messages would be unchanged.

Presumably this could be achieved through a translat-o-matic (
http://wiki.xmpp.org/web/Summer_of_Code_2015#MUC_to_Channels_translat-o-matic
)

My vision is that legacy MUC clients can still work. But more modern BC
clients can handle the case of liking a comment (
http://xmpp.org/extensions/inbox/buddycloud-channels.html#item-rating),
comment threading, post revocation etc.

S.
-- 
Simon Tennant | CEO Buddycloud http://buddycloud.com | +49 17 8545 0880


Re: [Standards] MUC 2

2015-02-12 Thread Christian Schudt
Dave, maybe could you (or somebody else) elaborate on the shortcomings and 
the different demands of things like buddycloud you have discussed for those 
who didn't attend the summit.

Also what's so bad about multiple parties chatting via a third party chat 
service (your 2nd use case)?

For me one shortcoming of XEP-0045 is that there's no good concept for the 
offline case of an occupant (member).
E.g. you create a members-only room with three friends. They exchange messages, 
while you are one week offline. You then enter the room and only receive 
messages according to your discussion history request while entering, let's 
say the last 25 messages. But missed most of the messages your friends have 
exchanged, while you were absent.
That's of course unfortunate, because you would expect to not miss any 
conversations.

It's like if my mail client would only request the last few mails from this 
mailing list, when I start it and any older messages could only be read in an 
archive via a browser, if available. (well, maybe this could be solved with 
pubsub).

Although I don't know the real shortcomings and demands you discussed about, I 
imagine doing MUC with PubSub adds extra complexity. XEP-0045 is already 
complex, XEP-0060 is even more complex and maintaining two very different MUC 
approaches (from a technical point of view) is a burden for any developer, 
while end users probably won't see many differences (e.g. they don't care if 
their MUC is hosted by an traditional chat service or by a PEP service).

Isn't it possible to eliminate the shortcomings of XEP-0045 by just evolving it?

Christian


[Standards] MUC 2

2015-02-12 Thread Dave Cridland
At the summit, a bunch of us decided to have a serious effort at a redesign
of multi user chat, to address shortcomings and emerging use cases.

The overall model was a service domain which exposed, at bare jid level, a
set of rooms, which acted more or less as pubsub services, with subsidiary
nodes exposing information such as messages, occupants, and so on.

I think this general concept would work well for both traditional chatrooms
and the different demands of things like buddy cloud. Unifying MUC and
buddy cloud is a personal goal, but I think it's a useful yardstick to see
if we're capturing the use cases right.

However, this model doesn't address three other use cases I feel are
important. Firstly, there's XEP-0277, which I suspect fits in the same
concept. Secondly, multi party chat.

I'm using the term multi party chat to mean ephemeral conversations between
more than two people. Currently these are handled, badly, by hosting the
conversation on an existing third party chatroom service. This means that
one participant locates a chatroom service and invites the other; meaning
the first party needs to use a server that has a chatroom service, and the
second party needs to be willing to use it.

I suspect that both of these use cases are addressed, at least partly, by
being able to host chatrooms on the pep service of the user. This means,
possibly, making the model one of a single pubsub mode with multiple
strands of publication, which I've previously called facets.

The third missing use case is that I'd like to have room level federation
in from the outset. It's proven really hard to retro fit, and it's work
usefully in the multi party chat scenario, too, as well as several other
use cases.

Dave.


Re: [Standards] MUC 2

2015-02-12 Thread Dave Cridland
On 12 Feb 2015 14:00, Christian Schudt christian.sch...@gmx.de wrote:

 Dave, maybe could you (or somebody else) elaborate on the shortcomings
and the different demands of things like buddycloud you have discussed
for those who didn't attend the summit.

 Also what's so bad about multiple parties chatting via a third party chat
service (your 2nd use case)?


In the case of a private conversation between three people, it feels wrung
to introduce a fourth.

 For me one shortcoming of XEP-0045 is that there's no good concept for
the offline case of an occupant (member).
 E.g. you create a members-only room with three friends. They exchange
messages, while you are one week offline. You then enter the room and only
receive messages according to your discussion history request while
entering, let's say the last 25 messages. But missed most of the messages
your friends have exchanged, while you were absent.
 That's of course unfortunate, because you would expect to not miss any
conversations.


Right, and this was discussed in detail at the summit. Presence and MUC are
going to be split. MAM is part of the solution here, as I'd the account
model based pubsub.

 It's like if my mail client would only request the last few mails from
this mailing list, when I start it and any older messages could only be
read in an archive via a browser, if available. (well, maybe this could be
solved with pubsub).

 Although I don't know the real shortcomings and demands you discussed
about, I imagine doing MUC with PubSub adds extra complexity. XEP-0045 is
already complex, XEP-0060 is even more complex and maintaining two very
different MUC approaches (from a technical point of view) is a burden for
any developer, while end users probably won't see many differences (e.g.
they don't care if their MUC is hosted by an traditional chat service or by
a PEP service).


Well, pubsub is actually simpler than MUC, since MUC is essentially an all
or nothing, whereas pubsub is a tiny core with lots of optional parts.

Secondly, I think that we do want to maintain basic protocol compatibility
with old MUC, so clients joining via presence we probably want to support,
and clients sending messages would be unchanged.

I'm reasonably confident that MUC 2 should be okay to implement on both
server and client. Luckily, clients won't have to change much, and we can
almost certainly keep full protocol compatibility.

 Isn't it possible to eliminate the shortcomings of XEP-0045 by just
evolving it?

 Christian


Re: [Standards] MUC 2

2015-02-12 Thread Holger Weiß
* Christian Schudt christian.sch...@gmx.de [2015-02-12 14:59]:
 For me one shortcoming of XEP-0045 is that there's no good concept for
 the offline case of an occupant (member).

That could be solved with MAM (XEP-0313), for what it's worth.

Holger