Re: [Standards] Using route-able JIDs in MIX-CORE

2018-06-03 Thread Kevin Smith


> On 3 Jun 2018, at 17:32, Steve Kille  wrote:
> 
> 
> 
>> -Original Message-
>> From: Standards  On Behalf Of Florian
>> Schmaus
>> Sent: 03 June 2018 17:27
>> To: XMPP Standards 
>> Subject: Re: [Standards] Using route-able JIDs in MIX-CORE
>> 
>> On 03.06.2018 18:01, Steve Kille wrote:
> That very much looks like that I would currently favour, besides
> that I don't see a reason why we shouldn't also use the stable
> participant identifier as the resourcepart of the originating address.
 
 Uh, and I slightly favour presence also from
 
 channel@mix.service/stable-participant-id/unique-client-id
 
 as otherwise you will get presence from different devices from the
 same address. But presence from users with multiple devices is not
 trivial anyway, not only in the context of MIX, so no matter what we
 do, someone has to handle it. I still prefer keeping the invariant
 that presence comes from a unique address per user session, because I think
>> it has the potential to make things easier.
>>> 
>>> [Steve Kille]
>>> 
>>> This is an important point.All of the information needed is carried in 
>>> the
>> message.So a change like this does not provide any more information to 
>> the
>> final recipient.
>>> 
>>> However, it means that the JID will be unique for each sending client.   
>>> This can
>> facilitate an implementation handling JIDs internally, by enabling sensible
>> switching of messages.
>>> 
>>> If we do this,  I think that it makes sense (for similar reasons) to
>>> have messages sent from a JID that uniquely identifies the sender of
>>> form:  channel@mix.service/stable-participant-id
>> What exactly do you mean with "uniquely identifies the sender"? The sending
>> entity? Or a concrete XMPP session of the sending entity?
>> 
>> Where are possibly a little bit ouf of sync here. Therefore I try to 
>> summarize the
>> approach I currently champion:
>> 
>> 1.) message stanza originate from channel@mix.service/stable-participant-id
>> 
>> Rationale: The tuple of channel, service and stable participant id consists 
>> of the
>> most valuable information of message receiving entities in the context of
>> persisent groupchats. The unique client id, identifying the concrete sending
>> client(/user session) can be put as (possibly optional) metadata into an 
>> extension
>> element of the message.
>> 
>> 2.) presence stanzas originate from
>> channel@mix.service/stable-participant-id/client-id
>> 
>> To keep the invariant that distinct from addresses in presence stanzas 
>> represent
>> distinct clients(/user sessions).
>> 
>> 3.) IQ requests usually send to / received from channel@mix.service/stable-
>> participant-id/client-id
>> 
>> To allow us to address a particular client for IQ exchange. (We could add IQ
>> semantics for channel@mix.service/stable-participant-id later on, but I'm
>> undecided yet if it is a good idea)
>> 
>> Bonus points if:
>> - Messages send to channel@mix.service are standard groupchat messages
>> - Messages send to channel@mix.serivce/stable-paticiapnt-id are send to a
>> participant (PMs, e.g. fan-out via carbons, most available resource, …)
>> - Messages send to channel@mix.service/stable-participant-id/client-id
>> are send to single XMPP session of the participant identified by client-id 
>> (IBB (?)).
>> 
>> - Florian
> [Steve Kille] 
> 
> I would be happy with this.I think it reflects what my message said and 
> is aligned to variant 2.   I note that only 1/2 are needed to sort out 
> MIX-CORE/MIX-PAM/MIX-PRESENCE
> 
> 3 and bonus stuff only impacts MIX-ANON.

I don’t think that’s so - if you’re suggesting you could use a real JID for 
messaging just because you have it available, this isn’t true.

/K
___
Standards mailing list
Info: https://mail.jabber.org/mailman/listinfo/standards
Unsubscribe: standards-unsubscr...@xmpp.org
___


Re: [Standards] Using route-able JIDs in MIX-CORE

