Auto language detection PR resurrection, a UX proposal


mohammad suliman
 

Hello all,
Hope you are doing well!

We are so delighted to announce that we are working on reintroducing the magnificent work done by Dinesh Caushel in pull request #7629. The PR was closed by lack of activity, and we wish to introduce a new one with improvements, and while taking into account the requests for changes by Reef on the previous PR also.
First, we want to highlight that this PR is very needed for us multilingual users. Last release, the add-on most of our community relied on stopped working with regards to auto language switching, so some of us opted to not update to the new version until the add-on is fixed, and unfortunately some migrated to use other screen readers due to this kind of issues. What we are trying to convey is that the feature is very helpful for us multilingual users, so hopefully NV Access will triage it accordingly.
Now to our topic, we propose the following UX for the feature, and we would love to hear feedback from the devs as well as the community.
  • The auto detection algorithm will try to speak text with the last detected language until it finds a text for another script, that is, the new text can't be spoken by the last detected language
  • In that case, the algorithm will choose a new language for the new script it countered by considering the following options in this order:
    • Check if one of the languages in the priority languages specified by the user using a dedicated interface (which we will discuss later) can be applied for the script
    • If not, check whether the default language of the synthesizer or NVDA can be applied for the script
    • If neither of those have happened, then we try to find a language using a mapping from the script to the language which is found in the language detection module
  • That means that if NVDA encounters a specific language, let's say Hebrew for the sake of the discussion, then it will continue to speak using this language including letters, symbols and punctuations, numbers, and emoji also using this language
  • We think that this behavior is the prefered one for most users, but we are not sure that whether we need to make this behavior configurable using checkboxes in the interface, which will enable the user to choose whether symbols, numbers, emojis, and so on needs to be spoken using the surrounding text language or the default one

Regarding the interface, we propose the following:
  • A new panel will be created for language detection feature, and it will be added to the category list in Preferences of course
  • As before, the panel will include the following components:
    • A list for the preferred languages for the user, where the order of the languages in the list is the order in which the mechanism will prioritize languages
    • A buttons for moving languages up and down in the list
    • A buttons for adding and removing languages from the list
  • We propose the following components to be added also:
    • A combobox for auto language switching with the following 3 options:
      • Off (auto language switching is disabled)
      • onn (switch languages according to document language properties)
      • Advanced (switch languages using Unicode character properties as well as document language properties)
    • The checkbox for auto dialect switching
  • We think that the checkboxes for auto language switching and auto dialect switching should be removed from the speech panel, and all configurations for language detection should be managed using the language detection panel. We are not so sure about this though to be honest

We want to highlight also that we kredit most of this work to Dinesh Caushil who has done a great and hard work on this task, and it hurts that the work hasn't been included in NVDA yet. The ideal scenario would be that Dinesh completes this work, but as said before that the PR was closed due to lack of activity, and we need this feature so much, so we decided to complete Dinesh's way.

Sorry for the long message!
Any kind of feedback from whom the feature is relevant will be much appreciated!
Thanks for your time,
Mohammad and Eilana


Noelia Ruiz
 

Hi Mohammad, for a better tracking of emails, let's avoid cross
posting. I'm seeing replies sent to the nvda development list that may
not reach this one.
Thanks

2021-08-24 18:11 GMT+02:00, mohammad suliman <Mohmad.s93@gmail.com>:

Hello all,
Hope you are doing well!

We are so delighted to announce that we are working on reintroducing the
magnificent work done by Dinesh Caushel in pull request #7629. The PR was
closed by lack of activity, and we wish to introduce a new one with
improvements, and while taking into account the requests for changes by
Reef on the previous PR also.
First, we want to highlight that this PR is very needed for us
multilingual users. Last release, the add-on most of our community relied
on stopped working with regards to auto language switching, so some of us
opted to not update to the new version until the add-on is fixed, and
unfortunately some migrated to use other screen readers due to this kind of
issues. What we are trying to convey is that the feature is very helpful
for us multilingual users, so hopefully NV Access will triage it
accordingly.
Now to our topic, we propose the following UX for the feature, and we would
love to hear feedback from the devs as well as the community.

