[sip-comm-dev] OTR UI


#1

Hello OTR folks,

Congratulations on making OTR happen in SIP Communicator! I hope it represents a step closer to world domination for the project :wink:

I hope you will not mind me sharing a few personal observations related to the OTR UI.

I may very well be in the minority on this one but I'm unlikely to willingly (as a user) want to manipulate the Off-the-Record Messaging configuration form because it scares me. I mean there are private keys, fingerprints, generation, verifications! The "Default Off-the-Record Settings" check boxes seem like the only controls on this from I'd allow myself to experiment with.

BTW, is private key the same as fingerprint? I'm asking because the "My Private Keys" group says "Fingerprint: No key present" so I guess key == private key == fingerprint.

BTW again, why the label "Default Off-the-Record Settings"? FWIW, I've opened the Settings dialog and it says so in the title so "Settings" in the label seems redundant, as "Default" does because all settings in the settings dialog are default for the application and "Off-the-Record" is already in the configuration form title some pixels above the label in question.

As a matter of convention, "Automatically initiate private messaging" and "Require private messaging" should not be aligned with "Enable private messaging" on the same vertical line but should rather be shifted to the right a bit to visually show that "Enable private messaging" enables/disables them.

BTW yet again, is "private messaging" the same as "Off-the-Record Messaging"? I'd rather stick with one term if they mean the same, it's more than enough of complexity for me that there are private keys and fingerprints.

I'm also not sure why "Enable private messaging" is bellow "My Private Keys". Is it because I can use "my private key" with disabled private messaging? The same question applies to "Known Fingerprints".

Lastly, I'd like to also talk about the OTR menu in the chat window.

