[Pidgin] #4986: automatic chat input field resizing should be optional, regression from 2.3

Pidgin trac at pidgin.im
Tue Apr 8 05:09:06 EDT 2008


#4986: automatic chat input field resizing should be optional, regression from 2.3
---------------------------+------------------------------------------------
  Reporter:  swbrown       |       Owner:                   
      Type:  enhancement   |      Status:  reopened         
  Priority:  minor         |   Milestone:                   
 Component:  pidgin (gtk)  |     Version:  2.4.0            
Resolution:                |    Keywords:  chat input resize
   Pending:  0             |  
---------------------------+------------------------------------------------
Comment (by DSK):

 [and another user having registered for the sole purpose of complaining
 about this 'feature'][[BR]]
 Why is it that you want to _force_ such a change of one of the most
 substantial elements in an IM on your users? The current behaviour is a
 misfeature because of several reasons:

 > A program should follow the `Law of Least Astonishment'. What is this
 law? It is simply that the program should always respond to the user in
 the way that astonishes him least.
 >[[BR]]
 > A program, no matter how complex, should act as a single unit. The
 program should be directed by the logic within rather than by outward
 appearances.
 >[[BR]]
 > If the program fails in these requirements, it will be in a state of
 disorder and confusion.

 [http://www.faqs.org/docs/artu/ch11s01.html Another article on the
 principle of least surprise]

 It absolutely goes against the principle of the least surprise. I will
 expect, that an area in which I can enter text, to be static. I will
 expect that, because it is just like that in every other program there is
 out there, and has always been. And even before that, when we still had to
 write on paper, the area in which I could write was static in size.
 Principally users will see all input fields the same - be it in an editor,
 e-mail client, mobile phone, or an input field in an IM. And I _never_
 ever would want my editor to just resize itself in the progress of
 writing.

 > It's a consequence of the fact that human beings can only pay attention
 to one thing at one time (see The Humane Interface [Raskin]). Surprises in
 the interface focus that single locus of attention on the interface,
 rather than on the task where it belongs.
 The primary task while working on any arbitrary input area is writing.
 There might be the additional task of reading what has been previously
 written. Now with an automatically resizing input field, there comes the
 additional task of refocusing because the input area suddenly grows and
 thus the chatlog area shrinks - maybe making stuff I was currently reading
 disappear. And now it has completely destroyed my flow of work. I have to
 scroll up again, which in itself already needs the task of moving away my
 hand from the keyboard to the mouse, and back - and alas! You've got the
 user completely annoyed. Probable solution there would be to make the
 chatlog area stay the same size and make the window itself grow. [Just the
 idea of that just makes me shrivel, apart from maybe not even being
 possible programmatically.] Now the program gets absolutely intrusive,
 maybe blocking the view of what was behind the chat window, doing
 something completely unexpected, in expecting to be the only program
 that's running - no good. In no way.
 Furthermore, you're being absolutely obstrusive in expecting to know what
 the users want. Or, even worse, expecting the users to not know what they
 want - making them feel stupid, or incapable of making decissions of their
 own.[[BR]]
 If you feel like providing a user with a special, and extraordinary
 feature - give them an option field to turn it on [_opt in_]. _Too_ many
 options might be a bad idea because they might overwhelm the user, when
 not being presented in a way that will make him feel like having a lot of
 control without having to do much. And users - being mostly human as of
 yet, love control. Everything else will make him/her feel constricted. And
 Pidgin is far from having too many options. Users like to be able to tell
 a program how to behave.

 Here another article that might be interesting for you:[[BR]]
 [http://www.osnews.com/story/6282/The_Command_Line_-_The_Best_Newbie_Interface_/]
 [[BR]]
 Derived from that article, you will see that users like to work with
 something that is less intelligent than them. Not behaving less
 intelligent, as in not being able to tell exactly what the user wants.



 You're putting a Sisyphean task on yourself there, chasing to improve your
 implementation in trying to reduce the ways in which the autoresizing
 input field can behave in a way that would be unpleasent for the user,
 probably introducing other ways in which that will be the case; trying to
 make an extraordinary feature suit for everybody. DWIM is not feasible
 yet. Yet. Do a decent implementation of a DWIM interface, and I - and
 surely all other people, will go happily along. But trying to do that -
 no, sorry; trying to force that on users, as in giving them no other
 choice than to use that anti-feature - when there has been a most
 reasonable and satisfactory solution for that all along - let the user
 decide on the size of the input field, and let it be static - is not
 something to go with.

 > And if a feature just does not seem sensible, do not be afraid to throw
 it away.

 DSK

-- 
Ticket URL: <http://developer.pidgin.im/ticket/4986#comment:233>
Pidgin <http://pidgin.im>
Pidgin


More information about the Tracker mailing list