- The auto detection algorithm will try to speak text with the last
detected language until it finds a text for another script, that is, the
new text can't be spoken by the last detected language
- In that case, the algorithm will choose a new language for the new
script it countered by considering the following options in this order:
- Check if one of the languages in the priority languages specified
by the user using a dedicated interface (which we will discuss later)
can
be applied for the script
- If not, check whether the default language of the synthesizer or
NVDA can be applied for the script
- If neither of those have happened, then we try to find a language
using a mapping from the script to the language which is found in the
language detection module
- That means that if NVDA encounters a specific language, let's say
Hebrew for the sake of the discussion, then it will continue to speak
using
this language including letters, symbols and punctuations, numbers, and
emoji also using this language
- We think that this behavior is the prefered one for most users, but we
are not sure that whether we need to make this behavior configurable
using
checkboxes in the interface, which will enable the user to choose
whether symbols, numbers, emojis, and so on needs to be spoken using the
surrounding text language or the default one


Regarding the interface, we propose the following:

- A new panel will be created for language detection feature, and it
will be added to the category list in Preferences of course
- As before, the panel will include the following components:
- A list for the preferred languages for the user, where the order of
the languages in the list is the order in which the mechanism will
prioritize languages
- A buttons for moving languages up and down in the list
- A buttons for adding and removing languages from the list
- We propose the following components to be added also:
- A combobox for auto language switching with the following 3
options:
- Off (auto language switching is disabled)
- onn (switch languages according to document language properties)
- Advanced (switch languages using Unicode character properties as
well as document language properties)
- The checkbox for auto dialect switching
- We think that the checkboxes for auto language switching and auto
dialect switching should be removed from the speech panel, and all
configurations for language detection should be managed using the
language
detection panel. We are not so sure about this though to be honest


We want to highlight also that we kredit most of this work to Dinesh
Caushil who has done a great and hard work on this task, and it hurts that
the work hasn't been included in NVDA yet. The ideal scenario would be that
Dinesh completes this work, but as said before that the PR was closed due
to lack of activity, and we need this feature so much, so we decided to
complete Dinesh's way.

Sorry for the long message!
Any kind of feedback from whom the feature is relevant will be much
appreciated!
Thanks for your time,
Mohammad and Eilana






mohammad suliman
 

Hi Noelia,

Got it! I wasn't aware of that, so my apologies dear.
Just to be sure, if I need to send the same message to both lists, then I need to send the messages separately, correct?

On Tue, 24 Aug 2021 at 20:33, Noelia Ruiz <nrm1977@...> wrote:
Hi Mohammad, for a better tracking of emails, let's avoid cross
posting. I'm seeing replies sent to the nvda development list that may
not reach this one.
Thanks

2021-08-24 18:11 GMT+02:00, mohammad suliman <Mohmad.s93@...>:
> Hello all,
> Hope you are doing well!
>
> We are so delighted to announce that we are working on reintroducing the
> magnificent work done by Dinesh Caushel in pull request #7629. The PR was
> closed by lack of activity, and we wish to introduce a new one with
> improvements, and while taking into account the requests for changes by
> Reef on the previous PR also.
> First, we want to highlight that this PR is very needed for us
> multilingual users. Last release, the add-on most of our community relied
> on stopped working with regards to auto language switching, so some of us
> opted to not update to the new version until the add-on is fixed, and
> unfortunately some migrated to use other screen readers due to this kind of
> issues. What we are trying to convey is that the feature is very helpful
> for us multilingual users, so hopefully NV Access will triage it
> accordingly.
> Now to our topic, we propose the following UX for the feature, and we would
> love to hear feedback from the devs as well as the community.
>
>    - The auto detection algorithm will try to speak text with the last
>    detected language until it finds a text for another script, that is, the
>    new text can't be spoken by the last detected language
>    - In that case, the algorithm will choose a new language for the new
>    script it countered by considering the following options in this order:
>       - Check if one of the languages in the priority languages specified
>       by the user using a dedicated interface (which we will discuss later)
> can
>       be applied for the script
>       - If not, check whether the default language of the synthesizer or
>       NVDA can be applied for the script
>       - If neither of those have happened, then we try to find a language
>       using a mapping from the script to the language which is found in the
>       language detection module
>    - That means that if NVDA encounters a specific language, let's say
>    Hebrew for the sake of the discussion, then it will continue to speak
> using
>    this language including letters, symbols and punctuations, numbers, and
>    emoji also using this language
>    - We think that this behavior is the prefered one for most users, but we
>    are not sure that whether we need to make this behavior configurable
> using
>    checkboxes in the interface, which will enable the user to choose
>    whether symbols, numbers, emojis, and so on needs to be spoken using the
>    surrounding text language or the default one
>
>
> Regarding the interface, we propose the following:
>
>    - A new panel will be created for language detection feature, and it
>    will be added to the category list in Preferences of course
>    - As before, the panel will include the following components:
>       - A list for the preferred languages for the user, where the order of
>       the languages in the list is the order in which the mechanism will
>       prioritize languages
>       - A buttons for moving languages up and down in the list
>       - A buttons for adding and removing languages from the list
>    - We propose the following components to be added also:
>       - A combobox for auto language switching with the following 3
> options:
>          - Off (auto language switching is disabled)
>          - onn (switch languages according to document language properties)
>          - Advanced (switch languages using Unicode character properties as
>          well as document language properties)
>       - The checkbox for auto dialect switching
>    - We think that the checkboxes for auto language switching and auto
>    dialect switching should be removed from the speech panel, and all
>    configurations for language detection should be managed using the
> language
>    detection panel. We are not so sure about this though to be honest
>
>
> We want to highlight also that we kredit most of this work to Dinesh
> Caushil who has done a great and hard work on this task, and it hurts that
> the work hasn't been included in NVDA yet. The ideal scenario would be that
> Dinesh completes this work, but as said before that the PR was closed due
> to lack of activity, and we need this feature so much, so we decided to
> complete Dinesh's way.
>
> Sorry for the long message!
> Any kind of feedback from whom the feature is relevant will be much
> appreciated!
> Thanks for your time,
> Mohammad and Eilana
>
>
>
>
>
>






