Professional Documents
Culture Documents
1
Contents
1 Introduction 4
2 User Model 4
2.1 Why would someone want to use the system? . . . . . . . . . . . 5
2.2 What tasks will the system allow the user to do? . . . . . . . . . 5
2.3 Possible Target User Groups . . . . . . . . . . . . . . . . . . . . . 6
2.4 Survey . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.5 The Simplex One Model . . . . . . . . . . . . . . . . . . . . . . . 7
3 Task Analysis 9
3.1 Hierarchical Task Analysis (HTA) . . . . . . . . . . . . . . . . . 9
3.2 Review of some systems currently available . . . . . . . . . . . . 11
4 Requirement Gathering 11
4.1 Functional Requirements . . . . . . . . . . . . . . . . . . . . . . . 11
4.2 Technological Requirements . . . . . . . . . . . . . . . . . . . . . 13
4.3 Legal Requirements . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.4 Data Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.5 Environmental Requirements . . . . . . . . . . . . . . . . . . . . 14
4.6 User Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.7 Usability Requirements . . . . . . . . . . . . . . . . . . . . . . . 14
6 Prototype Implementation 21
6.1 The Prototype . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
6.2 Prototype Testing . . . . . . . . . . . . . . . . . . . . . . . . . . 21
6.3 Prototype Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . 22
8 Conclusion 28
8.1 Future Development . . . . . . . . . . . . . . . . . . . . . . . . . 28
Appendices 30
B Responses to questionnaire 32
C Prototype screenshots 35
2
F Final System screenshots 42
3
1 Introduction
Our initial proposal was for a system that takes the stress out of food manage-
ment for users by:
• keeping track of the user’s food stocks
• suggesting recipes based on current food stocks
• incorporating the user’s own recipes ???
• creating shopping lists based on user’s recipe choices
We developed our system according to the User-Centred System Design
(UCSD) process. According to this school of thought, the process of develop-
ment of computer systems should focus on the user and the user’s requirements.
In the past, computer programs were designed from a programmer’s point of
view. The functionality of the system was focused on and the user usually
needed a big manual or extensive use of a help function in order to use it. The
theory behind UCSD is that systems should be developed keeping the user’s
needs in mind at each stage of the development process. The ideal that we are
working towards is of a system that is self-explanitory to the extent that the
user has no need for a manual, for a help function or for extensive instructions
in order to use the system. UCSD has a much more foresightful approach to
development and it is clear why the approach is becoming the norm among
software developers.
UCSD defines six main stages of the development process:
• User Modelling
• Task Analysis
• Requirements Gathering
• Design & Storyboarding
• Prototype Implementation
• Evaluation of Final System
One of the guiding principles of the HCSD process is that the steps should be
iterated. The steps are flexible and are to be revisited and re-examined as the
design progresses.
An interactive system was to be developed following the principles of UCSD.
This document details the steps that we carried out as part of the development
of our system.
2 User Model
The first step involves identifying the potential users of our system: who is our
system aimed at? By identifying distinct user groups we can design the system
specifically gauged to their needs. Neglecting this step can prevent the system
from being truly usable to any group of users.
4
2.1 Why would someone want to use the system?
• Helps the user to remember food supplies already at home
• Saves the user from remembering what’s on shopping list
• Helps the user to make best use of food supplies currently at home
• Prevents food waste
• Can help save money
• Allows user to access what supplies they have when not at home
• Saves time
• Can help monitor diet as only ingredients required to make particular
recipes are added to shopping list. Also, it enables meals to be carefully
planned.
• All recipes are stored in one location
• The user doesn’t have to check cupboards to see which ingredients are
available
2.2 What tasks will the system allow the user to do?
Recipes
• Browse recipes on system (samples will be included)
• Input recipes
• Choose a recipe based on current food stocks
• The system will calculate quantities based on the number of portions re-
quired
Stock Control
• View current food stocks
• Input current food stocks (important when first using system)
• Update food stocks automatically by adding items to store cupboard when
’ticked off’ the shopping list and by removing them when a recipe is used
• Update food stocks manually by adding items not bought through shop-
ping list and removing items not used in a recipe (for example, when you
eat an apple!)
Shopping List
• The system will automatically create a shopping list based on chosen
recipes
• It will also calculate quantities required based on the number of portions
selected
• Manually add items to shopping list
• Type in a new ingredient or select from ingredients currently stored in
database
5
2.3 Possible Target User Groups
The potential user groups are as follows:
• Housewives/husbands/people in charge of household food management.
These people will have varying levels of computing experience.
• People with an interest in the system from a technological point of view but
perhaps with limited experience with cooking or household management.
• People with limited income. The system may help to avoid waste and
therefore save money.
• Blind/visually-impaired people might find this system very useful. Cur-
rently, monitoring stock is a very visual-based activity. The system gives
a text representation of this which could easily be read by text-to-speech
software.
• People with poor memory/learning disabilities. Shopping becomes eas-
ier as they don’t have to remember what stocks are available and what
quantities are required for different recipes.
People who will not use the system:
2.4 Survey
In order to obtain further information about our potential users, we gave four
potential users a questionnaire to fill out. This was sent via email and can be
found in appendix A.
Half of the users said that they already used the internet to find recipes and
so it seems likely that they might use our system. Also all users expressed a
general interest in using the system.
• Two users said they would like to use it in order to save time and be more
organised.
• One user said they would find it useful to prevent them forgetting items
while shopping.
• Two users said they would use it to add more variety to their cooking as
it would make planning easier.
• One user said it could save them money and another that it could help
avoid waste.
When users were asked what features they would like to see included three
interesting functions were suggested:
• Add own recipes
• Exclude certain recipes based on preferences
6
• Calculate quantities based on number of portions
These findings were very useful in that, not only did they reinforce our own
ideas, new ideas were put forward. The suggested features were taken on board
as part of the proposed system.
The five zones, and how they will effect user requirements for our system,
The Shrewd Foodie, are described below.
Perception (input)
People use their senses to take in new information, this is then compared with
knowledge already available to the user and the new information is then analysed
and stored. Here we analyse how users will perceive The Shrewd Foodie system
and how we can facilitate that perception for optimal information input.
7
• The majority of users can see with no visual impairment so a visual repre-
sentation of options and data is probably best so that a lot of information
can be provided ’at a glance’.
• Some users may be blind: a speech program would be required to give
instructions and options.
• Visually-impaired people who can read large print will need large icons
and text on screen
• Time is important while cooking. It can also be stressful. Anything that
needs to be done while cooking (e.g. reading recipe instructions, checking
quantities required) should be easy, simple and quick.
• Any symbols should be investigated before using as some may be confusing
to certain groups.
Response (output)
People respond differently according to their abilities to choose the correct action
at the right time and in the right order. We can facilitate output by considering
the following.
• We can anticipate that the majority of users will have good control of their
hands and can touch the screen or use a keyboard/trackpad or similar with
good accuracy.
• Blind people will either use speech to respond to the system, or a keyboard
or similar (e.g., a phone keypad). A touchscreen will not be useful.
• For someone with loss of hand control, options on a a touchscreen should
not be placed too closely together, as the user may select the wrong options
frequently.
8
Long-term memory
The long-term memory builds up associations of key events and symbols that
a person encounters throughout his or her life. Problems can occur when input
information is of poor quality and when there are mistakes in memory retrieval.
• Using metaphors can help with understanding how to use the system, as
it allows past experiences to help with learning. However, we need to be
careful of how different users will interpret the metaphors, for example,
older people may see things differently to younger people.
3 Task Analysis
3.1 Hierarchical Task Analysis (HTA)
A Hierarchical Task Analysis allows the developer to better understand the way
users carry out tasks already. By breaking the tasks down carefully we can also
gain a greater insight into the downfalls of the current system and how it can
be improved upon. Usually, any new system should enable the user to perform
all the tasks they can already do with the current system.
This is a HTA of the current system including plans, which has been based
on observations.
0 Cook a meal
1 Select recipe
1.1 Browse recipes
1.1.1 Browse recipe book
1.1.2 Search Internet for recipes
1.1.3 Browse any other resources, own notebook, recipes cut out of
magazines, written down by friends
1.1.4 Create own recipe
1.1.5 Try to follow recipe from memory
1.2 Check available ingredients
9
1.2.1 Look in freezer, fridge, cupboard and make mental note of ingre-
dients available
1.3 Select recipe
2 Create shopping list
2.1 Select ingredients required but not currently available
2.2 Calculate what quantities are required based on ingredients available
and number of portions to be made
2.3 Make a note of what to buy, mentally or on paper
3 Go Shopping
3.1 Go to the shop
3.2 Get items
3.2.1 Get item on shopping list
3.2.2 Select quantity required
3.2.3 Update shopping list (tick off item/keep mental note)
3.2.4 Select items you think you may require
3.2.5 Select items based on special offers/what’s in store
3.3 Pay for selected items
4 Cook
4.1 Review ingredients available
4.2 Consult recipe step
4.3 Follow step
From observing the current system we can conclude that there is room for im-
provement. Errors are frequently made which necessitate redoing certain steps.
This could be averted by introducing a more organised approach to ensure that
steps do not have to be iterated unnecessarily. A new system could facilitate
this. Frequently items are forgotten when shopping or quantities are miscal-
culated resulting in revisiting the shop there is no formal provision for stock
control. Some people just use their own recipes or ones stored mentally that
have been adapted over time. Any new system would have to incorporate this
aspect of cooking (in addition to its own recipes). It can be easy to get used to
cooking the same recipes repeatedly without variation. A computerised system
could help suggest new ideas.
The main problem with the current system that we would like to address is
that of stock control. With the many items the average person keeps in stock for
cooking, it is problematic to keep track of what you have in stock and therefore
to know what cooking options you have.
It is true to say that in order to see if you have the correct ingredients to
cook a certain recipe, say, you need only to walk over to the cupboard/fridge
10
and see if they are present. However, our system is built on the assumption
that if there was a way to monitor available ingredients, people would have to
retain less in their working memory and could therefore complete culinary tasks
more quickly, easily and efficiently, or even focus their efforts on creativity. The
average cook finds that currently they have to expend much energy retaining
necessary information in their working memory: available resources, the various
recipes in their repertoire. And yet despite this effort, they will frequently
forget to purchase necessary items, start a recipe for which they assumed the
ingredients were available but which are not, or forget that an ingredient has
already been used and must be replenished.
The ’DS Chef’ talks you through recipes (about 250 available) step-by-step. It
also explains techniques and ingredients. When you select recipes, the required
ingredients are collated into a shopping list. As the DS console is portable,
you then bring the console to the shop with you and check off the items as you
buy them. Details on calorie count, difficulty and cooking time are available
and the user can search by these elements or by ingredient. The game includes
demonstration videos. The user can keep track of what recipes they have already
cooked and they are encouraged to use it as a tool to improve as a cook. You
can add notes to recipes using the stylus handwriting recognition. The use of
voice commands is emphasised: you can navigate through the recipe using voice
commands, so you can still use the system if you are cooking and do not have
clean hands.
The use of voice commands is innovative but the DS operates using a plastic
stylus anyway, so the user has no need to touch the console if they do not want
to.
Cooking by Numbers
www.cookingbynumbers.com
This website suggests recipes based on what items you already have in stock.
It has a database of some interesting and unconventional recipes. This system
is quite limited as you can only select 24 items from the fridge and 20 from the
cupboard. Also the recipes can be a little bizaare, such as pasta with baked
beans and tinned tuna. The recipes appear to be aimed at students.
4 Requirement Gathering
4.1 Functional Requirements
1. List recipes
Description: The system should allow the user to browse the recipes
stored in the system.
11
Justification: The user must be able to view a recipe before choosing it
(HTA 1).
2. Show recipe method
Description: The system should give the full details required in order
to complete a recipe. The user should be able to review cooking methods
before deciding on recipe (HTA 1).
Justification: The user must be able to prepare the dish based on the
method given. The method may include information that tells the user if
they wish to select the recipe. For instance, the user may not have certain
equipment or cooking skill/knowledge to complete the recipe.
3. Show ingredients of recipe
Description: The user should be able to view the ingredients of a recipe
along with quantities.
Justification: The user may wish to select the recipe based on this (HTA
1). The user will need this to create a shopping list (HTA 2).
4. Add recipe
Description: The user must be able to input a recipe that is not already
stored in the system.
Justification: The stored recipes may not satisfy the users and they may
wish to locate a recipe from another source (HTA 1).
5. Show food currently in stock
Description: The user must be able to monitor what stock is currently
available to them.
Justification: The user should be able to monitor what is in stock (HTA
1.2). The user may wish to select a recipe based on what is in stock (HTA
1). The user may wish to create a new recipe based on what is in stock
(HTA 1.1.4).
6. Store information about stock/ingredients in recipe
Description: Quantity and unit of stock should be available to the user.
The system should differentiate between 1x400g tin of tomatoes and 1
fresh tomato.
Justification: This information is needed for requirement 14.
7. Select recipe based on ingredients available
Description: The system should suggest recipes based on what ingredi-
ents are available.
Justification: This moves the memory load from the user to the system.
Thus the user does not have to complete HTA 1.1 and HTA 1.2 iteratively
in order establish what recipe is suitable.
8. Select recipe based on recipes available
Description: The user may wish to select a recipe as the first step
Justification: The user must be able to browse recipes independently of
stock available (HTA 1.1).
9. Calculate quantities
Description: The system should provide the user with quantities re-
quired based on the number of portions needed.
12
Justification: Altering quantities can be problematic and lead to error.
Shifting the calculations from the user to the system can avoid this error
and will also be quicker.
10. Create a shopping list based on chosen recipe
Description: The system should generate a shopping list based on what
recipe is chosen
Justification: This can avoid human-error such as forgetting items. It
automates a time-consuming task. (HTA 2)
11. Manually add items to shopping list
Description: Users can manually add items to a system-generated shop-
ping list.
Justification: Users may wish to purchase items not included in a recipe.
This maintains flexibility of the system.
12. Input new item to current stock/shopping list
Description: Users may wish to add an item to the current stock that is
not provided in the database
Justification: This ensures the flexibility of the system. It would be
difficult to identify all possible ingredients during the development of the
system.
13. Input/Update food stocks automatically
Description: When items on a system-generated shopping list are pur-
chased, they should automatically be added to the current stock available.
The stock should be removed from what is currently available when it is
used in a recipe.
Justification: This allows for further automation of the shopping list
and stock monitoring.
14. Update food stocks manually
Description: The system should allow the user to add items to the stock
currently available manually.
Justification: The user must be able to buy and add items that were
not on the system-generated shopping list. The user may also use items
without using one of the system’s recipes. This is particularly important
when the user first uses the system. This will give the input information
for requirement 6.
13
4.4 Data Requirements
Information to be output by the system:
• recipes
• stock items including quantity
• shopping list
Information to be input into the system:
• recipes
• stock items
• allergies/dislikes (recipes for which ingredients should be omitted)
14
• Recoverability
User driven errors should be avoided. This can be acheived by limiting
user input to a range of options, for instance, by using a drop-down list.
Any errors encountered should be easy to recover from and any work up
until the point of error should be easy to access after the user has recovered
from the error.
Metric: Less than 10% of users should encounter errors. Less than half of
these should be unable to recover from an error or should have to restart
a process after encountering an error.
• Observability
The user should always be able to perceive at what point in the system
they are currently. The user can be shown where they are in the system
by careful use of images/icons. As the system includes several different
functions this is important so the user does not get confused. This is
also so the user does not have to overload their working memory with
an overview of the task they are completing. The system should allow
them to complete a small task without having to worry about the ’bigger
picture’.
Metric: Less than 10% of users should encounter a situation where they
cannot progress further in the system. Less than 10% of users should feel
lost in the system, being unaware of what stage they are at.
• Predictability
The system will be used by a diverse group of people. To make it as
easy as possible for as many people as possible we can strive to make the
system predictable. This can be attained by following standard rules and
common practice for system and web design, working on the assumption
that if users have computer experience then they will draw on that when
using a new system.
This will also be attained by ensuring that the system is consistent in look
and feel.
Metric: If more than 10% of users express confusion when using the
system or have basic questions about the interface then this requirement
has not been satisfied.
• The links at the bottom of the index page should be in the same place for
every other page.
• The ’Shrewd Foodie’ logo should appear at the top left of every page.
• Links should stand out from the rest of the page and should look similar
to each other, for instance, be one colour throughout the website.
15
• Standard practice in webpages should be adhered to. Word links should
be coloured blue at first, go red when clicked on, and go purple if they
have already been visited.
• The system should be as clear and simple as possible. The design should
be minimalist.
• There should be a limited amount of information on each page. Clutter
should be avoided.
• ’Chunking’ should be used in order to break the pages up into manageable-
sized elements.
• Screen resolution should be taken into consideration. The system may be
used on netbooks or small handheld devices. The system should remain
clear no matter what device is used.
• A colour scheme will be used.
Responsiveness
• The loading size of pages should be minimised to ensure quick download
times.
Learnability
• The system’s initial page should cater to new and experienced users. It
should not confuse novice users with complex information.
• An arrow diagram should be used to show the user what steps should be
taken in order to complete a task.
• Icons of real-world items (cupboard, recipe book, etc.) will be used. This
will make them self-explanatory.
Observability
• The use of an arrow diagram will give users a feel for where they are in
the system.
• There will be links at the bottom of every page to be used if a user becomes
confused about where they are.
Recoverability
• Drop-down lists will be used where necessary to avoid user-driven error.
They will be used when the user is inputting new items into the store
cupboard.
• There will be links at the bottom of every page to be used if a user is
stuck and needs to navigate from the page they are on.
16
5.2 Storyboarding
17
18
19
20
6 Prototype Implementation
6.1 The Prototype
A prototype is a working model of the final system which only performs certain
tasks, or appears to perform them. A prototype is developed in order to give a
reasonable idea of what the finished system will look and feel like. It will not
have the same level of functionality that the final system will have.
We aimed to include as many as possible of the aforementioned requirements
from Section 4, however, our main focus was to closely follow the decisions that
were made in the design stage and evident from the storyboarding in Section 5.
screenshots of the prototype can be found in the appendix.
21
• View Shopping List for recipe selected
Personal information was gathered from the testers first. Before the testers
performed any tasks, they were given a minute to become familiar with the site.
At this stage they were asked what they thought the system did. They were
then told what the system does, what the testing would entail and the think-
alound process was explained to them. We timed how long each task took to
complete. When the testers had finished attempting the tasks they were asked
if they had any comments, suggestions or problems with the site. The full script
can be found in Appendix D.
The tasks were as follows:
• Login as guest
• Add 6 eggs and 200g sultanas to Store Cupboard
• Find Recipe for Almond Chicken Curry
• View Shopping List of required items for the curry.
The responses can be found in Appendix E
22
Prototype Testing
Login Add Eggs Add sultanas Find Curry View Shopping List
User 1 15 12 11 12 30
User 2 22 15 12 18 22
User 3 25 14 16 18 24
User 4 20 10 9 17 27
mean 20.5 12.75 12 16.25 25.75
std dev 4.203 2.217 2.944 2.872 3.5
lower CI
95% 13.813 9.222 7.316 11.680 20.182
Upper CI
95% 27.187 16.278 16.684 20.820 31.319
lower CI
99% 8.225 6.274 3.402 7.862 15.528
Upper CI
99% 32.775 19.226 20.598 24.638 35.972
We can be 95% sure that an average user will take between 14 and 27 seconds to log
in
We can be 99% sure that an average user will take between 6 and 19 seconds to add
eggs
We can be 99% sure that an average user will take between 3 and 21 seconds to add
sultanas
We can be 99% sure that an average user will take between 8 and 25 seconds to find
the almond chicken curry
We can be 95% sure that an average user will take between 20 and 31 seconds to add
eggs
23
requirements had been met.
Functional Requirements
All of the functional requirements were met.
Usability Requirements
• Learnability: the metric set for this requirement was that any simple tasks
should take less than thirty seconds. This metric was met in our prototype.
• Responsiveness: no delay was perceived in our prototype. However, in
this version of the system, there was no database implementation so this
would still need to be addressed in the evaluation of the final system.
• Recoverability: None of our testers encountered errors. We strived to
prevent errors and to design the system so that if the user did encounter
an error, they could always recover from it easily.
• Observability: No users complained that they felt lost in the system.
• Predictability: There were no basic questions about the interface during
testing.
24
There were two other excellent suggestions that we felt did not fall under
the scope of this project:
• Including more hand-drawn diagrams. Ideally, a graphic artist could be
employed to create more diagrams to add to the system. This would have
the advantage of giving the system a distinct look and feel.
• Categorising recipes was a very good suggestion. If the system had a lot
of recipes this feature would make it easier for the user to find what they
are looking for.
25
System Testing
Change Add Find Beans on
Login Add banana
Avocados Numtmeg toast
User 1 10 12 15 17 7
User 2 17 14 15 19 10
User 3 25 9 16 27 9
User 4 21 16 20 22 13
mean 18.25 12.75 16.5 21.25 9.75
std dev 6.397 2.986 2.380 4.349 2.5
lower CI
95% 8.073 7.999 12.713 14.330 5.773
Upper CI
95% 28.427 17.501 20.287 28.170 13.728
lower CI
99% -0.431 4.029 9.548 8.548 2.449
Upper CI
99% 36.931 21.471 23.452 33.952 17.051
System Testing
Change Update View recipes you
Change Time Don't like
Portions Store like
User 1 9 7 6 21 7
User 2 9 8 9 23 10
User 3 14 12 7 12 9
User 4 24 18 9 26 14
mean 14 11.25 7.75 20.5 10
std dev 7.071 4.992 1.5 6.028 2.944
lower CI 95% 2.750 3.308 5.364 10.910 5.316
Upper CI 95% 25.250 19.192 10.137 30.091 14.684
lower CI 99% -6.651 -3.328 3.369 2.896 1.402
Upper CI 99% 34.651 25.828 12.131 38.104 18.598
System Testing
Find Spanish Change Add to Add Update store Add
Omelette Portions shopping list pepper cupboard recipe
User 1 9 8 15 13 17 54
User 2 7 12 21 10 20 66
User 3 14 6 23 13 21 70
User 4 13 13 23 16 23 69
mean 10.75 9.75 20.5 13 20.25 64.75
std dev 3.304 3.304 3.786 2.449 2.5 7.365
lower CI
95% 5.493 4.493 14.477 9.103 16.273 53.032
Upper CI
95% 16.007 15.007 26.523 16.897 24.228 76.468
lower CI
99% 1.1006 0.1006 9.443 5.846 12.949 43.239
Upper CI
99% 20.399 19.399 31.557 20.154 27.551 86.260
26
We can be 95% sure that an average user will take between 8 and 28 seconds to log in
We can be 99% sure that an average user will take between 4 and 21 seconds to add a
banana to the cupboard
We can be 99% sure that an average user will take between 9 and 23 seconds to
change the quantity of avocados in the cupboard
We can be 95% sure that an average user will take between 14 and 28 seconds to add
nutmeg to the food list and the cupboard
We can be 99% sure that an average user will take between 2 and 17 seconds to find
the recipe for Beans on Toast
We can be 95% sure that an average user will take between 3 and 25 seconds to
change the number of portions for Beans on Toast
We can be 99% sure that an average user will take between 0 and 26 seconds to
change the time needed to make Beans on Toast
We can be 99% sure that an average user will take between 3 and 12 seconds to
change Beans on Toast to “don’t like”
We can be 95% sure that an average user will take between 11 and 30 seconds to
update the store cupboard after making Beans on Toast
We can be 99% sure that an average user will take between 1 and 19 seconds to view
recipes you like
We can be 99% sure that an average user will take between 1 and 20 seconds to find
Spanish Omelette Recipe
We can be 99% sure that an average user will take between 1 and 19 seconds to
change portions of Spanish Omelette Recipe
We can be 95% sure that an average user will take between 14 and 27 seconds to add
Spanish Omelette ingredients not in the cupboard to the shopping list
We can be 99% sure that an average user will take between 5 and 20 seconds to add a
red pepper to the shopping list
We can be 99% sure that an average user will take between 13 and 28 seconds to
update the store cupboard once shopping is completed
We can be 99% sure that an average user will take between 43 and 86 seconds to add
a simple recipe to the system
27
Functional Requirements
We performed an evaluation of the system based on the requirements set out in
Section 4. All of the functional requirements were met.
Usability Requirements
We analysed the test data to see if the usability metrics set out in Section 4
were met.
• Learnability: the metric set for this requirement was that any simple tasks
should take less than half a minute. This metric was met in our prototype.
The larger task of adding a recipe took less than two minutes for all our
users and so our metric was met.
• Responsiveness: many of the tasks involved communication with a database
and so would be susceptible to a delay until this communication is com-
plete. No delay was perceived that was more than one second long.
• Recoverability: None of our testers encountered errors.
• Observability: No users complained that they felt lost in the system.
• Predictability: There were no basic questions about the interface during
testing.
8 Conclusion
Overall the test users found the system easy to use. Some commented that they
would be interested in using the system for their day-to-day cooking needs. Even
though there were many adjustments to the scope of the system throughout this
User-Centred System Design process, there are still more elements of the system
that could be developed. The main concern throughout the entire process was
to make a system that was both usable and useful to the target user. We feel
that our system has achieved both of these objectives.
• Some of the testers mentioned that they found some buttons a little harder
to find than others. These were icons of our small diagrams that had text
when the hovered over it but no other instructions. A text description of
the buttons underneath them would have made these easier to find.
• We initially thought that we should prevent the system from suggesting
recipes based on ingredients that are no longer edible. If we could somehow
flag items whose typical use-by dates had passed, out-of-date items in the
store cupboard would not be considered as being available and the user
would be instructed to replace the items if they were required.
This would be a complex task and we decided that it was beyond the
scope of the project, however, it would be an excellent feature to add to
the system.
28
• In a system with many users logging in, a fun feature to include would be
to allow users to share recipes amongst each other. This would also be a
way to increase the recipe database with little effort from the developers.
• It seems likely that even if using this system, that a person interested in
cooking will continue to purchase cookery books. Relationships could be
established with publishers to enable people who had purchased a book,
to upload the recipes in it onto their Shrewd Foodie profile. Similarly,
users could purchase recipes, perhaps individually, that feature in cookery
books and add them to their online recipes.
• An agreement with a large supermarket chain linking in our system and
an online ordering system would allow the items on the shopping list to be
automatically ordered. This would further automate the whole cooking
process for the user and make it easier.
• A help function could be developed to aid users who have very limited
computing knowledge. Our system was aimed at people who had at least
a very basic experience with computers.
• Users of the system may find it more appropriate to have a list of possible
recipes on the first page they see. The system could allow customisation
like this for the user.
• This system could be very useful for the blind and visually impaired. The
system could be adapted to further meet this group’s needs using text-to-
speech.
29
Appendices
A Questionnaire given to potential users
1.1 Name:
1.2 Age:
1.3 Gender:
1.4 Education level reached (e.g. secondary school, bachelor’s degree, diploma,
professional exams):
1.5 Occupation:
2.4 Do you use any computer-based aides for cooking, e.g. websites?
3.1 Would you be interested in a web-based system that helped you organise your
cooking and grocery shopping?
30
currently have in your cupboard
-Keep track of all ingredients you have in stock
Advantages:
31
B Responses to questionnaire
,'()-./0'#(
!"#$ !"#$%&'#()"*+ ,*(/$%&34$$5 1#)("(#%6)++#(*+
1#2$)+
%&$ 78 79 :; 78
+),-"./0(12$3$4 >(/?#--)/+*$
=*-.#(- /+"*(5%&3'//$ 1#A(##
5$"-6$) !@*<-
>*(.C.)<#%D??)3#
7--,8"./0( B33/4+.*+. B(3'*#/$/A)-. B"<)+)-.(*./(
B"<)+E
90#8,.$*
B2#(*A# B2#(*A# F#A)++#( B2#(*A#
+:8$*/$(-$
32
!""#$%& !'.(/'&0#(%'-
!"#$%&'()(*+',-+ !"#$%&'()(*+',-+ !"#$%&'()(*+',-+
'()*+)%,- #$1&2
.+/0)(1"2
3)"34)1,""#15)6 3 4 5 4'$*'3
75)1,""#712"(
6$#(&0#(%'72(78 D(%@'>'"$$8';9
01&(*1(&'.$* *(709(%'$1'&2(
?$1(@'>';%(
*(709(%':';%;-""+ EEFG%'.$$,
!"/3+8)(1097): *(709('A$$8%'$*
<$$<"('=*(709(%= 1$1( /(A9-<('0.'>G#
9$:)71+7): B;%&'*(709(%'>
/0&2'&+9('$.',0%2 "$$801<'.$*
81$/C
$*'01<*(,0(1&'> %$#(&201<
/-1&'&$'7$$8 %9(70.07
D(%@'>G#'-"/-+%
.$*<(&&01<'&$'A;+
&201<%'-&'&2(
%;9(*#-*8(&'%$'0.
0&'7$;",'2("9'#(
/0&2'&2-&'>G,
,(.010&("+';%('0&C
>G,'"$)('&$'7$$8
#$*('(H70&01< D(%@'>'"$)(
>&'%$;1,%
&201<%'-%'/(""@ 7$$801<'-1,'0&
01&(*(%&01<@'A;&'>
A;&'0&G% /$;",'A('-'"$&
/$;",'1((,
%$#(&0#(%'2-*, (-%0(*'0.'>'2-,
;%8)()781$%1<)0= %$#(&201<'&2-&'0% I*$A-A"+'/$;",
&$'9"-1'-2(-,'-1, %$#(&201<'&$
097):17-78)/> %0#9"('-1, A(
#-8('%;*('+$; $*<-10%('#+
,$(%1G&'&-8(';9
2-)('()(*+&201<C *(709(%'-1,'/2-&
&$$'#;72'$.'#+
!"%$@'-.&(*'/$*8@'> .$$,'>'2-)('01'&2(
&0#(C
,$1G&'*(-""+'2-)( 80&72(1C
&2('(1(*<+'&$'A(
&201801<'1(/
,0%2(%'%$'0.'>'2-,
-'%2$9901<'"0%&
-"*(-,+'$*<-10%(,
>'&2018'>G,'A(
#$*('"08("+'&$
&*+C
33
!"()*+,"*./"%#8"!;,
+)2/"#)"5/"15+/"#)
7)"#)"#$/
=/.-"!"#$%&'"!;,
.*4/6316'/#">*.#
<%&,"%#"*./<*+8"!#
!"#$%&'"!"()*+,-"%# )&0/"1"(//'"1&,
3%7$#"$/+4"1,,
.)*&,."+%'/"%# %#"+))'."+%'/"#$%.
3)6/"216%/#9"#) =/."!"()*+,"1."%#
0)*+,".12/"3/ .9.#/3"()*+,
39"0))'%&7"1&, 0)*+,".12/"3)&/9
!"#$%&$'(%) #%3/"1&,"$/+4"3/ $/+4"3/"#)",)
!;,"5/"3)6/ %&"#$/"+)&7"6*&-
*#&+,&-'+%'.$" 5/"3)6/ #$1#"59")671&%.%&7
%&0+%&/,"#)"#69 &/("%,/1.")<"($1#
/)%/%$"0 )671&%./,8 !"+%'/ ($1#"!"&//,"<)6
3)6/"6/0%4/."%< #)"0))'"%&.#/1,")<
$1$+"2 #$/"(19"%#"0)*+, #$/"(//'8"!
#$/9"(/6/ 1+(19.",)%&7"#$/
12)%,"(1.#/":"!;3 *.*1++9"/&,"*4
.*77/.#/,"#)"3/ .13/")+,"#$%&7.
1+(19."5*9%&7"#)) 7)%&7"1"0)*4+/")<
%&"1&"/1.9"#)
3*0$"<)),8 #%3/."1"(//'-
*&,/6.#1&,-"*./6:
.)3/#%3/.")&+9
<6%/&,+9"31&&/68
>*.#"#)"4%0'"*4
)&/")6"#()
#$%&7.8
?1&"!"1,,"39
)(&"6/0%4/."#) !".)3/#%3/."$12/
#$/"6/0%4/"5))'@ <6%/&,.")2/6"<)6
A+.)"01&"!"7/#"6%, ,%&&/6".)"%#;,"5/
)<"6/0%4/."!",)&;# 76/1#"%<"%#"0)*+,
+%'/@ B)6 31'/".*6/"!"5*9
=)*"0)*+,"46)2%,/
3.--"$+,%&$'%( /C134+/-"!"$1#/ #$/"6%7$#
+%&'."#)"1&9"+)01+
("#+.)"$'+% .(//#0)6&"1&, &)&/ E*1&#%#%/.8"F)3/
76)0/69",/+%2/69
,&45.0" ()*+,"7/#"1"5%# 6/0%4/."16/"<)6"G
./62%0/.8
</,"*4"%<"#$/ 4/)4+/"1&,
.9.#/3"'/4# 0$1&7%&7"%#"#)"H
.*77/.#%&7 .)*&,.".%34+/"5*#
6/0%4/."(%#$ !;3"1+(19.
.(//#0)6&"%& 7/##%&7"%#"(6)&7D
#$/3D
34
C Prototype screenshots
35
36
37
38
D Prototype Testing Script
Name:
Age:
Gender:
Education level reached (e.g. secondary school, bachelor’s degree, diploma,
professional exams):
Occupation:
Native language:
How would you rate your computing experience/knowledge?
1. no experience
2. beginner
3. average
4. expert
The Shrewd Foodie is a system that helps you organise your cooking by:
- keeping track of what you have in stock
- suggesting recipes based on what you have in stock
- generating a shopping list based on what recipes you have decided to cook.
You will be asked to complete five small tasks on The Shrewd Foodie system. I will
observe you while completing these tasks. You are asked to say out-loud your
thoughts as you use the system. Please mention any difficulties you are having.
39
E Prototype Testing: Responses
Personal Information:
Age 28 32 54 26
What does the There are three It looks like it You can see The site has
system do? big pictures on writes a what recipes different
the first page shopping list you can cook recipes you can
so it’s pretty for you based on what choose from
clear that you depending on food you have and it suggests
can have what recipe already. And what you can
“virtual you want and you can look cook
cupboard”, what you through the depending on
choose recipes already have in recipes and what
and do up a the kitchen. pick one. It ingredients you
shopping list in looks like it already have. It
this system. helps you with looks like you
making a list of can monitor
what you need what food you
too. have too.
Login 15 22 25 20
Add eggs 12 15 14 10
Add sultanas 11 12 16 9
Find curry 12 18 18 17
View 30 22 24 27
shopping list
40
General Good system. I liked the site, Very easy to Really useful
Comments it’s very clever. use site. site, looks
really nice too!
41
F Final System screenshots
42
43
44
45
G Final System Testing Script
Name:
Age:
Gender:
Education level reached (e.g. secondary school, bachelor’s degree, diploma,
professional exams):
Occupation:
Native language:
How would you rate your computing experience/knowledge?
1. no experience
2. beginner
3. average
4. expert
The Shrewd Foodie is a system that helps you organise your cooking by:
- keeping track of what you have in stock
- suggesting recipes based on what you have in stock
- generating a shopping list based on what recipes you have decided to cook.
You will be asked to complete some tasks on The Shrewd Foodie system. I
will observe you while completing these tasks. You are asked to say out-loud
your thoughts as you use the system. Please mention any difficulties you are
having.
-You want to make Beans on Toast for your dinner tonight! Find Recipe for Beans
on Toast.
-You will be cooking for 2 people, change the recipe accordingly.
-You reckon it only takes you 7 minutes to make this. Change the time needed
accordingly.
-On reflection, you weren’t that keen on Beans on Toast and you don’t want to
make it again. Tell the system you didn’t like it.
-You have finished making Beans on Toast! Make sure the ingredients get
removed from the Store Cupboard.
46
-Mmm, the Spanish Omelette sounds tasty! You want to make this for you and
3 friends, change the portions accordingly.
-Make sure that the ingredients you don’t have are added to the shopping list.
-You’d like to buy an extra red pepper. Change the quantity on the Shopping
List accordingly.
-You have now gone to the shop and bought all the items on your list. Ensure
these items are now in your Store Cupboard.
-You would like to add a new recipe to the system that is not already there:
breakfast cereal!
Write a quick recipe for cornflakes and make sure it gets added to the list of
recipes.
47
H Final System Testing: Responses
Personal Information:
What does the It ogranises It has lots of You can store It keeps track
system do? your cooking. recipes to your recipes, of what food
Stores what choose from what’s at home you have and
you have in and makes a and your tells you what
your cupboard shopping list shopping list you can cook.
and suggests depending on gets made for It has
recipes based what you want you and you something to
on that to make. And can print it out. do with a
information. you can input shopping list
Helps make a what you have too.
list for in the kitchen
shopping. too.
Login 10 17 25 21
Add banana 12 14 9 16
Change 15 15 16 20
avocados
Add nutmeg 17 19 27 22
48
Find beans on 7 10 9 13
toast (bot)
Change 9 9 14 24
portions (bot)
Change time 7 8 12 18
(bot)
Don’t like 6 9 7 9
(bot)
Update store 21 23 12 26
(bot)
View recipes 7 10 9 14
you like
Find Spanish 9 7 14 13
Omelette (so)
Change 8 12 6 13
portions (so)
Add to 15 21 23 23
shopping list
(so)
Add pepper 13 10 13 16
Update Store 17 20 21 23
cupboard
Add recipe: 54 66 70 69
cereal
49
General I liked it. It’s good, but Very easy to I really liked it,
Comments I’d only use it use site. I liked it’s very easy
if there were that I can put to use and I’d
more recipes in my own say it’d be
it. recipes into it. really useful.
50