Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

We consider 6 high-level tasks related to our problem. Three compose the central experience: reading, filtering, and configuring the display. The other three are required for our interface to be used with third-party services: identifying themselves to our service, initial setup, and managing connections to third-party information sources.

We consider 6 high-level tasks related to our problem, 3 essential and 3 non-essential. We list the other three tasks as a reminder that they still need to be implemented, even if they are not significant.

Essential Tasks

Reading

Besides viewing the content, users also need to be able to organize the content (such as with tags or a directory structure), and control the lifetime of the content (marking items as read, marking as “read later,” etc).

...

  • Why is the task being done? So that we know what they want to read
  • What does the user need to know or have before doing the task? What sources they want to add, and their authentication information
  • Where is the task performed? in a smart phone’s web browser, potentially on the go
  • What is the environment like? Noisy, dirty, dangerous? yes
  • How often is the task performed? once per information source
  • What are its time resource constraints? fast (less than a minute)
  • How is the task learned? in situ
  • What can go wrong? forgot password, typo. don’t know what the service is or how to add it (ex: RSS feeds). want to add a source that we don’t support.
  • Who else is involved in the task? the 3rd party in question

Non-Essential Tasks

We simply list these tasks, since they are not essential to the problem our application is trying to solve.

Configuring the Display

We anticipate that one interface will not fit all, so we will need controls for display settings like changing the font face and size. This will be more important in the phone interface than on the desktop, where browsers expose convenient settings for the font size.

  • Why is the task being done? The user cannot read our interface comfortably
  • What does the user need to know or have before doing the task? That they are uncomfortable, and that settings are available
  • Where is the task performed? in a web browser on a phone or PC
  • What is the environment like? Noisy, dirty, dangerous? potentially
  • How often is the task performed? ideally only once
  • What are its time resource constraints? none
  • How is the task learned? in situ
  • What can go wrong? an inappropriate option is chosen that doesn’t improve readability
  • Who else is involved in the task? no one

Identity Creation and Authentication

To store user information remotely, we need users to create an identity for our application and provide authentication information to identify themselves in the future.

  • Why is the task being done? So we can identify the user and thus save state in our application for that user’s preferences/updates/etc.
  • What does the user need to know or have before doing the task? How they would like to identify themselves and authenticate their identity (like what user name and password they want to use)
  • Where is the task performed? in a smart phone or computer web browser, potentially on the go
  • What is the environment like? Noisy, dirty, dangerous? The environment could be noisy and have many people around. It could be indoors or out.
  • How often is the task performed? Once per user (hopefully)
  • What are its time resource constraints? Should be fast, about a minute
  • How is the task learned? By doing, but we should be able to rely on affordances
  • What can go wrong? The user inputs their desired identity/authentication incorrectly (lik the wrong user name or password)
  • Who else is involved in the task? no one.

Managing 3rd-Party Connections

After setup is complete and the app is being used, there are still actions that the user may want to take regarding our connections to the third-party services, such as remove them, pause their use (temporarily stop reading items from them), and configure how often updates are pulled.

...