Noelia Ruiz
 

Hi dear, yes please. For example, when Reef or other developers
announhce NVDA releases in the translation and the developers mailing
lists, they send the same message but separately, one for each mailing
list. I think this is better and less confusing.
For example, when I read your message I didn't be aware that it was
send to two different lists.
Many thanks for your consideration and respectful answer.

2021-08-25 13:16 GMT+02:00, mohammad suliman <Mohmad.s93@gmail.com>:

Hi Noelia,

Got it! I wasn't aware of that, so my apologies dear.
Just to be sure, if I need to send the same message to both lists, then I
need to send the messages separately, correct?

On Tue, 24 Aug 2021 at 20:33, Noelia Ruiz <nrm1977@gmail.com> wrote:

Hi Mohammad, for a better tracking of emails, let's avoid cross
posting. I'm seeing replies sent to the nvda development list that may
not reach this one.
Thanks

2021-08-24 18:11 GMT+02:00, mohammad suliman <Mohmad.s93@gmail.com>:
Hello all,
Hope you are doing well!

We are so delighted to announce that we are working on reintroducing
the
magnificent work done by Dinesh Caushel in pull request #7629. The PR
was
closed by lack of activity, and we wish to introduce a new one with
improvements, and while taking into account the requests for changes by
Reef on the previous PR also.
First, we want to highlight that this PR is very needed for us
multilingual users. Last release, the add-on most of our community
relied
on stopped working with regards to auto language switching, so some of
us
opted to not update to the new version until the add-on is fixed, and
unfortunately some migrated to use other screen readers due to this
kind
of
issues. What we are trying to convey is that the feature is very
helpful
for us multilingual users, so hopefully NV Access will triage it
accordingly.
Now to our topic, we propose the following UX for the feature, and we
would
love to hear feedback from the devs as well as the community.

- The auto detection algorithm will try to speak text with the last
detected language until it finds a text for another script, that is,
the
new text can't be spoken by the last detected language
- In that case, the algorithm will choose a new language for the new
script it countered by considering the following options in this
order:
- Check if one of the languages in the priority languages
specified
by the user using a dedicated interface (which we will discuss
later)
can
be applied for the script
- If not, check whether the default language of the synthesizer
or
NVDA can be applied for the script
- If neither of those have happened, then we try to find a
language
using a mapping from the script to the language which is found in
the
language detection module
- That means that if NVDA encounters a specific language, let's say
Hebrew for the sake of the discussion, then it will continue to
speak
using
this language including letters, symbols and punctuations, numbers,
and
emoji also using this language
- We think that this behavior is the prefered one for most users,
but
we
are not sure that whether we need to make this behavior configurable
using
checkboxes in the interface, which will enable the user to choose
whether symbols, numbers, emojis, and so on needs to be spoken using
the
surrounding text language or the default one


