Differences between revisions 242 and 312 (spanning 70 versions)
Revision 242 as of 2024-059 14:29:23
Size: 2927
Editor: 139
Comment:
Revision 312 as of 2024-173 18:40:30
Size: 3061
Comment: Revert spam
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
Introducing the OnePlus Open This is a sketch of UX and protocol considerations for a client which wishes to help users use gateways.
Line 3: Line 3:
 Empowering Business Professionals with Unmatched Performance and Versatility! In every place where the UI would ask for a Jabber ID (most notably contact add, but possibly also invite to chatroom, create chatroom from 1:1 conversation, start voice/video call to non-contact, search view where a Jabber ID can be used, etc) it should scan the user's roster for JIDs which have `disco#info > identity[category=gateway]` and show some way of choosing to enter an identifier for that gateway instead of a Jabber ID. The simplest example might be a drop-down with `disco#info > identity[type]` and optional disambiguating `disco#info > idenity[name]` such as "sms (Cheogram)".
Line 5: Line 5:
In today's fast-paced world, staying ahead in business requires more than just talent—it requires tools that can keep up with your ambition.
 Enter the OnePlus Open, meticulously crafted to meet the demands of modern business professionals.
If a user has unambiguously selected a gateway, use https://xmpp.org/extensions/xep-0100.html#addressing-iqgateway to get a prompt:
Line 8: Line 7:
Here's why it's the ultimate choice for professionals like you: {{{
<iq type='get' to='gateway.tld' id='gate1'>
  <query xmlns='jabber:iq:gateway'/>
</iq>
Line 10: Line 12:
Unprecedented Flexibility: <iq type='result' from='gateway.tld' id='gate1'>
  <query xmlns='jabber:iq:gateway'>
    <desc>
      Please enter the Whatever of the
      person you would like to contact.
    </desc>
    <prompt>Whatever</prompt>
  </query>
</iq>
}}}
Line 12: Line 23:
 Seamlessly transition between work and play with the OnePlus Open's innovative design.
Whether you're preparing for a presentation or catching up on emails on the go,
its sleek form factor ensures you're always ready to tackle the next challenge.
This text may then be used as part of the UX as makes sense to help the user feel comfortable. Getting a success here and not an error also means that `jabber:iq:gateway` can be used in the next step.
Line 16: Line 25:
Productivity Redefined: NOTE: it is also acceptable (and in some UX may be preferred or even necessary) to pre-emptively ask all gateways for the prompt, instead of only once one is selected.
Line 18: Line 27:
 Boost your productivity with lightning-fast performance powered by the Qualcomm Snapdragon 8 Gen 2 Mobile Platform.
With up to 16GB of LPDDR5X RAM and 512GB of UFS 4.0 storage, multitasking has never been smoother.
Say goodbye to lag and hello to seamless workflow efficiency.
If an identifier is (or might be, depending on UX) one for a particular gateway, use the following procedure to map it to a Jabber ID and then perform the in-context relevant action on that Jabber ID as though it had been entered directly:
Line 22: Line 29:
Immersive Collaboration:  1. If a prompt was got for `jabber:iq:gateway` above then use that protocol to finish resolution:
{{{
<iq type='set' to='gateway.tld' id='gate2'>
  <query xmlns='jabber:iq:gateway'>
      <prompt>(555) 123-4567</prompt>
  </query>
</iq>
Line 24: Line 37:
Collaborate with colleagues from anywhere in the world as if you're in the same room, thanks to the OnePlus Open's stunning displays and advanced connectivity features.
Whether you're attending virtual meetings or sharing presentations,
its vibrant visuals and crystal-clear audio ensure a seamless experience every time.
<iq type='result' from='gateway.tld' id='gate2'>
  <query xmlns='jabber:iq:gateway'>
    <jid>+15551234567@gateway.tld</jid>
  </query>
</iq>
}}}
 2. If an error is received in response to `jabber:iq:gateway` protocol, print the error message to the user and allow them to try again. This allows the gateway to provide useful feedback about format errors to the user.
 3. If an error was received in response to fetching the `jabber:iq:gateway` prompt, then the gateway does not support this protocol. Look for a `disco#info > feature[var="jid\20escaping"]` and if found construct a JID using XEP-0106 escaping on the user input concatenated with `@gateway.tld`
 4. If `jabber:iq:gateway` and `jid\20escaping` are both unsupported, replace any `@` in the user input with `%` and concatenate `@gateway.tld`