2018-06-03 Thread Kevin Smith
On 3 Jun 2018, at 17:27, Florian Schmaus  wrote:
> 3.) IQ requests usually send to / received from
> channel@mix.service/stable-participant-id/client-id
> 
> To allow us to address a particular client for IQ exchange. (We could
> add IQ semantics for channel@mix.service/stable-participant-id later on,
> but I'm undecided yet if it is a good idea)

Why would we want iqs to full JID but not bare JID of a client?

> Bonus points if:
> 
> - Messages send to channel@mix.serivce/stable-paticiapnt-id are send to
> a participant (PMs, e.g. fan-out via carbons, most available resource, …
> - Messages send to channel@mix.service/stable-participant-id/client-id
> are send to single XMPP session of the participant identified by
> client-id (IBB (?)).

Those two aren’t a bonus, because they break archiving and introduce the 
significant risk of subtle bugs (such as those we’ve already seen in the wild) 
in implementations.

/K
___
Standards mailing list
Info: https://mail.jabber.org/mailman/listinfo/standards
Unsubscribe: standards-unsubscr...@xmpp.org
___


Re: [Standards] Should we move Nicks out of MIX-CORE?

2018-06-03 Thread Steve Kille


> -Original Message-
> From: Standards  On Behalf Of Daniel Gultsch
> Sent: 03 June 2018 20:11
> To: XMPP Standards 
> Subject: Re: [Standards] Should we move Nicks out of MIX-CORE?
> 
> 2018-06-03 18:22 GMT+02:00 Steve Kille :
> > My sense is that it is handy to have Nicks associated with channel 
> > participants,
> to give a more compact display.  Perhaps this reflects the UIs I'm used to.   
> It
> feels a pretty basic capability to me.
> 
> My issue with nicks in non-anonymous group chats (and MIX core is now going
> to be non-anonymous by default) is that you loose the single source of truth 
> on
> what to name that participant.
[Steve Kille] 

I'm not sure this is true.   Including the JID is mandatory in MIX-CORE

> If I have you in my contact list and I have given you a custom name I have
> probably done that for a reason and in 1:1 chats with that person I will 
> always
> see that custom name; But how should this be handled in group chats then?
> Should it display the nix? Should it display the roster name?
[Steve Kille] 

This can be a client choice.   The client could show JID, or MIX provided Nick, 
or a user-assigned Nick for the participant.   MIX is not mandating what gets 
shown.

> 
> In any case; We don’t necessarily need to have a discussion on whether channel
> nicks are a good idea or not; Instead I’d rather make the argument that MIX
> promotes itself as being an extensible and flexible solution; so if it is 
> technically
> possible to move nicks into it's own XEP it should be done.
> 
> > However,  I could move it out into a new MIX-NICK.   What do people think?
> 
> Yes let’s put it into a separate XEP
[Steve Kille] 

It is quite separable, and I can see some real upsides to a new MIX-NICK XEP.   
I am not opposed to a split.   

However,  I take Tedd's point about excess splitting. Kev made the same point 
while I was typing.

Let's see what others think.

Steve


___
Standards mailing list
Info: https://mail.jabber.org/mailman/listinfo/standards
Unsubscribe: standards-unsubscr...@xmpp.org
___


Re: [Standards] Using route-able JIDs in MIX-CORE

2018-06-03 Thread Kevin Smith
On 3 Jun 2018, at 17:01, Steve Kille  wrote:
> 
> Flo,
> 
>>> That very much looks like that I would currently favour, besides that
>>> I don't see a reason why we shouldn't also use the stable participant
>>> identifier as the resourcepart of the originating address.
>> 
>> Uh, and I slightly favour presence also from
>> 
>> channel@mix.service/stable-participant-id/unique-client-id
>> 
>> as otherwise you will get presence from different devices from the same
>> address. But presence from users with multiple devices is not trivial 
>> anyway, not
>> only in the context of MIX, so no matter what we do, someone has to handle 
>> it. I
>> still prefer keeping the invariant that presence comes from a unique address 
>> per
>> user session, because I think it has the potential to make things easier.
> 
> [Steve Kille] 
> 
> This is an important point.All of the information needed is carried in 
> the message.So a change like this does not provide any more information 
> to the final recipient.
> 
> However, it means that the JID will be unique for each sending client.   This 
> can facilitate an implementation handling JIDs internally, by enabling 
> sensible switching of messages.
> 
> If we do this,  I think that it makes sense (for similar reasons) to have 
> messages sent from a JID that uniquely identifies the sender of form:  
> channel@mix.service/stable-participant-id
> 
> Are there any downsides to doing this?

There are, with PMs, mentioned in earlier threads (when introducing variant 4), 
but I can’t immediately think of any for room messages.

/K
___
Standards mailing list
Info: https://mail.jabber.org/mailman/listinfo/standards
Unsubscribe: standards-unsubscr...@xmpp.org
___


Re: [Standards] Should we move Nicks out of MIX-CORE?

2018-06-03 Thread Kevin Smith
On 3 Jun 2018, at 17:22, Steve Kille  wrote:
>> As far as I understood nicknames are already optional in current MIX. If 
>> that's
>> the case, then it should be moved out of MIX-CORE.
> [Steve Kille] 
> 
> We do not fundamentally need Nicks to be in MIX-CORE.  

We do not *fundamentally* need them in core, because we don’t need anything in 
core, but 

> You can display participants by use of the JID. 

I think that would be fairly unpleasant if you just name people with their JID. 
Other options like vcarding everyone in the MUC to get their nick to render is 
unpleasant - both from a flood point of view, and that they need have no nick 
set, and they’re probably not in your roster either.

> My sense is that it is handy to have Nicks associated with channel 
> participants, to give a more compact display.  Perhaps this reflects the UIs 
> I'm used to.   It feels a pretty basic capability to me.   This is why it 
> remained in MIX-CORE.   
> 
> However,  I could move it out into a new MIX-NICK.   What do people think?

I think not. It’s unhelpful if we have many documents that are theoretically 
optional but practically required for most every deployment.

/K
___
Standards mailing list
Info: https://mail.jabber.org/mailman/listinfo/standards
Unsubscribe: standards-unsubscr...@xmpp.org
___


Re: [Standards] Should we move Nicks out of MIX-CORE?

2018-06-03 Thread Steve Kille
Tedd,

 

So is this a vote to NOT split out Nicks?

 

Steve

 

 

From: Standards  On Behalf Of Tedd Sterr
Sent: 04 June 2018 01:05
To: XMPP Standards 
Subject: Re: [Standards] Should we move Nicks out of MIX-CORE?

 

> However,  I could move it out into a new MIX-NICK.   What do people think?

 

You could probably move channels into a separate XEP too, and messages, and
nodes, and maybe a few other things.

I think if you really try, you could probably get MIX up to at least 24
separate XEPs - that would be pretty cool.

 

There are features that are essential, and then there are features that are
sensible which could be moved into separate XEPs because they're not
essential, but in practice they're necessary anyway.

 

Don't get carried away with splitting off every little thing - it doesn't
help anyone to have to rummage through a dozen XEPs just to check whether
they need/want listed features.

 



 

It's probably a rare case that a user will want to set a channel nick
different from their 'normal' one.

 

Participants also in a user's roster will already have an assigned nick, but
those not in the roster will not; so either: they stay 'bare' (just use
JID), or the channel provides nicks along with JIDs, or there's a ridiculous
barrage of requests to find out everyone's nicks when the channel could have
provided the same information in a single response.

 

___
Standards mailing list
Info: https://mail.jabber.org/mailman/listinfo/standards
Unsubscribe: standards-unsubscr...@xmpp.org
___


Re: [Standards] Should we move Nicks out of MIX-CORE?

2018-06-03 Thread Tedd Sterr
> However,  I could move it out into a new MIX-NICK.   What do people think?


You could probably move channels into a separate XEP too, and messages, and 
nodes, and maybe a few other things.

I think if you really try, you could probably get MIX up to at least 24 
separate XEPs - that would be pretty cool.


There are features that are essential, and then there are features that are 
sensible which could be moved into separate XEPs because they're not essential, 
but in practice they're necessary anyway.


Don't get carried away with splitting off every little thing - it doesn't help 
anyone to have to rummage through a dozen XEPs just to check whether they 
need/want listed features.





It's probably a rare case that a user will want to set a channel nick different 
from their 'normal' one.


Participants also in a user's roster will already have an assigned nick, but 
those not in the roster will not; so either: they stay 'bare' (just use JID), 
or the channel provides nicks along with JIDs, or there's a ridiculous barrage 
of requests to find out everyone's nicks when the channel could have provided 
the same information in a single response.

___
Standards mailing list
Info: https://mail.jabber.org/mailman/listinfo/standards
Unsubscribe: standards-unsubscr...@xmpp.org
___


Re: [Standards] Should we move Nicks out of MIX-CORE?

2018-06-03 Thread Daniel Gultsch
2018-06-03 18:22 GMT+02:00 Steve Kille :
> My sense is that it is handy to have Nicks associated with channel 
> participants, to give a more compact display.  Perhaps this reflects the UIs 
> I'm used to.   It feels a pretty basic capability to me.

My issue with nicks in non-anonymous group chats (and MIX core is now
going to be non-anonymous by default) is that you loose the single
source of truth on what to name that participant.
If I have you in my contact list and I have given you a custom name I
have probably done that for a reason and in 1:1 chats with that person
I will always see that custom name; But how should this be handled in
group chats then? Should it display the nix? Should it display the
roster name?

In any case; We don’t necessarily need to have a discussion on whether
channel nicks are a good idea or not; Instead I’d rather make the
argument that MIX promotes itself as being an extensible and flexible
solution; so if it is technically possible to move nicks into it's own
XEP it should be done.

> However,  I could move it out into a new MIX-NICK.   What do people think?

Yes let’s put it into a separate XEP
___
Standards mailing list
Info: https://mail.jabber.org/mailman/listinfo/standards
Unsubscribe: standards-unsubscr...@xmpp.org
___


Re: [Standards] Using route-able JIDs in MIX-CORE

2018-06-03 Thread Steve Kille


> -Original Message-
> From: Standards  On Behalf Of Florian
> Schmaus
> Sent: 03 June 2018 17:27
> To: XMPP Standards 
> Subject: Re: [Standards] Using route-able JIDs in MIX-CORE
> 
> On 03.06.2018 18:01, Steve Kille wrote:
> >>> That very much looks like that I would currently favour, besides
> >>> that I don't see a reason why we shouldn't also use the stable
> >>> participant identifier as the resourcepart of the originating address.
> >>
> >> Uh, and I slightly favour presence also from
> >>
> >> channel@mix.service/stable-participant-id/unique-client-id
> >>
> >> as otherwise you will get presence from different devices from the
> >> same address. But presence from users with multiple devices is not
> >> trivial anyway, not only in the context of MIX, so no matter what we
> >> do, someone has to handle it. I still prefer keeping the invariant
> >> that presence comes from a unique address per user session, because I think
> it has the potential to make things easier.
> >
> > [Steve Kille]
> >
> > This is an important point.All of the information needed is carried in 
> > the
> message.So a change like this does not provide any more information to the
> final recipient.
> >
> > However, it means that the JID will be unique for each sending client.   
> > This can
> facilitate an implementation handling JIDs internally, by enabling sensible
> switching of messages.
> >
> > If we do this,  I think that it makes sense (for similar reasons) to
> > have messages sent from a JID that uniquely identifies the sender of
> > form:  channel@mix.service/stable-participant-id
> What exactly do you mean with "uniquely identifies the sender"? The sending
> entity? Or a concrete XMPP session of the sending entity?
> 
> Where are possibly a little bit ouf of sync here. Therefore I try to 
> summarize the
> approach I currently champion:
> 
> 1.) message stanza originate from channel@mix.service/stable-participant-id
> 
> Rationale: The tuple of channel, service and stable participant id consists 
> of the
> most valuable information of message receiving entities in the context of
> persisent groupchats. The unique client id, identifying the concrete sending
> client(/user session) can be put as (possibly optional) metadata into an 
> extension
> element of the message.
> 
> 2.) presence stanzas originate from
> channel@mix.service/stable-participant-id/client-id
> 
> To keep the invariant that distinct from addresses in presence stanzas 
> represent
> distinct clients(/user sessions).
> 
> 3.) IQ requests usually send to / received from channel@mix.service/stable-
> participant-id/client-id
> 
> To allow us to address a particular client for IQ exchange. (We could add IQ
> semantics for channel@mix.service/stable-participant-id later on, but I'm
> undecided yet if it is a good idea)
> 
> Bonus points if:
> - Messages send to channel@mix.service are standard groupchat messages
> - Messages send to channel@mix.serivce/stable-paticiapnt-id are send to a
> participant (PMs, e.g. fan-out via carbons, most available resource, …)
> - Messages send to channel@mix.service/stable-participant-id/client-id
> are send to single XMPP session of the participant identified by client-id 
> (IBB (?)).
> 
> - Florian
[Steve Kille] 