Regarding the interface, we propose the following:

- A new panel will be created for language detection feature, and it
will be added to the category list in Preferences of course
- As before, the panel will include the following components:
- A list for the preferred languages for the user, where the
order
of
the languages in the list is the order in which the mechanism
will
prioritize languages
- A buttons for moving languages up and down in the list
- A buttons for adding and removing languages from the list
- We propose the following components to be added also:
- A combobox for auto language switching with the following 3
options:
- Off (auto language switching is disabled)
- onn (switch languages according to document language
properties)
- Advanced (switch languages using Unicode character
properties
as
well as document language properties)
- The checkbox for auto dialect switching
- We think that the checkboxes for auto language switching and auto
dialect switching should be removed from the speech panel, and all
configurations for language detection should be managed using the
language
detection panel. We are not so sure about this though to be honest


We want to highlight also that we kredit most of this work to Dinesh
Caushil who has done a great and hard work on this task, and it hurts
that
the work hasn't been included in NVDA yet. The ideal scenario would be
that
Dinesh completes this work, but as said before that the PR was closed
due
to lack of activity, and we need this feature so much, so we decided to
complete Dinesh's way.

Sorry for the long message!
Any kind of feedback from whom the feature is relevant will be much
appreciated!
Thanks for your time,
Mohammad and Eilana














Mohammed Al Shara
 

Hi Mohammed.

I don't see much discussion here about this magnificent feature. Is the discussion happening elsewhere? I am very much interested if this can be pushed forward.

Thanks.

On Wed, Aug 25, 2021 at 3:21 PM Noelia Ruiz <nrm1977@...> wrote:
Hi dear, yes please. For example, when Reef or other developers
announhce NVDA releases in the translation and the developers mailing
lists, they send the same message but separately, one for each mailing
list. I think this is better and less confusing.
For example, when I read your message I didn't be aware that it was
send to two different lists.
Many thanks for your consideration and respectful answer.