I find it a bit unconventional to have an image in the main menu "OTR" item (at least that's how I see it on Ubuntu GNOME).

Again in the area of conventions, I think the "Help" menu item is to be the last, not "OTR".

I'm not sure why the "Reset" menu item is checkbox-like.

I hope the above observations of mine will be of any use. Anyway, congratulations again on the great work!

Regards,
Lubomir

路路路

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net


#2

Hi Lubomir,

Just wanted to comment on the following two points.

Lastly, I'd like to also talk about the OTR menu in the chat window.

I find it a bit unconventional to have an image in the main menu "OTR" item (at least that's how I see it on Ubuntu GNOME).

This is my fault. Some days ago I've added an icon to the OTR menu. Actually I thought it's only shown in the contact list right button menu and I didn't noticed it's also used in the chat window. I'll modify that in order to keep the icon in the contact list and remove it from the chat window. Thanks!

Again in the area of conventions, I think the "Help" menu item is to be the last, not "OTR".

Just wanted to mention that in my case the "Help" menu item is actually the last..

Cheers,
Yana

路路路

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net


#3

The Off-the-Record Messaging configuration form and the OTR menu don't
appear until I have at least one account at startup (e.g. if the
application is started without a previous state saved in
~/.sip-communicator). This is a problem not only because configuration
forms should always be visible but also because if I create an account
in such a scenario, I still don't get the configuration form and the
OTR menu until I restart the application i.e. until the application
starts up with at least one registered account.

路路路

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net


#4

Hello Lubomir,

BTW, is private key the same as fingerprint? I'm asking because the "My Private Keys" group says "Fingerprint: No key present" so I guess key == private key == fingerprint.

First, during private session initialization you and your partner
exchange long term public keys. These keys are used to identify you and
your partner, so you know with whom you're talking with.

When you start a private conversation with a new partner, you should
authenticate him (OTR>[CONTACT]>Authenticate Buddy) which essentially
means to mark his public key as "known".

Until you do so, your private session is marked as "Unverified" and a
little triangle appears in the right-bottom corner of the padlock icon.

Why we need fingerprints? Fingerprints are used in the "Authenticate
Buddy" Dialog instead of displaying the full public key of your chat
partner, like a shortcut to the original public key.

In OTR terms, the fingerprint is the SHA1 hash of the serialized public
key (public key serialization is defined in the OTR standard).

BTW again, why the label "Default Off-the-Record Settings"? FWIW, I've opened the Settings dialog and it says so in the title so "Settings" in the label seems redundant, as "Default" does because all settings in the settings dialog are default for the application and "Off-the-Record" is already in the configuration form title some pixels above the label in question.

This label actually refers to "global" OTR policy. I explicitly use the
word "default" because you can set the OTR policy per user. If you right
click on a contact and check/uncheck an option, that doesn't affect the
global policy, just the policy for that specific contact.

Another reason I use the word default is because in general I tried to
replicate the Pidgin UI to make it easy for existing Pidgin/OTR users to
migrate to SIP Communicator. If we care more about intuitiveness,
there's plenty of room for innovation :slight_smile:

As a matter of convention, "Automatically initiate private messaging" and "Require private messaging" should not be aligned with "Enable private messaging" on the same vertical line but should rather be shifted to the right a bit to visually show that "Enable private messaging" enables/disables them.

Will take care of that :>

BTW yet again, is "private messaging" the same as "Off-the-Record Messaging"? I'd rather stick with one term if they mean the same, it's more than enough of complexity for me that there are private keys and fingerprints.

Off-the-Record is the protocol which provides private messaging, I know
it's complicated and un-intuitive to have so many weird words. "Private
Messaging" seems more user friendly, while "Off-the-Record" seems more
correct, we can keep whatever you think it's best.

I'm also not sure why "Enable private messaging" is bellow "My Private Keys". Is it because I can use "my private key" with disabled private messaging? The same question applies to "Known Fingerprints".

The ordering is the same with the Pidgin/OTR configuration form.

Lastly, I'd like to also talk about the OTR menu in the chat window.

I find it a bit unconventional to have an image in the main menu "OTR" item (at least that's how I see it on Ubuntu GNOME).

Again in the area of conventions, I think the "Help" menu item is to be the last, not "OTR".

Will take care of that, I'm not sure if we want to keep the cryptic
"OTR" text. "Private Messaging" seems to be more user friendly here.

I'm not sure why the "Reset" menu item is checkbox-like.

I think it's not checkbox-like, it's a one-time-shot button. This resets
the per-user otr policy to match the global policy.

路路路

-

I appreciate your interest in OTR and I hope my comments clarified some
things, or at least they didn't make it more complicated!!

kind regards,
George.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net


#5

Hi George,

While working on r5981, I noticed in OtrContactMenu#rebuildMenu() that
cbAlways and cbRequire both invoke OtrPolicy#setEnableAlways(boolean).
I guess it shouldn't be the case.

Regards,
Lubomir

路路路

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net


#6

Hi George,

I and Yana talked today over setting a null MetaContact to
PluginComponent implementations and we went forth and back but I think
we both agree that the OTR button in the tool bar of the ChatWindow is
not prepared to handle the case. For example, as Yana has alerted me,
the OTR button can receive a null MetaContact when the current chat is
in a chat room. I did test it with an IRC chat room and the OTR button
stays enabled, even changes when I click on it. Could you please look
into it?

If you allow me, I'd like to reiterate again that the OTR code in SIP
Communicator still lacks Javadoc comments.

Best regards,
Lubomir

路路路

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net


#7

Hi Yana,

Thank you very much for the lightning fast answer and fix!

>> Again in the area of conventions, I think the "Help" menu item is to
>> be the last, not "OTR".
>
> Just wanted to mention that in my case the "Help" menu item is actually
> the last..

I guess it may be Mac OS X on your side or Linux voodoo on mine. I'll make sure to look into fixing it one of these days presuming you agree with me that having the "Help" menu last on all supported platforms is desired.

Best regards,
Lubomir

Yana Stamcheva 薪邪锌懈褋邪:

路路路

Hi Lubomir,

Just wanted to comment on the following two points.

Lastly, I'd like to also talk about the OTR menu in the chat window.

I find it a bit unconventional to have an image in the main menu "OTR" item (at least that's how I see it on Ubuntu GNOME).

This is my fault. Some days ago I've added an icon to the OTR menu. Actually I thought it's only shown in the contact list right button menu and I didn't noticed it's also used in the chat window. I'll modify that in order to keep the icon in the contact list and remove it from the chat window. Thanks!

Again in the area of conventions, I think the "Help" menu item is to be the last, not "OTR".

Just wanted to mention that in my case the "Help" menu item is actually the last..

Cheers,
Yana

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net


#8

Hello Lubomir,

Will take care of it later today. Apologies for being absent these
days, I don't have internet connection for the time being so I have to
adapt to a semi-online environment until my internet connection is
activated.

Thank you,
George

路路路

On Fri, Sep 4, 2009 at 9:16 AM, Lubomir Marinov<lubomir.marinov@gmail.com> wrote:

The Off-the-Record Messaging configuration form and the OTR menu don't
appear until I have at least one account at startup (e.g. if the
application is started without a previous state saved in
~/.sip-communicator). This is a problem not only because configuration
forms should always be visible but also because if I create an account
in such a scenario, I still don't get the configuration form and the
OTR menu until I restart the application i.e. until the application
starts up with at least one registered account.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net


#9

Hello Lubomir,

r5925 should fix the problem.

Lubomir Marinov wrote:

路路路

The Off-the-Record Messaging configuration form and the OTR menu don't
appear until I have at least one account at startup (e.g. if the
application is started without a previous state saved in
~/.sip-communicator). This is a problem not only because configuration
forms should always be visible but also because if I create an account
in such a scenario, I still don't get the configuration form and the
OTR menu until I restart the application i.e. until the application
starts up with at least one registered account.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net


#10

Hi George,

I'm not sure why the "Reset" menu item is checkbox-like.

I think it's not checkbox-like, it's a one-time-shot button. This resets
the per-user otr policy to match the global policy.

The "Reset" menu appears checkbox-like on Ubuntu GNOME which means (with the Dust Sand theme) that it has a white box in front of its label as checkboxes do. The respective code reads "JCheckBoxMenuItem cbReset = new JCheckBoxMenuItem();" so the UI I'm seeing sounds to be in accord with the code.

Regards,
Lubomir

路路路

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net


#11

You are absolutely right, I fixed it.

Please note that this feature may not work correctly (ot4j issue). I am
working on otr4j this as well as some other issues and generally improve
it (http://otr4sipcomm.blogspot.com/2009/09/life-after-gsoc.html).

This particular issue you mention is not mentioned in the blog entry,
but I'm working on it as well :>

Regards,
George

Lubomir Marinov wrote:

路路路

Hi George,

While working on r5981, I noticed in OtrContactMenu#rebuildMenu() that
cbAlways and cbRequire both invoke OtrPolicy#setEnableAlways(boolean).
I guess it shouldn't be the case.

Regards,
Lubomir

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net


#12

Hello Lubomir,

Thank you for reporting this. I will fix the issues and provide javadoc
during the weekend.

Thank!
George.

Lubomir Marinov wrote:

路路路

Hi George,

I and Yana talked today over setting a null MetaContact to
PluginComponent implementations and we went forth and back but I think
we both agree that the OTR button in the tool bar of the ChatWindow is
not prepared to handle the case. For example, as Yana has alerted me,
the OTR button can receive a null MetaContact when the current chat is
in a chat room. I did test it with an IRC chat room and the OTR button
stays enabled, even changes when I click on it. Could you please look
into it?

If you allow me, I'd like to reiterate again that the OTR code in SIP
Communicator still lacks Javadoc comments.

Best regards,
Lubomir

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net


#13

Hello Lubomir,

I provided a simple solution to the problem, i.e. if the MetaContact
is null, I disable the button.

I setup a local irc server and did some testing and it works fine.
Should you find any other glitches, please let me know.

Best,
George

路路路

On Fri, Sep 18, 2009 at 4:46 PM, Lubomir Marinov <lubomir.marinov@gmail.com> wrote:

Hi George,

I and Yana talked today over setting a null MetaContact to
PluginComponent implementations and we went forth and back but I think
we both agree that the OTR button in the tool bar of the ChatWindow is
not prepared to handle the case. For example, as Yana has alerted me,
the OTR button can receive a null MetaContact when the current chat is
in a chat room. I did test it with an IRC chat room and the OTR button
stays enabled, even changes when I click on it. Could you please look
into it?

If you allow me, I'd like to reiterate again that the OTR code in SIP
Communicator still lacks Javadoc comments.

Best regards,
Lubomir

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net


#14

Hi George,

Thank you very much for the fix!

I'm afraid there's still a minor glitch though: if I start SC with no previously saved configuration in ~/.sip-communicator, create and log into my Google Talk account and then go to the Off-the-Record messaging configuration form, the Account combo in "My Private Keys" contains no accounts to choose from.

Regards,
Lubomir

路路路

On 5.09.2009 01:45, Geekius Caesar wrote:

Hello Lubomir,

r5925 should fix the problem.

Lubomir Marinov wrote:

The Off-the-Record Messaging configuration form and the OTR menu don't
appear until I have at least one account at startup (e.g. if the
application is started without a previous state saved in
~/.sip-communicator). This is a problem not only because configuration
forms should always be visible but also because if I create an account
in such a scenario, I still don't get the configuration form and the
OTR menu until I restart the application i.e. until the application
starts up with at least one registered account.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net


#15

Oops..! Fixed.

All: Now that we discuss about the menu items, do you have any idea why
the menuitems become white occasionally, like in the screenshot?

Lubomir Marinov wrote:

路路路

Hi George,

I'm not sure why the "Reset" menu item is checkbox-like.

I think it's not checkbox-like, it's a one-time-shot button. This resets
the per-user otr policy to match the global policy.

The "Reset" menu appears checkbox-like on Ubuntu GNOME which means (with
the Dust Sand theme) that it has a white box in front of its label as
checkboxes do. The respective code reads "JCheckBoxMenuItem cbReset =
new JCheckBoxMenuItem();" so the UI I'm seeing sounds to be in accord
with the code.

Regards,
Lubomir

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net


#16

Because I forgot to mention it in the comment of r5946, I'd like to add to this thread that the commit also makes sure that the PluginComponents in the chat menu are added before the Help menu in order to keep it the last one and it's now OK on my Ubuntu.

路路路

On 3.09.2009 13:04, Lubomir Marinov wrote:

Hi Yana,

Thank you very much for the lightning fast answer and fix!

>> Again in the area of conventions, I think the "Help" menu item is to
>> be the last, not "OTR".
>
> Just wanted to mention that in my case the "Help" menu item is actually
> the last..

I guess it may be Mac OS X on your side or Linux voodoo on mine. I'll
make sure to look into fixing it one of these days presuming you agree
with me that having the "Help" menu last on all supported platforms is
desired.

Best regards,
Lubomir

Yana Stamcheva 薪邪锌懈褋邪:

Hi Lubomir,

Just wanted to comment on the following two points.

Lastly, I'd like to also talk about the OTR menu in the chat window.

I find it a bit unconventional to have an image in the main menu
"OTR" item (at least that's how I see it on Ubuntu GNOME).

This is my fault. Some days ago I've added an icon to the OTR menu.
Actually I thought it's only shown in the contact list right button
menu and I didn't noticed it's also used in the chat window. I'll
modify that in order to keep the icon in the contact list and remove
it from the chat window. Thanks!

Again in the area of conventions, I think the "Help" menu item is to
be the last, not "OTR".

Just wanted to mention that in my case the "Help" menu item is
actually the last..

Cheers,
Yana

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net


#17

You are right, fixed :> (r5928)

Lubomir Marinov wrote:

路路路

Hi George,

Thank you very much for the fix!

I'm afraid there's still a minor glitch though: if I start SC with no previously saved configuration in ~/.sip-communicator, create and log into my Google Talk account and then go to the Off-the-Record messaging configuration form, the Account combo in "My Private Keys" contains no accounts to choose from.

Regards,
Lubomir

On 5.09.2009 01:45, Geekius Caesar wrote:

Hello Lubomir,

r5925 should fix the problem.

Lubomir Marinov wrote:

The Off-the-Record Messaging configuration form and the OTR menu don't
appear until I have at least one account at startup (e.g. if the
application is started without a previous state saved in
~/.sip-communicator). This is a problem not only because configuration
forms should always be visible but also because if I create an account
in such a scenario, I still don't get the configuration form and the
OTR menu until I restart the application i.e. until the application
starts up with at least one registered account.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net


#18

You are right, fixed :> (r5928)

Lubomir Marinov wrote:

路路路

Hi George,

Thank you very much for the fix!

I'm afraid there's still a minor glitch though: if I start SC with no previously saved configuration in ~/.sip-communicator, create and log into my Google Talk account and then go to the Off-the-Record messaging configuration form, the Account combo in "My Private Keys" contains no accounts to choose from.

Regards,
Lubomir

On 5.09.2009 01:45, Geekius Caesar wrote:

Hello Lubomir,

r5925 should fix the problem.

Lubomir Marinov wrote:

The Off-the-Record Messaging configuration form and the OTR menu don't
appear until I have at least one account at startup (e.g. if the
application is started without a previous state saved in
~/.sip-communicator). This is a problem not only because configuration
forms should always be visible but also because if I create an account
in such a scenario, I still don't get the configuration form and the
OTR menu until I restart the application i.e. until the application
starts up with at least one registered account.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net