Client - Screening Quiz command line tool

Discussions about the UI and UX for the client built using termui.

The terminal has to be full size for proper display right? Is there a way to force this once the client starts?

Hmm, I am not sure if we can force that. We could mention that in the instructions and make sure the demo tests for displaying long questions.

First Page

In the first page, create different sub-boxes.

Terminal Size

  • Please ensure that you can see all the 4 borders of the Instructions box.
  • If you can’t see them, you need to increase the size of your terminal.
  • DO NOT proceed with the test, until you are able to see all 4 outer borders.


  • By taking this test… This line should be at the top.
  • Duration of test is 60 mins. Timing would be clearly shown.
  • Questions can have … They will be shown accordingly.
  • Once you start the test, the timer would not stop, irrespective of any client side issues.


  • There is NEGATIVE scoring for wrong answers. So, please DO NOT GUESS.
  • If you skip a question, the score awarded is always ZERO.
  • You might be given the option to recover from negative score with a second attempt.
  • In the above case, please note that another wrong answer would have further negative score.
  • Scoring would be clearly marked in the question on the right hand side box.


  • If there are any problems with the setup, or something is unclear, please do not start the test.
  • Send email to [email protected] and tell us the problem. So we can solve it before you take the test.

Question Page

  • Clearly show whether they can select only one answer or multiple answers.
  • Handle multiple answer scenario.
  • When you select an answer, don’t say “Are you sure you want to select …”. Just show the response, and the next line which is, “Press ENTER to confirm. Pressing any other key …”. Like so:

b) This is the right answer

Press ENTER to confirm. Press any other key to cancel.
  • There is no way to skip the question. That needs to be added. Maybe use s again. Also, do make them ENTER for skip to happen.
  • Maintain same decimal digits, so right answer => 5.0, wrong answer => -2.5
  • Remove the term points. They serve no purpose.
  • Also, please don’t use real questions from our repository for the demo. Make up a few questions, say from General Knowledge quizzes.

For the following, try these out, and see how they look. Then adjust based on looks:

  • If you can change the coloring, then for every line which starts with //, make it blue or something. And remove the starting //.
  • Right answer, wrong answer, make the bg green and red respectively.
  • Update coloring for the answers box. Make them more prominent.

Thanks for the feedback @mrjn.

Sure, this was just to get started and get the flow working. I will choose general questions.

First page has been revamped. You could have a look at it by pulling from the repo and building the binary.

This is still to be done. With our current design I am not sure what could be a good way to do this. Maybe select options and then press a key to go to confirm screen. Highlighting the selected answer with a different color would have been a better solution. I will try to experiment with that.

Spent some time on this. Couldn’t get this done yet, will spend some more time once we have the basic functionality up.


Got a version of the client working which shows multiple selected answers below the options. On pressing Enter you go to confirmation screen. Let me know how it looks @minions.

  • I don’t see an outer instruction box anymore :frowning2:. I meant, having the instruction box, and then the 4 boxes inside it.
  • We have a demo… that should be said at the end. Not in the 2nd box.
  • please DO NOT start the test… You need to make certain words really stand out, by caps locking it.
  • For single choice answers, when they choose the first option, you can directly take them to the Selected and press Enter to confirm screen.
  • Only for multiple choice, do you need to show the selected options. For multiple choice, do this:
  • Say multiple answers could be correct in the Answers box.
  • Sort the chosen options, so if one presses b then a, it should show up as a, b
  • Add the commas.
  • When 1 or more options are chosen, say press Enter to see chosen options.
  • The behavior is weird if you choose a - d, and then s. It asks for skipping, but then continues with the chosen option anyway.

Incorporated the feedback above. Have a look again please.

Can yous till see this @mrjn?

I was thinking about the interaction for starting the quiz. How about we don’t show the option to start the quiz at the first screen. When the applicant finishes the demo and is back again to the home screen, he can then press s to now start the quiz. This would also ensure that he can’t start the quiz without taking the demo.

How does that sound @mrjn?

Hmm… generally I’d say no. But, we only expect one person to do this exactly once. So, yeah, probably makes sense.

OTOH, we should allow them to put the token in there when they run the program. So, something like: gru --token=abcdef. If they run it without the token, we can show them the demo. Otherwise, do the quiz. That’s also a way.

One more thing we could do, is to have 2 options, d for demo, and s for starting the quiz.

Though, in this way, they would have to know beforehand that they must not enter the token to take the demo. This would need to be mentioned in the email. I don’t think this is ideal.

We could do this, but then we shouldn’t allow them to take the test before they have taken the demo. Or should we? If we aren’t allowing them, then maybe it only makes sense to show them the option when can take it.

You got good points there. I think what you proposed makes the most sense.

1 Like

Making the demo compulsory sounds like a good idea, It’ll just be a couple minutes and would avoid any confusion later during the test. So, in the instruction, we can mention that only after they are finished with the demo, they can start the test.


This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.