Some things I think would be useful in tmda-gui.

- General:

* The initial frame is a bit confusing IMO. The address
  generation/checking interface comes up right away, and the `Pending'
  button is sort of lost in the middle there.

  It might be better to launch an overview frame initially , with
  buttons to go to the address or pending interface from there (or
  exit).

- The pending interface:

* I'm testing the pending interface with a 12MB pending queue with
  1900 messages. Not small, but I suspect many users will have one at
  least this large. On a fast workstation, it takes upwards of 25
  seconds after I press the `Pending' button before the pending frame
  appears. I'm not sure why it's taking so long. Hopefully tmda-gui is
  not reading the contents of each message as it loads?

* It's not clear that the app is doing anything during this time. If
  the speed can't be improved, it might be better to give the user
  some indication that it's processing messages---I initially thought
  the app was hung. Same comments for `Refresh'. If not this, at least
  launch the pending frame first before processing, otherwise it looks
  like the button got stuck.

* It would be nice to be able to sort the messages in the pending
  queue in a variety of ways. Time of message (chronological and
  reverse chronological), and perhaps alphabetical and reverse alpha
  from either of the other two columns.

* It would be nice to toggle the left column between displaying the
  message id (e.g, 1038203674.1428.msg) and the calendar date.

* Perhaps Defaults.TERSE_SUMMARY_HEADERS should be used instead of
  hardcoding the contents of the right two columns?

* The top button bar showing the message actions (Rfsh, Show, W, Rel,
  etc.) is a bit ambiguous (i.e, what does `B' mean?). There seems to
  be enough room there to spell out the actions in their entirety. For
  extra credit, you could dynamically resize the buttons if the frame
  width is resized smaller than the button bar.

* I'd be nice if the arrow keys worked in addition to the mouse, and
  also if certain keys were bound to the various message actions (e.g,
  `b' for blacklist, `r' for release, etc.). PageUp and PageDown would
  be helpful to scroll through the message list as well.

* I think by default, the user should have to confirm his message
  action before it's executed. Perhaps with a pop-up box prompting
  ``Are you sure you want to Delete foo?'' for example. Configuration
  variables can inhibit the confirmations for ``power users''.

* When a particular message is highlighted, it would be cool to be
  able to bring up the `Message' menu through a right mouse click
  rather than having to return to the top of the frame to dispose of
  the message.

* `Show' doesn't work for me. The display buffer shows the message
  contents in a single loooooonnnnng column instead of line by line.

* `Release' doesn't work for me:

Exception in Tkinter callback
Traceback (most recent call last):
  File "/usr/local/lib/python2.1/lib-tk/Tkinter.py", line 1285, in __call__
    return apply(self.func, args)
  File "bin/tmda-gui", line 632, in MessageRelease
    self.listbox.ReleaseSelectedMessage()
  File "bin/tmda-gui", line 433, in ReleaseSelectedMessage
    processMessage(self.msgs[int(self.curselection()[0])], command='release')
  File "bin/tmda-gui", line 115, in lib_processMessage
    return '\n'.join(data)
TypeError: sequence expected, None found

* `Delete' unlinks the message, but doesn't refresh the display, so
trying to re-display the message results in:

Exception in Tkinter callback
Traceback (most recent call last):
  File "/usr/local/lib/python2.1/lib-tk/Tkinter.py", line 1285, in __call__
    return apply(self.func, args)
  File "bin/tmda-gui", line 615, in MessageShow
    (hdr, bdy) = self.listbox.GetSelectedMsgContent()
  File "bin/tmda-gui", line 458, in GetSelectedMsgContent
    command='show').split('\n\n', 1)
  File "bin/tmda-gui", line 105, in lib_processMessage
    msg = Pending.Message(msgid)
  File "/usr/home/jasonrm/cvs/tmda/dist/TMDA/Pending.py", line 390, in __init__
    raise MessageError, MessageError('%s not found!' % self.msgid)
MessageError: TMDA.Pending.MessageError:
1036426240.24133.msg not found!

_________________________________________________
tmda-workers mailing list ([EMAIL PROTECTED])
http://tmda.net/lists/listinfo/tmda-workers

Reply via email to