CSC 395 (Fall 2021)

Lab: Principles Applied to Programming

In today’s class, we’ll take the principles of interaction Norman outlines in chapter one and apply them to programming, specifically, towards one of your group members’ programming environments!

Problem 1: Definitions

As a warm-up, define the following components of discoverability. Give an example of each, e.g., appealing to the objects you analyzed for today’s ready exercise (you did do that, right?).

Problem 2: Discoverability in Programming

Last week, we poo poo’ed on programming languages and tools for their “bad design” and gave some reasons why this might be the case. However, we weren’t terribly specific about what was “good” or “bad” design. This notion of discoverability gives us concrete hooks for evaluating our tools and insight into how to improve them.

In this problem, you will evaluate one of your own group member’s development environments along the lines of discoverability. One person should volunteer their development environment to be the subject for this analysis. Try to choose an environment that you are most comfortable with; it doesn’t matter what language this environment is meant for!

  1. Spend 10–15 minutes exploring the environment. The volunteer should show off their environment and demonstrate their usual workflow with their tools. Describe this environment in a few sentence in your write-up.

  2. For this environment, identify:

    • At least 2 affordances.
    • At least 2 signifiers.
    • At least 2 constraints.
    • At least 2 mappings between the environment’s interface and the underlying system. For each mapping, state whether the mapping is natural.
    • At least 2 examples of feedback generated by the system. For each, determine if the feedback is appropriately designed according to the reading.
  3. In a few sentences, describe the conceptual model that the average user has when using the system. Describe this in terms of the “normal” workflow one has when writing a program in this environment.

  4. Finally, in a few sentences, rate the environment on its discoverability based on what you discovered.