2021-08-25 13:16 GMT+02:00, mohammad suliman <Mohmad.s93@...>:
> Hi Noelia,
>
> Got it! I wasn't aware of that, so my apologies dear.
> Just to be sure, if I need to send the same message to both lists, then I
> need to send the messages separately, correct?
>
> On Tue, 24 Aug 2021 at 20:33, Noelia Ruiz <nrm1977@...> wrote:
>
>> Hi Mohammad, for a better tracking of emails, let's avoid cross
>> posting. I'm seeing replies sent to the nvda development list that may
>> not reach this one.
>> Thanks
>>
>> 2021-08-24 18:11 GMT+02:00, mohammad suliman <Mohmad.s93@...>:
>> > Hello all,
>> > Hope you are doing well!
>> >
>> > We are so delighted to announce that we are working on reintroducing
>> > the
>> > magnificent work done by Dinesh Caushel in pull request #7629. The PR
>> > was
>> > closed by lack of activity, and we wish to introduce a new one with
>> > improvements, and while taking into account the requests for changes by
>> > Reef on the previous PR also.
>> > First, we want to highlight that this PR is very needed for us
>> > multilingual users. Last release, the add-on most of our community
>> > relied
>> > on stopped working with regards to auto language switching, so some of
>> > us
>> > opted to not update to the new version until the add-on is fixed, and
>> > unfortunately some migrated to use other screen readers due to this
>> > kind
>> of
>> > issues. What we are trying to convey is that the feature is very
>> > helpful
>> > for us multilingual users, so hopefully NV Access will triage it
>> > accordingly.
>> > Now to our topic, we propose the following UX for the feature, and we
>> would
>> > love to hear feedback from the devs as well as the community.
>> >
>> >    - The auto detection algorithm will try to speak text with the last
>> >    detected language until it finds a text for another script, that is,
>> the
>> >    new text can't be spoken by the last detected language
>> >    - In that case, the algorithm will choose a new language for the new
>> >    script it countered by considering the following options in this
>> order:
>> >       - Check if one of the languages in the priority languages
>> > specified
>> >       by the user using a dedicated interface (which we will discuss
>> later)
>> > can
>> >       be applied for the script
>> >       - If not, check whether the default language of the synthesizer
>> > or
>> >       NVDA can be applied for the script
>> >       - If neither of those have happened, then we try to find a
>> > language
>> >       using a mapping from the script to the language which is found in
>> the
>> >       language detection module
>> >    - That means that if NVDA encounters a specific language, let's say
>> >    Hebrew for the sake of the discussion, then it will continue to
>> > speak
>> > using
>> >    this language including letters, symbols and punctuations, numbers,
>> and
>> >    emoji also using this language
>> >    - We think that this behavior is the prefered one for most users,
>> > but
>> we
>> >    are not sure that whether we need to make this behavior configurable
>> > using
>> >    checkboxes in the interface, which will enable the user to choose
>> >    whether symbols, numbers, emojis, and so on needs to be spoken using
>> the
>> >    surrounding text language or the default one
>> >
>> >
>> > Regarding the interface, we propose the following:
>> >
>> >    - A new panel will be created for language detection feature, and it
>> >    will be added to the category list in Preferences of course
>> >    - As before, the panel will include the following components:
>> >       - A list for the preferred languages for the user, where the
>> > order
>> of
>> >       the languages in the list is the order in which the mechanism
>> > will
>> >       prioritize languages
>> >       - A buttons for moving languages up and down in the list
>> >       - A buttons for adding and removing languages from the list
>> >    - We propose the following components to be added also:
>> >       - A combobox for auto language switching with the following 3
>> > options:
>> >          - Off (auto language switching is disabled)
>> >          - onn (switch languages according to document language
>> properties)
>> >          - Advanced (switch languages using Unicode character
>> > properties
>> as
>> >          well as document language properties)
>> >       - The checkbox for auto dialect switching
>> >    - We think that the checkboxes for auto language switching and auto
>> >    dialect switching should be removed from the speech panel, and all
>> >    configurations for language detection should be managed using the
>> > language
>> >    detection panel. We are not so sure about this though to be honest
>> >
>> >
>> > We want to highlight also that we kredit most of this work to Dinesh
>> > Caushil who has done a great and hard work on this task, and it hurts
>> that
>> > the work hasn't been included in NVDA yet. The ideal scenario would be
>> that
>> > Dinesh completes this work, but as said before that the PR was closed
>> > due
>> > to lack of activity, and we need this feature so much, so we decided to
>> > complete Dinesh's way.
>> >
>> > Sorry for the long message!
>> > Any kind of feedback from whom the feature is relevant will be much
>> > appreciated!
>> > Thanks for your time,
>> > Mohammad and Eilana
>> >
>> >
>> >
>> >
>> >
>> >
>>
>>
>>
>>
>>
>>
>
>
>
>
>
>






mohammad suliman
 

Hi Mohammad,

Unfortunately, there are no discussions on going about this anywhere. I only received a valuable reply from one of the members here which we will definitely take into consideration.
If you have any suggestions which may help this issue to progress, please feel free to provide!

Thanks,
Mohammad

On Thu, 9 Sept 2021 at 09:04, Mohammed Al Shara <lists@...> wrote:
Hi Mohammed.

I don't see much discussion here about this magnificent feature. Is the discussion happening elsewhere? I am very much interested if this can be pushed forward.

Thanks.

On Wed, Aug 25, 2021 at 3:21 PM Noelia Ruiz <nrm1977@...> wrote:
Hi dear, yes please. For example, when Reef or other developers
announhce NVDA releases in the translation and the developers mailing
lists, they send the same message but separately, one for each mailing
list. I think this is better and less confusing.
For example, when I read your message I didn't be aware that it was
send to two different lists.
Many thanks for your consideration and respectful answer.

