The intention of this is to provide some background material for a group discussion and consensus on various 1.0 subtle and obvious issues. Some of these are functionality issues, some are common user interface issues, and some interoperability and understanding (lack of documentation) issues.
UID Handling: "common" usage formats for jids
Normal Functionality based on UID format:
user@host (user identity)
message send/receive
s10n send/receive
vcard lookups
user@host/res (user's connection
identity)
message send/receive
presence receive
time/version
oob
host (server/transport)
registration
time/version
host/res (agent or entity,
non-user, part of server/transport)
message send/receive
presence receive
Naming new/unknown jids:
if user@ do a vcard lookup
failing lookup, use just "user (res)"
if host* look at the list
of agents, failing that do an agent query to it
failing lookup, use just "host (res)"
(res) is resource in paren,
only included if part of the jid.
ALWAYS hide any res data
after the ? character in normal usage, show only in an advanced dialog/properties
Matching jids:
All resources fall under
their parent user or host if known
Username compares must be
case insensitive
Transports (from transport authors POV)
Using the roster to maintain the registration
Building the buddy list from the users roster
Discuss handling presence requests and <transport/>
Registration
Fields: Locked Form
Nickname?
Prominent Instructions
Key handling
Searching
Same model as registration
Streaming response model
Agents
Sub-agents
Look at flags, acceptable?
display?
transport @=>% and space smash
Groupchat local / public
web-sha
topic/topic/chat
use sub agents for list? for topic?
have local public/private?
Feature:
iq:data namespace to get/set raw xml data?
exchange transport?
auth error - redirect to new IP?
Common Naming/Wording guidelines of everything, two sets, one for
simple, one for advanced
Roster
s10n status display
agent special handling
own resource handling
presence and resource display
Registration w/ server handling
Presence
Setting
auto-away
setting offline presence
incoming s10n handling, dialogs
login screen
+proxy
always try digest
if have ssl always try ssl
colorize based on delay, for presence too
icon set?
subject in chats
groupchat requirements/discussion
Messaging
default all to user@host
replies to sender id including resource and return
thread
personal info
register
vcard
jud
fneg and yxroproxy (zeroproxy)
error handling
normal errors
stream errors
whitespace keepalive
socket disconnect handling, reconnect?