Peter Saint-Andre wrote:
> Matthew Wild wrote:
> 
>> How about:
>>
>>    <activity xmlns='http://jabber.org/protocol/activity'>
>>      <other>
>>            <charging xmlns='http://robotic-lawn-mower.example.org/' />
>>      </other>
>>    </activity>
> 
> That's already allowed, no?
Yes.
But example: People implemented set of 'additional' states for one
client and included icons for these states. All users of this client can
view them. It's fine, but what should do developers of other clients?
Reimplement new stateset every time? It not enough universal solution.
Need base for client-independent states & icons exchange.
Every user (not only programmers) should have possibility add new state,
draw new icon for it and share with own contacts.

I imagine this as (it's long piece of text :)):

1. Alice - designer. She created new icon, uploaded it on public server,
entered title and text for it with some additional info in her client.
She pressed 'Send custom activity' button, and it's all her actions

2.1.Alice' client saves new activity
2.2. Alice' client sends XML like:

    <activity xmlns='http://jabber.org/protocol/activity'>
      <other>
            <custom xmlns='http://jabber.org/protocol/custom_activity'>
                <author>Alice</author>
                <url>http://www.alicehomepage.org</url>
                <self xmlns='http://www.alicehomepage.org/custom_activity'>
                    <title>GIMPization</title>
                    <icon height='16' width='16' type='png'
url='http://www.alicehomepage.org/pub/icons/gimpization_16x16.png'/>
                    <icon height='32' width='32' type='png'
url='http://www.alicehomepage.org/pub/icons/gimpization_32x32.png'/>
                </self>
                <parent
xmlns='http://www.alicehomepage.org/custom_activity'>
                    <title>Working</title>
                    <icon height='16' width='16' type='png'
url='http://www.alicehomepage.org/pub/icons/working_16x16.png'/>
                </parent>
            </custom>
      </other>
    </activity>

3. Bob' client received activity info from Alice and began parse it.
3.1. Client see <custom/> element in <other/>. As it knows this means
custom activity.
3.2. Client supports custom activity. It check cache and can't found
nothing for http://www.alicehomepage.org/custom_activity namespace. It
creates new cache list for this namespace
3.3. Client gets name of activity('GIMPization') and name of
category('Working'). It have no icons for them
3.4. Client supports only icons 16x16 and it downloads
gimpization_16x16.png file and working_16x16.png file and put them into
cache for namespace http://www.alicehomepage.org/custom_activity
3.5. Client adds new activity with icon in dialog for choosing activity
(may be Bob in future want use it)
3.6. Client draws icon for activity 'GIMPization' in roster and adds in
tooltip message 'Working: GIMPization'

4. Bob - programmer. He see in roster new icon, reads message and reply
to Alice: 'Hi, Alice! You really jumped from Photoshop to GIMP?'

Popular states & icons will spread in jabber network automatically, from
one user to another. Peoples will invent new values ourselves. PEP is
personal events, custom activity will become a personal states


Reply via email to