<presence from='[EMAIL PROTECTED]/orchard'>
<c xmlns='http://jabber.org/protocol/caps'
node='http://code.google.com/p/exodus/'
v='0.9.1'
ver='8RovUdtOmiAjzj+xI7SK5BCw3A8='/>
</presence>
AND...
<identity category='client' name='Exodus 0.9.1' type='pc'/>
Then do you display the following?
Software: Exodus 0.9.1 0.9.1
"If the name string contains the version string..."
strcasestr(clientname,version) == 1
But how do you know what a version string is? Just lots of fancy
regexes?
name='Exodus 0.9.1'
v='0.9.1'
strcasestr("Exodus 0.9.1","0.9.1") == 1
"Oh, they included the version in the client name information. I'll
just use the name without appending."
:)
If we aren't adding version into presence, that's another thing,
but I
would expect that users will request this -- showing what version
of a
client the other person is on has been one of our own most-common
requests.
Well, the sense I got from the list discussion is that end users
want to
know what client the other person is using, but don't necessarily need
or want to know which version of the client is in use.
Did I misinterpret the list discussion?
Not necessarily; I'm just noting from personal experience that users
do want the version information too. There's no logical reason for
it, and it may be a deal-breaker, but it's always something that gets
asked for if I omit it. :)
I agree there is no solid engineering reason for it, but it is
functionality clients presently can have, and removing functionality
will always generate end-user bug report/feature request tickets.
And
sometimes features are driven by 'what users want' rather than by any
solid engineering goal. (Is there a real engineering benefit to
avatars? No, but users demonstrably wanted them.) Just my $0.02,
though. :)
I don't disagree with that.
So are you in favor of the 'v' attribute? I really don't care at this
point, and I don't want to remove functionality, and I don't want to
go
back to the bad old days of the version flood. So if the little 'v'
attribute saves the day, I'm +1 to that.
I'm fine with the v. I still think that using version as it was
before and then including a new forward-compatibility hash operator
would've made more sense, as it would then continue to work with
everything.
New clients would use the hash field and could validate against that,
old clients could still query as before AND use the ver field for
display. Our newer method means we break backwards compatibility, as
older clients will show the hash as the client version string (and may
not be able to query against node#hash to cache, given the 1.4
recommendation that you just query with no disco node), and newer
clients need to be able to determine if the ver string is a hash (and
thus something they can validate against) or an old-style version (and
thus something they need to query), and whether or not they can
display it (old-style) or need to use the 'v' attribute, and so on.
I.e., I think this method is kind of a mess, when just adding 'hash'
in separately would've solved the backwards compatibility issue
nicely. However, that ship has probably sailed, so even just
including 'v' will solve the 'users will ask for this' concern I had
about displaying version strings. :)
--
Rachel Blackman <[EMAIL PROTECTED]>
Trillian Messenger - http://www.trillianastra.com/