Saturday, 10 July 2021

Prototyping: input & output

"Prototyping translates findings from formative work into concrete designs that can be tested, revised and refined prior to implementation of the final system."

Basically it's taking everything we've learned from our research bringing it together to build a proof of concept, the prototype doesn't have to be a fully working end to end solution but one or a series of targeted POC's that can be shared and played with. The idea is to collect more information get more feedback and use that high value data to improve the solution.

Prototypes do not even have to be coded, they can be made of paper or a series of screens they are a medium to convey a more refined concept than just wires or screens.

When designing a system we can really think of our solutions as something that process input into output, input being what we provide to the system, output being what the system provides to us; there are other factors like data retention, but for simplicity sake let's focus on Input->Process->Output.

"Input: Data that needs to be entered into the program to enable it to perform a desired tasks"

As designers we need to understand what data needs to be entered into the system and what the most effective way to enter that data is. There are two basic types of data

  • User defined input: input that is directly entered by the user via, textboxs, buttons, menus, date pickers, voice input, file upload, etc . input that is actively entered via UI controls.
  • Passive data: input from background sensors such as location services, accelerometer, fitbit, picture library, rss readers, anything the user doesn't actively enter but is available.
When performing interaction design there are some basic questions that need to be asked
  1. What is the granularity of data input that is required? 
    • Do you really need first name, middle name, last name, or would just name suffice.
  2. When and how often is the data needed?
    • Ask for the minimum amount of input upfront then passively or progressively collect subsequent user input.
  3. What is the state of the user when the data is required, is the user driving? eating? in a distracting environment? sitting in front of a computer on their lunch break? 
    • the users state is key in deciding what kind of inputs are going to be effective
  4. What is the value vs burden relationship of obtaining the data?
    • Will the user be willing to supply the input to receive the output, if all i want is to know the exchange rate of Swiss francs to US dollars, am i willing to input more then just the value to be converted? how much battery life must we drain? what are the privacy implications? is the user willing to pay the battery life or privacy cost
Effective interaction design is fundamental to successful technology design, if users can't or aren't willing to provide the input required for the system it will fail. It is important to strike a balance between the effort to supply input and the value of the output.

Output is the information that the system presents to the user once it has processed the user's input. it can broadly be defined as:

"Output: Information that the system presents to the user in order to accomplish its intended function"

Output is made up of:
  • Structure: The format in which information is presented to the user.
  • Content:What information is presented to the user. 
when the output is presented to the user there are considerations that must be taken into account to best decide what structure to utilize when presenting the output to the user.
  1. What exactly does the user need to know to perform the task?
    • What is the user trying to accomplish, what information does the solution provide to support the user's needs.
  2. When/how often will the user interact with the information?
    • Does the user need the information weekly? daily? hourly? 
  3. In what state will the user be when presented with the output data?
    • will the user be driving? sitting at a computer? working in the field?
  4. What is the users current knowledge base?
    • Does the user have the expertise to understand the output.
Pull vs push content
Traditionally when users interact with a system they are presented with pull content, that is content that they request and are supplied with. However push content is delivered to the user based on predefined rules, the user receives the content when the system is programmed to provide it; this content needs to be simple and unobtrusive.

UX design involves designing inputs, outputs and the rules that translate the inputs into value added output for the user. When, where, and how the user will interact with both the inputs and outputs of a system must be considered for successful interaction design. The system must also convey why the solution is behaving the way it is, the user should know what value their input is providing; users' are far more likely to provide input or allow access to input if they see the value it will produce for them.