2021-08-25 13:16 GMT+02:00, mohammad suliman <Mohmad.s93@...>:
> Hi Noelia,
>
> Got it! I wasn't aware of that, so my apologies dear.
> Just to be sure, if I need to send the same message to both lists, then I
> need to send the messages separately, correct?
>
> On Tue, 24 Aug 2021 at 20:33, Noelia Ruiz <nrm1977@...> wrote:
>
>> Hi Mohammad, for a better tracking of emails, let's avoid cross
>> posting. I'm seeing replies sent to the nvda development list that may
>> not reach this one.
>> Thanks
>>
>> 2021-08-24 18:11 GMT+02:00, mohammad suliman <Mohmad.s93@...>:
>> > Hello all,
>> > Hope you are doing well!
>> >
>> > We are so delighted to announce that we are working on reintroducing
>> > the
>> > magnificent work done by Dinesh Caushel in pull request #7629. The PR
>> > was
>> > closed by lack of activity, and we wish to introduce a new one with
>> > improvements, and while taking into account the requests for changes by
>> > Reef on the previous PR also.
>> > First, we want to highlight that this PR is very needed for us
>> > multilingual users. Last release, the add-on most of our community
>> > relied
>> > on stopped working with regards to auto language switching, so some of
>> > us
>> > opted to not update to the new version until the add-on is fixed, and
>> > unfortunately some migrated to use other screen readers due to this
>> > kind
>> of
>> > issues. What we are trying to convey is that the feature is very
>> > helpful
>> > for us multilingual users, so hopefully NV Access will triage it
>> > accordingly.
>> > Now to our topic, we propose the following UX for the feature, and we
>> would
>> > love to hear feedback from the devs as well as the community.
>> >
>> >    - The auto detection algorithm will try to speak text with the last
>> >    detected language until it finds a text for another script, that is,
>> the
>> >    new text can't be spoken by the last detected language
>> >    - In that case, the algorithm will choose a new language for the new
>> >    script it countered by considering the following options in this
>> order:
>> >       - Check if one of the languages in the priority languages
>> > specified
>> >       by the user using a dedicated interface (which we will discuss
>> later)
>> > can
>> >       be applied for the script
>> >       - If not, check whether the default language of the synthesizer
>> > or
>> >       NVDA can be applied for the script
>> >       - If neither of those have happened, then we try to find a
>> > language
>> >       using a mapping from the script to the language which is found in
>> the
>> >       language detection module
>> >    - That means that if NVDA encounters a specific language, let's say
>> >    Hebrew for the sake of the discussion, then it will continue to
>> > speak
>> > using
>> >    this language including letters, symbols and punctuations, numbers,
>> and
>> >    emoji also using this language
>> >    - We think that this behavior is the prefered one for most users,
>> > but
>> we
>> >    are not sure that whether we need to make this behavior configurable
>> > using
>> >    checkboxes in the interface, which will enable the user to choose
>> >    whether symbols, numbers, emojis, and so on needs to be spoken using
>> the
>> >    surrounding text language or the default one
>> >
>> >
>> > Regarding the interface, we propose the following:
>> >
>> >    - A new panel will be created for language detection feature, and it
>> >    will be added to the category list in Preferences of course
>> >    - As before, the panel will include the following components:
>> >       - A list for the preferred languages for the user, where the
>> > order
>> of
>> >       the languages in the list is the order in which the mechanism
>> > will
>> >       prioritize languages
>> >       - A buttons for moving languages up and down in the list
>> >       - A buttons for adding and removing languages from the list
>> >    - We propose the following components to be added also:
>> >       - A combobox for auto language switching with the following 3
>> > options:
>> >          - Off (auto language switching is disabled)
>> >          - onn (switch languages according to document language
>> properties)
>> >          - Advanced (switch languages using Unicode character
>> > properties
>> as
>> >          well as document language properties)
>> >       - The checkbox for auto dialect switching
>> >    - We think that the checkboxes for auto language switching and auto
>> >    dialect switching should be removed from the speech panel, and all
>> >    configurations for language detection should be managed using the
>> > language
>> >    detection panel. We are not so sure about this though to be honest
>> >
>> >
>> > We want to highlight also that we kredit most of this work to Dinesh
>> > Caushil who has done a great and hard work on this task, and it hurts
>> that
>> > the work hasn't been included in NVDA yet. The ideal scenario would be
>> that
>> > Dinesh completes this work, but as said before that the PR was closed
>> > due
>> > to lack of activity, and we need this feature so much, so we decided to
>> > complete Dinesh's way.
>> >
>> > Sorry for the long message!
>> > Any kind of feedback from whom the feature is relevant will be much
>> > appreciated!
>> > Thanks for your time,
>> > Mohammad and Eilana
>> >
>> >
>> >
>> >
>> >
>> >
>>
>>
>>
>>
>>
>>
>
>
>
>
>
>