I would be happy with this.I think it reflects what my message said and is 
aligned to variant 2.   I note that only 1/2 are needed to sort out 
MIX-CORE/MIX-PAM/MIX-PRESENCE

3 and bonus stuff only impacts MIX-ANON.

What do others think? Can we build a consensus around this?


Steve



___
Standards mailing list
Info: https://mail.jabber.org/mailman/listinfo/standards
Unsubscribe: standards-unsubscr...@xmpp.org
___


Re: [Standards] Using route-able JIDs in MIX-CORE

2018-06-03 Thread Florian Schmaus
On 03.06.2018 18:01, Steve Kille wrote:
>>> That very much looks like that I would currently favour, besides that
>>> I don't see a reason why we shouldn't also use the stable participant
>>> identifier as the resourcepart of the originating address.
>>
>> Uh, and I slightly favour presence also from
>>
>> channel@mix.service/stable-participant-id/unique-client-id
>>
>> as otherwise you will get presence from different devices from the same
>> address. But presence from users with multiple devices is not trivial 
>> anyway, not
>> only in the context of MIX, so no matter what we do, someone has to handle 
>> it. I
>> still prefer keeping the invariant that presence comes from a unique address 
>> per
>> user session, because I think it has the potential to make things easier.
> 
> [Steve Kille] 
> 
> This is an important point.All of the information needed is carried in 
> the message.So a change like this does not provide any more information 
> to the final recipient.
> 
> However, it means that the JID will be unique for each sending client.   This 
> can facilitate an implementation handling JIDs internally, by enabling 
> sensible switching of messages.
> 
> If we do this,  I think that it makes sense (for similar reasons) to have 
> messages sent from a JID that uniquely identifies the sender of form:  
> channel@mix.service/stable-participant-id
What exactly do you mean with "uniquely identifies the sender"? The
sending entity? Or a concrete XMPP session of the sending entity?