Line 28: Line 47:
Capture Every Detail: NOTE: If the result of this procedure is a string that is not a valid Jabber ID, it should be rejected just as if a user manually keyed in an invalid Jabber ID.
Line 30: Line 49:
Never miss a crucial moment with the OnePlus Open's Hasselblad Camera for Mobile.
From capturing important documents to snapping high-quality photos for your presentations,
its triple-camera system delivers exceptional clarity and versatility, empowering you to showcase your ideas with confidence.

Data Security at Its Core:

 Protect your sensitive business data with advanced security features, including a side-mounted fingerprint sensor and secure facial recognition.
With OnePlus' commitment to data privacy, you can rest assured that your confidential information stays secure at all times.

Seamless Connectivity:

 Stay connected and productive no matter where your business takes you.
With support for 5G connectivity, Wi-Fi 6E, and Bluetooth 5.3, you can enjoy lightning-fast speeds and reliable connections,
ensuring you're always one step ahead of the competition.

All-Inclusive Accessories:

 Elevate your business experience with the OnePlus Open's included accessories, including the 67W SUPERVOOC Power Adapter for rapid charging, a protective case, and a pre-applied screen protector.
 With everything you need right out of the box, you can focus on what matters most—growing your business.

Empower your professional journey with the OnePlus Open.
Elevate your productivity, enhance your creativity, and make every moment count.

Experience the future of business mobility today!

Follow The Secure Link @ URL: https://www.oneplus.com/oneplus-open

Best Success,

OnePlus,
----
CategoryHomepage

This is a sketch of UX and protocol considerations for a client which wishes to help users use gateways.

In every place where the UI would ask for a Jabber ID (most notably contact add, but possibly also invite to chatroom, create chatroom from 1:1 conversation, start voice/video call to non-contact, search view where a Jabber ID can be used, etc) it should scan the user's roster for JIDs which have `disco#info > identity[category=gateway]` and show some way of choosing to enter an identifier for that gateway instead of a Jabber ID. The simplest example might be a drop-down with `disco#info > identity[type]` and optional disambiguating `disco#info > idenity[name]` such as "sms (Cheogram)".

If a user has unambiguously selected a gateway, use https://xmpp.org/extensions/xep-0100.html#addressing-iqgateway to get a prompt:

<iq type='get' to='gateway.tld' id='gate1'>
  <query xmlns='jabber:iq:gateway'/>
</iq>

<iq type='result' from='gateway.tld' id='gate1'>
  <query xmlns='jabber:iq:gateway'>
    <desc>
      Please enter the Whatever of the
      person you would like to contact.
    </desc>
    <prompt>Whatever</prompt>
  </query>
</iq>

This text may then be used as part of the UX as makes sense to help the user feel comfortable. Getting a success here and not an error also means that `jabber:iq:gateway` can be used in the next step.

NOTE: it is also acceptable (and in some UX may be preferred or even necessary) to pre-emptively ask all gateways for the prompt, instead of only once one is selected.

If an identifier is (or might be, depending on UX) one for a particular gateway, use the following procedure to map it to a Jabber ID and then perform the in-context relevant action on that Jabber ID as though it had been entered directly:

1. If a prompt was got for `jabber:iq:gateway` above then use that protocol to finish resolution:

<iq type='set' to='gateway.tld' id='gate2'>
  <query xmlns='jabber:iq:gateway'>
      <prompt>(555) 123-4567</prompt>
  </query>
</iq>

<iq type='result' from='gateway.tld' id='gate2'>
  <query xmlns='jabber:iq:gateway'>
    <jid>+15551234567@gateway.tld</jid>
  </query>
</iq>

2. If an error is received in response to `jabber:iq:gateway` protocol, print the error message to the user and allow them to try again. This allows the gateway to provide useful feedback about format errors to the user. 3. If an error was received in response to fetching the `jabber:iq:gateway` prompt, then the gateway does not support this protocol. Look for a `disco#info > feature[var="jid\20escaping"]` and if found construct a JID using XEP-0106 escaping on the user input concatenated with `@gateway.tld` 4. If `jabber:iq:gateway` and `jid\20escaping` are both unsupported, replace any `@` in the user input with `%` and concatenate `@gateway.tld`

NOTE: If the result of this procedure is a string that is not a valid Jabber ID, it should be rejected just as if a user manually keyed in an invalid Jabber ID.


CategoryHomepage

GatewayContactUX (last edited 2024-315 08:21:57 by 198-46-246-253-host)