4

I am currently working on a dialog where the user inputs a sequence of names. This sequence is simulated in the underlying code as the user types, and "issues" with the sequence are printed below the input field. Alternatively, the user can copy-and-paste a sequence into the input field. The user would expect to be able to edit the middle of a sequence, both to correct errors, or to insert a (sub-)sequence. The rough draft of this dialog is shown in figure 1.

This works... sort-of. The information to correct the sequence is there, but it is hard to interpret. Transition "9" is in this case the last name in the sequence, but to find it you would need to count the names. Finding "T4" requires one to go through the entire sequence. Besides this, looking at the input it is not immediately clear where one name ends and the next one begins.

I have thought of putting each transition name in a "bubble" after it's typed, more or less like the tag-system here on Stack Exchange. This would allow me to manipulate the colour of the bubble to indicate an error. I have only seen this system being used with input that is a set (aka: no order, no duplicates), which might confuse the user. For example, in the Stack Exchange tag engine, tagging something with "a b" is the same as tagging it with "b a". This is not necessarily the case with this sequence. "a b a" would be normalized to "a b", which will not happen in this sequence either.

Alternatively, I could create a list view, but this would make copy-and-paste useless, and inserting a sub-sequence a nightmare. I could force the user to input the sequence by clicking buttons with the transition names. This would ensure the sequence is always correct, but messes with copy-and-paste again. Inserting a sub-sequence is not possible in that case either.

Is there a de-facto standard for input and editing of a sequence? Is there a de-facto standard for indicating an issue with part of the sequence that was given?


The beauty of a horrible sequence Figure 1: Draft of the dialog.

2

How about something like this?

comma will end sequence and convert it to a UI with background.

Inside the sequence, the individual items (which are seperated by a [space]) are converted into UI items with background.

Moving a cursor onto a sequence will remove the BG from the sequence, indicating the sequence is currently being edited.

Moving the Cursor onto an item will remove the BG from the item indicating the item is being edited.

So, basically the current item and current sequence will not have BG on them.

image showing a differentiation between a sequence and an item

  • Thank you for your answer. The answer is somewhat like the "bubble" idea I had, but does not really address the concerns I expressed with that idea. – Sumurai8 May 28 '16 at 12:58
  • I am not sure I understand your concerns fully... Are you saying that copy and pasting the sequence/subsequence is hard in this method? – Sai Phaninder Reddy J Jun 1 '16 at 17:24
  • I mean the third paragraph of my question: Bubbles being seen as a set instead of a sequence, due to use as such outside the application. – Sumurai8 Jun 2 '16 at 12:41
1

In the end I went with a hybrid approach of this input field, and links behind the error messages. The two common actions one might want to take when something invalid is entered, is editing that part, or deleting that part.

The links, (Select | Delete), would either select the part of the sequence that was wrong, or delete it outright. This allows the user to modify the sequence by copy-pasting, and still easily identify which parts of the sequence are wrong.

  • If there is a de-facto standard for this stuff, feel free to post an answer with a source. At this point I just want to prevent the question from being bumped to the front page randomly and I feel the other answer does not address any of the concerns I have. – Sumurai8 Jul 2 '16 at 12:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.