Where are possibly a little bit ouf of sync here. Therefore I try to
summarize the approach I currently champion:

1.) message stanza originate from channel@mix.service/stable-participant-id

Rationale: The tuple of channel, service and stable participant id
consists of the most valuable information of message receiving entities
in the context of persisent groupchats. The unique client id,
identifying the concrete sending client(/user session) can be put as
(possibly optional) metadata into an extension element of the message.

2.) presence stanzas originate from
channel@mix.service/stable-participant-id/client-id

To keep the invariant that distinct from addresses in presence stanzas
represent distinct clients(/user sessions).

3.) IQ requests usually send to / received from
channel@mix.service/stable-participant-id/client-id

To allow us to address a particular client for IQ exchange. (We could
add IQ semantics for channel@mix.service/stable-participant-id later on,
but I'm undecided yet if it is a good idea)

Bonus points if:
- Messages send to channel@mix.service are standard groupchat messages
- Messages send to channel@mix.serivce/stable-paticiapnt-id are send to
a participant (PMs, e.g. fan-out via carbons, most available resource, …)
- Messages send to channel@mix.service/stable-participant-id/client-id
are send to single XMPP session of the participant identified by
client-id (IBB (?)).

- Florian



signature.asc
Description: OpenPGP digital signature
___
Standards mailing list
Info: https://mail.jabber.org/mailman/listinfo/standards
Unsubscribe: standards-unsubscr...@xmpp.org
___


[Standards] Should we move Nicks out of MIX-CORE?

2018-06-03 Thread Steve Kille



> As far as I understood nicknames are already optional in current MIX. If 
> that's
> the case, then it should be moved out of MIX-CORE.
[Steve Kille] 

We do not fundamentally need Nicks to be in MIX-CORE.

You can display participants by use of the JID. 

My sense is that it is handy to have Nicks associated with channel 
participants, to give a more compact display.  Perhaps this reflects the UIs 
I'm used to.   It feels a pretty basic capability to me.   This is why it 
remained in MIX-CORE.   

However,  I could move it out into a new MIX-NICK.   What do people think?



Steve



___
Standards mailing list
Info: https://mail.jabber.org/mailman/listinfo/standards
Unsubscribe: standards-unsubscr...@xmpp.org
___


Re: [Standards] Another proposal - Handling JIDs for MIX-CORE, MIX-PRESENCE and MIX-PAM

2018-06-03 Thread Steve Kille
> Not to be confused with the stable participant identifier that you will get 
> upon
> joining the MIX channel (of which I can't find an official term for).
[Steve Kille] 

I'll sort this out with a round of editing, when the current conversation dies 
down

Steve



___
Standards mailing list
Info: https://mail.jabber.org/mailman/listinfo/standards
Unsubscribe: standards-unsubscr...@xmpp.org
___


[Standards] Per Channel Nicks vs Global Nicks

2018-06-03 Thread Steve Kille
Daniel,

> -Original Message-
> From: Standards  On Behalf Of Daniel Gultsch
> Sent: 03 June 2018 08:29
> To: XMPP Standards 
> Subject: Re: [Standards] Another proposal - Handling JIDs for MIX-CORE, MIX-
> PRESENCE and MIX-PAM
> 
> 2018-06-03 1:33 GMT+02:00 Steve Kille :
> > (Nick and Bare JID).
> 
> I’m just on my way home from a very productive and interesting meetup with
> designers and artists. And without knowledge of the current MIX debate - just
> by analyzing the way Conversations currently implements group chats / MUC -
> people very quickly challenged the need for having per room nicks. And the 
> very
> few arguments I was able to make in defense of having nicks in groups chats 
> are
> only valid for anonymous groups.
> 
> Just wanting to put this out there…
> 
> cheers
> Daniel

[Steve Kille] 
Thanks 0 this is useful to share.

I can see that most users joining a public channel would want to use the same 
Nick for this and for all public interactions.

There is no global registry, where users can register Nicks.   I won't debate 
if this is good or bad.   However,  I think it means that channels (or MUC 
rooms) need to get users to pick a Nick.I think it would be helpful for an 
XMPP client to make it easy to choose the same Nick for all channels.

We also see environments where service operators want to enforce consistent and 
sensible Nicks.

MIX has a concept of Nick Registration (now in MIX-MISC)  which provides a 
framework for users to have a single Nick across channels in a single domain.   
 This is clearly not a global Nick, but can help deployments where only one or 
a small number of MIX domains are used.



Steve


___
Standards mailing list
Info: https://mail.jabber.org/mailman/listinfo/standards
Unsubscribe: standards-unsubscr...@xmpp.org
___


[Standards] Using route-able JIDs in MIX-CORE

2018-06-03 Thread Steve Kille
Flo,

> > That very much looks like that I would currently favour, besides that
> > I don't see a reason why we shouldn't also use the stable participant
> > identifier as the resourcepart of the originating address.
> 
> Uh, and I slightly favour presence also from
> 
> channel@mix.service/stable-participant-id/unique-client-id
> 
> as otherwise you will get presence from different devices from the same
> address. But presence from users with multiple devices is not trivial anyway, 
> not
> only in the context of MIX, so no matter what we do, someone has to handle 
> it. I
> still prefer keeping the invariant that presence comes from a unique address 
> per
> user session, because I think it has the potential to make things easier.

[Steve Kille] 

This is an important point.All of the information needed is carried in the 
message.So a change like this does not provide any more information to the 
final recipient.

However, it means that the JID will be unique for each sending client.   This 
can facilitate an implementation handling JIDs internally, by enabling sensible 
switching of messages.

If we do this,  I think that it makes sense (for similar reasons) to have 
messages sent from a JID that uniquely identifies the sender of form:  
channel@mix.service/stable-participant-id

Are there any downsides to doing this?


Steve


___
Standards mailing list
Info: https://mail.jabber.org/mailman/listinfo/standards
Unsubscribe: standards-unsubscr...@xmpp.org
___


Re: [Standards] Requirements for "Jid Hidden" Channels

2018-06-03 Thread Sam Whited
On Sat, Jun 2, 2018, at 18:22, Steve Kille wrote:
> Would you do me a BIG favour, and do a review of the new slimmed down 
> 369 (MIX-CORE).   I've worked to get this to a simpler and cleaner base.   
> I would be very interested to hear which aspects of this you still 
> believe to be too complex.

Let me start out by saying that MIX-CORE is now significantly easier to consume 
in isolation, and I really appreciate the work you've put into that. However, I 
don't think it's actually possible to read MIX-CORE in isolation. Eg. I get to 
7.1.1 and read " The full specification of client interaction with the client's 
server is specified in MIX-PAM" so now I guess I have to go read MIX-PAM. Or I 
reach example 23 and read "the MIX service is responsible for unsubscribing the 
user from all nodes in the channel and for removing the user from the 
participants list. Presence removal is specified in MIX-PRESENCE" so I have to 
go read MIX-PRESENCE to understand what it's talking about and whether I need 
to be concerned with it.
Hiding some of the complexity in other documents doesn't make it go away, even 
if they're "optional" in theory. And MIX-CORE at least looks complex straight 
from the get go.

After I've cleared the initial requirements and intro sections the first thing 
I'm presented with is a giant table of documents that I'm told I might have to 
implement. This might just be a minor editorial problem that can easily be 
fixed, but it says "Only two of these XEPs are mandatory for providing a MIX 
service" and then presents a table that includes a lot more than two things 
marked as mandatory and a lot of section headers that aren't "MIX Service", so 
I'm not actually sure what it's talking about.
My initial thought when seeing this is that I'll never make it through all 
those and that I don't know what any of the column titles even mean (eg. what 
is an "Administrative MIX Client"?). That being said, I do appreciate having 
some sort of list so that I know hat I have to look at and don't have to go dig 
through the bigger XEPs list to try and find them.

> 4.6 Proxy JIDs

All of this. At the summit where we started to write the current implementation 
of MIX proxy JIDs were only added to support anonymous rooms. They were later 
made mandatory for everything, and while I agree that this simplifies things 
over using them sometimes and not others, I still think the underlying 
assumption that they are necessary as part of the MIX protocol is wrong. Having 
proxy JIDs is complicated enough, but on top of that we also have a new 
specialized JID format to deal with that encodes information in the local part.

> 5. Error Handling

This section is another list of documents that must be read and supported. I'm 
all for building MIX out of existing building blocks, but his is becoming a 
long list of dependencies that are spread over multiple sections and which I 
have to tease out of the document (and I haven't even started looking at the 6 
other MIX documents).

In a more general sense, XMPP has a problem of trying to support everyones 
specific features while also remaining general purpose and future-compatible. 
The XMPP community doesn't seem to know if it's building a specific chat 
service meant to be run by many operators, a general protocol on top of which 
others may build distinct chat services that interop, or some mix of both. This 
means we start adding tons of specific features right out of the box. However, 
good software engineering and design should work the exact opposite way. We can 
always add features later. Good design is removing as much as possible without 
breaking things (I feel like I heard someone say that, but the only reference I 
could find was something vaguely similar in a recent blog post by Russ Cox, so 
apologies to whomever said it if it was a quote and I'm not citing you).

—Sam
___
Standards mailing list
Info: https://mail.jabber.org/mailman/listinfo/standards
Unsubscribe: standards-unsubscr...@xmpp.org
___


[Standards] Group chat protocol

2018-06-03 Thread Ненахов Андрей
To whom it may concern, we're working on group chat solution for XMPP.

It is quite a simple solution that we feel is good enough to counter most
issues of XEP-0045.

It is quite simple:

   - Group chat is listed in a roster, we use standard xmpp subscription to
   join-leave group chats
   - Clients can differentiate group chat contacts from regular contacts in
   their rosters by a specially formatted presence.
   - Sending messages to group chat is done by sending messages to group
   chat JID
   - Group chat server resends messages to everyone but sender with special
   formatting, that includes unique message ID, sender nickname, sender JID,
   avatar hash. For older clients, we provide a plaintext body that starts
   with *nickname:\n *before actual message.
   This way allows a client to display everything they need without
   fetching data from a list of group chat members. Avatar hash is also a
   filename so avatar can be retrieved from a server when needed.
   - Non-anonymous groups transmit real user JID, semi-anonymous transmit
   JID assigned to this user for identification purposes.
   - Nicknames and avatars are retrieved from user's vCard when he joins
   the group. Can be redefined later by user
   - No private messages support. XMPP is already a protocol for private
   messaging. In non-anonymous groups users can contact each other directly.
   In semi-anonymous groups, users can send a special message (via group) to
   other users that would disclose their real JID to the user they want to
   talk to. If the recipient accepts he can add him to his personal roster and
   chat privately.
   - Clients can fetch a list of group chat members and turn on/off
   receiving updates. We imagine users of big groups of 300+ users don't
   really want to receive presence data all the time, but might want to open a
   list of participants and see who's online.

Group chat also provides a centralized message archive, so members can
fetch chat history directly from group chat server.

Advantages of this approach:

   - Simple
   - Compatible with existing clients
   - Compatible with existing servers
   - Easy to implement in any XMPP client

Parts of it are already implemented (we run it on modified ejabberd), we
already use it for internal communications. It is also already supported in
a web version of Xabber. I expect a mid-July release with support in Web,
Android and iOS versions of Xabber. Most likely we'll also make a Gajim
plugin, but a bit later and maybe not fully featured.

Admin stuff is not yet done. Most likely will be somewhat akin to Telegram
group chats model. Admins can be granted rights by owners and other admins,
users can be restricted by admins.

Anyone interested to try it can connect with me
xmpp:andrew.nenak...@redsolution.com, I'll invite you to
existing groupchat we made. Best way to try is to connect using development
version of Xabber, https://web.xabber.com/develop/
For now, it's limited (and sometimes breaks ;) ) and you can only join
already created group chats, I think we'll also add permissions for anyone
to create group chats on our server.

...

Documentation for all of this is now in a somewhat inconsistent state (and
is also in Russian), we changed a number of things from our original plan
and our proto-protocol spec is now already outdated at some places, I plan
to fix it next week and translate to English.

*Important notice.* I fully understand that it is almost inevitable that
we'll now receive a very big share of criticism from people who won't like
this and that and how we do everything *wrong*. We will release support for
this protocol in our clients and server no matter what because we need it
for our product and we can't wait until this MIX enormity somehow settles
down. Thus said, we're very open to constructive feedback, and since this
functionality is in very active development we might consider changing some
things.



-- 
Ненахов Андрей
Директор ООО "Редсолюшн" (Челябинск)
(351) 750-50-04
http://www.redsolution.ru
___
Standards mailing list
Info: https://mail.jabber.org/mailman/listinfo/standards
Unsubscribe: standards-unsubscr...@xmpp.org
___


Re: [Standards] Another proposal - Handling JIDs for MIX-CORE, MIX-PRESENCE and MIX-PAM

2018-06-03 Thread Florian Schmaus
On 03.06.2018 11:48, Florian Schmaus wrote:
> On 03.06.2018 01:33, Steve Kille wrote:
>>
>> Sam's message made me realize that none of the variant 1/2/3/4 stuff is
>> needed for MIX-CORE.There are some things that might be needed in
>> MIX-ANON, but let's worry about these in the MIX-ANON spec and keep them out
>> of MIX-CORE.
>>
>> In MIX-CORE, messages/presence go to a channel or are distributed by a
>> channel.  There is no participant to participant (PM style) communications.
>>
>> I suggest.
>>
>> 1.  Messages come from the channel  (channel@domain).   This is what is
>> happening as the channel is distributing messages.  Inside each message you
>> have a mandatory sender information: (Nick and Bare JID).   There would be
>> an elegance to putting this information into the JID, but I do not think it
>> is practical and it does not gain you anything.
>>
>> 2.  Presence come from the channel  (channel@domain).   This reflects that
>> the channel is distributing presence.  Inside each presence stanza you have
>> a mandatory sender information: (Nick and Full JID).   
>>
>>
>> That is it.   Very simple.   No variant JID addressing.  There are some
>> issues for MIX-ANON, but lets worry about these in MIX-ANON, and not make
>> the core more complex than it needs to be.
> 
> That very much looks like that I would currently favour, besides that I
> don't see a reason why we shouldn't also use the stable participant
> identifier as the resourcepart of the originating address.

Uh, and I slightly favour presence also from

channel@mix.service/stable-participant-id/unique-client-id

as otherwise you will get presence from different devices from the same
address. But presence from users with multiple devices is not trivial
anyway, not only in the context of MIX, so no matter what we do, someone
has to handle it. I still prefer keeping the invariant that presence
comes from a unique address per user session, because I think it has the
potential to make things easier.

- Florian



signature.asc
Description: OpenPGP digital signature
___
Standards mailing list
Info: https://mail.jabber.org/mailman/listinfo/standards
Unsubscribe: standards-unsubscr...@xmpp.org
___


Re: [Standards] Another proposal - Handling JIDs for MIX-CORE, MIX-PRESENCE and MIX-PAM

2018-06-03 Thread Florian Schmaus
On 03.06.2018 01:33, Steve Kille wrote:
> 
> Sam's message made me realize that none of the variant 1/2/3/4 stuff is
> needed for MIX-CORE.There are some things that might be needed in
> MIX-ANON, but let's worry about these in the MIX-ANON spec and keep them out
> of MIX-CORE.
> 
> In MIX-CORE, messages/presence go to a channel or are distributed by a
> channel.  There is no participant to participant (PM style) communications.
> 
> I suggest.
> 
> 1.  Messages come from the channel  (channel@domain).   This is what is
> happening as the channel is distributing messages.  Inside each message you
> have a mandatory sender information: (Nick and Bare JID).   There would be
> an elegance to putting this information into the JID, but I do not think it
> is practical and it does not gain you anything.
> 
> 2.  Presence come from the channel  (channel@domain).   This reflects that
> the channel is distributing presence.  Inside each presence stanza you have
> a mandatory sender information: (Nick and Full JID).   
> 
> 
> That is it.   Very simple.   No variant JID addressing.  There are some
> issues for MIX-ANON, but lets worry about these in MIX-ANON, and not make
> the core more complex than it needs to be.

That very much looks like that I would currently favour, besides that I
don't see a reason why we shouldn't also use the stable participant
identifier as the resourcepart of the originating address.

Further metadata, like nickname, unique client id (or whatever it is
called), can be put into a extension element of the message and presence
stanzas.

Sending IQs would require a lookup of the address of desired
participant's device which would yield something like
channel@mix.service/stable-participant-id/unique-client-id

That also means that you could send messages either to all devices of a
participant via

channel@mix.service/stable-participant-id

or to a particular devices of a participant

channel@mix.service/stable-participant-id/unique-client-id

e.g. for IBB and the like.

- Florian



signature.asc
Description: OpenPGP digital signature
___
Standards mailing list
Info: https://mail.jabber.org/mailman/listinfo/standards
Unsubscribe: standards-unsubscr...@xmpp.org
___


Re: [Standards] Another proposal - Handling JIDs for MIX-CORE, MIX-PRESENCE and MIX-PAM

2018-06-03 Thread Florian Schmaus
On 03.06.2018 10:56, Jonas Wielicki wrote:
> On Sonntag, 3. Juni 2018 09:29:13 CEST Daniel Gultsch wrote:
>> 2018-06-03 1:33 GMT+02:00 Steve Kille :
>>> (Nick and Bare JID).
>>
>> I’m just on my way home from a very productive and interesting meetup
>> with designers and artists. And without knowledge of the current MIX
>> debate - just by analyzing the way Conversations currently implements
>> group chats / MUC - people very quickly challenged the need for having
>> per room nicks. And the very few arguments I was able to make in
>> defense of having nicks in groups chats are only valid for anonymous
>> groups.
>>
>> Just wanting to put this out there…
> 
> This is also a good point. Maybe we want to move nicknames to MIX-ANON (or 
> maybe another extension), too. The display name could be drawn from the 
> roster, the vcard, XEP-0172, or similar.

As far as I understood nicknames are already optional in current MIX. If
that's the case, then it should be moved out of MIX-CORE.

Not to be confused with the stable participant identifier that you will
get upon joining the MIX channel (of which I can't find an official term
for).

- Florian





signature.asc
Description: OpenPGP digital signature
___
Standards mailing list
Info: https://mail.jabber.org/mailman/listinfo/standards
Unsubscribe: standards-unsubscr...@xmpp.org
___


Re: [Standards] Another proposal - Handling JIDs for MIX-CORE, MIX-PRESENCE and MIX-PAM

2018-06-03 Thread Jonas Wielicki
On Sonntag, 3. Juni 2018 01:33:12 CEST Steve Kille wrote:
> Sam's message made me realize that none of the variant 1/2/3/4 stuff is
> needed for MIX-CORE.There are some things that might be needed in
> MIX-ANON, but let's worry about these in the MIX-ANON spec and keep them out
> of MIX-CORE.
> 
> In MIX-CORE, messages/presence go to a channel or are distributed by a
> channel.  There is no participant to participant (PM style) communications.

This makes sense.

> I suggest.
> 
> 1.  Messages come from the channel  (channel@domain).   This is what is
> happening as the channel is distributing messages.  Inside each message you
> have a mandatory sender information: (Nick and Bare JID).   There would be
> an elegance to putting this information into the JID, but I do not think it
> is practical and it does not gain you anything.

This sounds great.

> 2.  Presence come from the channel  (channel@domain).   This reflects that
> the channel is distributing presence.  Inside each presence stanza you have
> a mandatory sender information: (Nick and Full JID).

I’m not 100% happy with that, because this breaks with the usual semantics of 
 a lot. I’m not sure if at that point, handling presence via PubSub 
wouldn’t be better.


> That is it.   Very simple.   No variant JID addressing.  There are some
> issues for MIX-ANON, but lets worry about these in MIX-ANON, and not make
> the core more complex than it needs to be.

I like this.


kind regards,
Jonas

signature.asc
Description: This is a digitally signed message part.
___
Standards mailing list
Info: https://mail.jabber.org/mailman/listinfo/standards
Unsubscribe: standards-unsubscr...@xmpp.org
___


Re: [Standards] Another proposal - Handling JIDs for MIX-CORE, MIX-PRESENCE and MIX-PAM

2018-06-03 Thread Jonas Wielicki
On Sonntag, 3. Juni 2018 09:29:13 CEST Daniel Gultsch wrote:
> 2018-06-03 1:33 GMT+02:00 Steve Kille :
> > (Nick and Bare JID).
> 
> I’m just on my way home from a very productive and interesting meetup
> with designers and artists. And without knowledge of the current MIX
> debate - just by analyzing the way Conversations currently implements
> group chats / MUC - people very quickly challenged the need for having
> per room nicks. And the very few arguments I was able to make in
> defense of having nicks in groups chats are only valid for anonymous
> groups.
> 
> Just wanting to put this out there…

This is also a good point. Maybe we want to move nicknames to MIX-ANON (or 
maybe another extension), too. The display name could be drawn from the 
roster, the vcard, XEP-0172, or similar.

kind regards,
Jonas

signature.asc
Description: This is a digitally signed message part.
___
Standards mailing list
Info: https://mail.jabber.org/mailman/listinfo/standards
Unsubscribe: standards-unsubscr...@xmpp.org
___


Re: [Standards] Another proposal - Handling JIDs for MIX-CORE, MIX-PRESENCE and MIX-PAM

2018-06-03 Thread Daniel Gultsch
2018-06-03 1:33 GMT+02:00 Steve Kille :
> (Nick and Bare JID).

I’m just on my way home from a very productive and interesting meetup
with designers and artists. And without knowledge of the current MIX
debate - just by analyzing the way Conversations currently implements
group chats / MUC - people very quickly challenged the need for having
per room nicks. And the very few arguments I was able to make in
defense of having nicks in groups chats are only valid for anonymous
groups.

Just wanting to put this out there…

cheers
Daniel
___
Standards mailing list
Info: https://mail.jabber.org/mailman/listinfo/standards
Unsubscribe: standards-unsubscr...@xmpp.org
___