Automatically set subject

Bug #173051 reported by sander
2
Affects Status Importance Assigned to Milestone
Coccinella
Fix Released
Wishlist
Mats

Bug Description

When people enter something in the subject field, the subject should be set/changed when the user activates the text input field below. Or maybe it is technically even beter to wait until the user send his first message? (e.g. to save bandwidth maybe?) Though, I have the feeling it is more productive to set the subject already before you send a message; in this way your contact will know about what you are going to talk in a few secs and he even can anticipate to that even before you send the first message (e.g.: "Sorry, no time for that right now, ask later today")

sander (s-devrieze)
Changed in coccinella:
assignee: nobody → matsben
importance: Undecided → Wishlist
Revision history for this message
Mats (matsben) wrote :

I'm not exactly sure of what you want but it sounds very similar to the system I had before I implemented the "set on Return" method. "Set on Return" is a method used by web browsers and many other. Also when setting names in roster and groupchat. The current way is good because a user just started to set subject and then just regret it, just leaves the filed, and it is set to what it was before. Also, I think it is logically clearer for the user that the subject actually is set on Return (added this to tooltip).

Revision history for this message
sander (s-devrieze) wrote : Re: [Bug 173051] Re: Automatically set subject

2007/12/1, Mats <email address hidden>:
> I'm not exactly sure of what you want but it sounds very similar to the
> system I had before I implemented the "set on Return" method. "Set on
> Return" is a method used by web browsers and many other. Also when
> setting names in roster and groupchat. The current way is good because a
> user just started to set subject and then just regret it, just leaves
> the filed, and it is set to what it was before. Also, I think it is
> logically clearer for the user that the subject actually is set on
> Return (added this to tooltip).

I don't agree with this argument. I think the subject line in
Coccinella is much more similar to the subject line people know from
their email client...which *don't* requires the user to hit enter...so
it is not logical for a user who knows he don't needs to press enter
in his email client...

--
Mvg, Sander Devrieze.

Revision history for this message
Mats (matsben) wrote :

You mean that subject shall be sent on FocusOut event on the subject entry widget instead of:

proc ::Chat::OnFocusOutSubject {chattoken} {
    variable $chattoken
    upvar 0 $chattoken chatstate

    # Reset to previous subject.
    set chatstate(subject) $chatstate(subjectOld)
}

Revision history for this message
sander (s-devrieze) wrote :

2007/12/1, Mats <email address hidden>:
> You mean that subject shall be sent on FocusOut event on the subject
> entry widget instead of:

Yes, that was my initial thought. But I changed my mind :-) It should
work like this:
1) current behaviour still should work (so, enter to send the new subject)
2) new additional behaviour: send the new or changed subject at the
same time when a first message is sent (this is similar to email
clients)

--
Mvg, Sander Devrieze.

Revision history for this message
Mats (matsben) wrote :

I have kept the Return action as before and added same behaviour on FocusOut:

    # Special bindings for setting subject.
    bind $wsubject <FocusIn> [list ::Chat::OnFocusInSubject $chattoken]
    bind $wsubject <Return> [list ::Chat::SetSubject $chattoken]

    switch -- $config(chat,set-subject) {
 "return" {
     bind $wsubject <FocusOut> [list ::Chat::RevokeSubject $chattoken]
 }
 "focusout" {
     bind $wsubject <FocusOut> [list ::Chat::SetSubject $chattoken]
 }
    }

It is config()urable:

    # Set subject on Return or when focus out?
    set ::config(chat,set-subject) "focusout" ;# return|focusout

The mechanism you are suggesting is identical to an old one I had which I rejected for the OnReturn one. I still think it is less straightforward than the OnReturn one.

Revision history for this message
sander (s-devrieze) wrote :

> The mechanism you are suggesting is identical to an old one I had which
> I rejected for the OnReturn one. I still think it is less
> straightforward than the OnReturn one.

Well, you can combine both:
if user leaves subject field: check if he hit Return
  if yes: do nothing
  if no: remember this
if user sends message: check if we remember that the user changed/set
the subject?
  if no: do nothing + send message
  if yes: send subject update + send message

--
Mvg, Sander Devrieze.

Revision history for this message
Mats (matsben) wrote :

This is now config()urable:

    # Set subject on Return.
    set ::config(chat,subject-on-return) 1

    # Set subject on FocusOut.
    set ::config(chat,subject-on-focusout) 0

    # Revoke subject on FocusOut.
    set ::config(chat,subject-focusout-revoke) 0

Whenever the user edits the subject line, using above settings, the new (if changed) subject is sent together with the next message, or it can be sent off directly by pressing Return.

Changed in coccinella:
status: New → Fix Committed
Revision history for this message
sander (s-devrieze) wrote :

2007/12/3, Mats <email address hidden>:
> This is now config()urable:
>
> # Set subject on Return.
> set ::config(chat,subject-on-return) 1
>
> # Set subject on FocusOut.
> set ::config(chat,subject-on-focusout) 0
>
> # Revoke subject on FocusOut.
> set ::config(chat,subject-focusout-revoke) 0
>
> Whenever the user edits the subject line, using above settings, the new
> (if changed) subject is sent together with the next message, or it can
> be sent off directly by pressing Return.

Are these the default settings?

--
Mvg, Sander Devrieze.

Revision history for this message
Mats (matsben) wrote :

Yes

sander (s-devrieze)
Changed in coccinella:
milestone: none → 0.96.4
sander (s-devrieze)
Changed in coccinella:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.