Science finds, Industry applies, Man Adapts. – 1933 World’s Fair Motto ((mis-)quoted as "man conforms" by D. Norman in Things that Make us Smart, 1993)

A user interface is well designed when the program behaves exactly how the user thought it would. J. Spoelsky, User Interface Design for Programmers, Apress, 2001.

In this lab, you’ll continue work on programming and meet with your team.

Application Development

In this exercise, we write a client application that reads data from a web-based data service.

Exercise 6.1

Implement the “Fetch Example” in React Native’s Networking tutorial. Do this by creating a default Expo app as we’ve done in the past (call it fetch-app), and update that app as specified in the “Using Fetch” sections (only) of the networking tutorial.

When you have it running for their movies data, which comes from a static JSON file, modify the code to read the product items used in Lab 5, as shown on the right.

When your application is running, save a screenshot of your book list, and create a readme file that documents the application and includes one-sentence answers to the following:

  1. How does the code use the following constructs?
    1. Promises
    2. JSON
    3. Hooks
    4. HTTP methods
  2. Modify the URL to some invalid value and explain how the app responds.

Submit this application by pushing it to your cs262 repo, including: lab06/fetch-app/; lab06/screenshot.png; and lab06/README.md.

Team Work

Evaluating an Interface Mockup

We’ll perform a simple heuristic evaluation of your interface design based on the user profiles and UI mockup required by project 2. Here are some common heuristics.

Exercise 6.2

You should actively participate in your team’s heuristic evaluation.

Running a Sprint Retrospective and Planning Session

We’ll do a retrospective and planning meeting for this sprint similar to the one we did in lab 3 for sprint 1.

Exercise 6.3

You should actively participate in your team’s retrospective and planning session.

For the retrospective, we’ll consider things that went well in the past sprint and things on which we need to improve.

For the planning, we’ll lay out the tasks we need to complete in the next sprint.

Checking in