All pages
Powered by GitBook
1 of 20

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

4 Design patterns

Get started using design patterns

A diagram showing how the design patterns fit into the service patterns

Considerations for choosing different patterns

Step-by-step guide to help you pick the right patterns for your service:

  • : use the to understand the key interactions in your service.

  • Map the user journey: Break down the user journey into phases like registration, information collection, appointments, feedback, and messaging. Identify the steps users take in each flow. .

  • Choose user flows: Identify the patterns (task-focused page types) needed for each part of your user journey.

4.1 Service patterns

Example service patterns

Apply for a construction permit

Select page templates: User flow patterns often include several page templates. Start with existing patterns for user flows. For unique requirements, you may need to mix and match individual templates.
Identify Service Needs
Consider the technology choices available to you
An example service pattern based on the 'apply for a construction permit' service

Users

• Architect

Steps

Apply

Find the service > Register or authenticate > Submit application (including answering questions and uploading documents) > Receive the outcome of a decision >

If outcome is successful

Get notification for payment > Make payment > Give feedback

Patterns

4.2 User flows

See how common design patterns (find, pay, register) can be combined to create a user journey through a service, or a "service pattern" for example, 'find a thing' or 'apply for a thing'.

User flows

4.2.4 Find a service

Register

Authenticate

Asking users for feedback

Find a service

Check a user's eligibility

Make an application

Steps

Find through taxonomy

Service catalogue/homepage > Topic page > Service sheet > Service

Search for service

Service catalogue/homepage > Results page > Service sheet > Service Through search engine

Search engine > Service sheet > Service

Patterns

Service catalogue Service sheet Search results

Flow diagram for finding a service
Find
Register
Apply
Give feedback
Apply for a construction permit

4.2.1 Register

Use this pattern to help users provide their personal and relevant information to create an account or profile in a system, platform or service.

How it works

Registration is useful when you need to give each user a unique identifier in a system or collect their information in one place. This allows users to access, apply for, or meet the requirements for a particular service.

Once a user has been registered, users can log in to their account using their chosen credentials to:

  • continue using the service,

  • apply for additional services,

  • see the services they have used in one place,

  • update their information, or

  • modify their account settings

4.2.3 Asking users for feedback

Steps

Register to a create an account in a system

Service page > register > get notified of status

Registered user sign-in to access service

Sign-in > access service

Registered user sign-in to apply for service

Sign-in > eligibility check (if needed) > apply for service > feedback

Patterns

Service sheet

Authentication

Ask users for consent

Ask users for information

Uploading documents

Eligibility

Check answers

Pay

Outcome Sending Notifications

Use case example

Registration for Unconditional Social Cash Transfer

Patterns to register users to create an account

Steps

From a service catalogue

Service catalogue pages > Perception survey

During a service

Service page > Feedback At the end point of a service

End page > Satisfaction page

Patterns

Perception survey Feedback Satisfaction

A flow diagram showing the points at which you might collect feedback about your catalogue or service

4.3.4 Before you start

Where the 'before you start' page fits in the journey

How it works

This page focuses the user's attention on what they need to complete the service in one go. You might list the documents or evidence required or emphasise certain eligibility criteria (e.g., age).

When to use this pattern

When there is a risk that there is more information on a start page than users are likely to read you can break the 'before you start' information onto its own page.

4.3 Page templates

4.2.2 Authenticate

When not to use this pattern

4.3.10 Outcome

Use this page to provide users with confirmation that they have successfully completed their intended task. It helps users know that their actions have been successfully processed.

Outcome page

How it Works

On this page include:

  • Details on what will happen next.

Feedback

Perception survey

Satisfaction

Before you start

Service sheet

Asking users for consent

Task list

Asking users for information

Outcome

A principle of good user design is reducing friction and making processes as seamless as possible for the user. One way to do this is by avoiding the need for user accounts where possible.

Creating and managing user accounts requires a significant amount of effort from both the user and the service provider. For the user, it's another set of credentials to remember. For the service provider, it's a matter of securely storing and managing that user data.

There are many situations where a service can be designed in such a way that a full account isn't necessary. Consider these alternatives:

One-Time GUID Links: If you need to provide users with a way to return to a specific state in a service (like a partially completed form), consider using one-time GUID (Globally Unique Identifier) links. These can be generated and provided to the user, allowing them to return to their session without needing an account.

Token-based Authentication: For some services, you can use token-based authentication. This could involve sending the user a unique token via email or SMS that they can use to access the service.

Third-Party Authentication: For services that require authentication, consider using third-party authentication services (like Google, Facebook, or Twitter login). This can make things easier for users, as they can use an existing account instead of creating a new one. However, be mindful of the potential privacy implications.

Guest Checkout: For e-commerce situations, consider offering a guest checkout option. This allows users to make a purchase without creating an account.

In all cases, the goal should be to make the user's interaction with the service as easy and smooth as possible, while still maintaining appropriate levels of security and privacy.

Steps

Log in with credentials

Login page > A: Service continues / B: Not authorised page

Log in through provider

Login page > Provider journey > A: Service continues / B: Not authorised page

Reset credentials

Log in page > Reset password > Send reset link > Reset password > Success

Patterns

Log in

Not authorised

Outcome Sending Notifications

A flow diagram showing the an authentication journey
Contact details to provide users with further support.

4.3.1 Feedback

Wireframe showing feedback page

How it Works

Prompt for Feedback

Throughout your service journey, prompt users to provide feedback.

Feedback Form

This could be a dedicated page that opens in a new tab or a modal within the page. Provide a simple text area where users can input their thoughts and experiences. The prompt should be open-ended, such as "Tell us about your experience" or "How can we improve this page?"

Submit Button

Include a clear call to action button for submitting feedback. "Submit feedback" is an effective, straightforward choice.

Success Confirmation

After users submit their feedback, display a success message to let them know it was received successfully. This can be a simple statement like "Thank you, your feedback has been submitted."

Data you might collect

  • Page URL: This shows the specific page where the user submitted feedback, giving you context about what their comments may be referring to.

  • Referrer URL: This indicates the page the user visited before the current one, which could be useful for understanding the user's journey.

  • Device Information: This includes data like the user's operating system, browser type, and screen resolution, which can be helpful for troubleshooting technical issues.

When to use this pattern

You should aim to collect feedback whenever possible, it can be helpful in identifying issues or areas for improvement from the user's perspective.

When not to use this pattern

At the end points of the user journey, you should use the satisfaction pattern.

4.3.3 Satisfaction

How it Works

Satisfaction Survey

At the end point of the user journey, prompt users to rate their experience. This should be a simple rating scale (1-5) or a binary satisfied/dissatisfied question.

Open-ended Feedback

Following the rating, provide a text field for users to share more details about their experience. Prompt users with an open-ended question like, "How could we improve your experience?"

Submit Button

Include a clear 'submit' button to finalise their feedback.

Success Message

Display a success message after submission, thanking them for their feedback.

Data you might Collect

  • User Satisfaction Score: The user's response to the satisfaction rating question.

  • Feedback Text: The user's response to the open-ended feedback question.

  • Page URL: The URL of the page from which the feedback was submitted.

Potential Questions for User Survey

Consider adding questions to your satisfaction survey to gain deeper insights:

  • Did you accomplish what you intended to do in this session? Helps understand if the user journey was effective and efficient

When to use this pattern

Use this pattern at the end of a user journey to collect valuable feedback about user experiences. Be aware that user satisfaction is biased to users that reach an end-point of a service.

4.3.2 Perception survey

Wireframe showing feedback page

How it Works

Invitation for Feedback

Invite users to provide feedback about their overall experience with the service catalogue. This could be a dedicated page, a pop-up prompt, or an email sent after a certain period of usage.

Survey Form

Create a form to collect user perceptions about the entire service catalogue. Use a mix of open-ended questions and structured items (like ratings or multiple-choice questions) to gather comprehensive feedback.

Submit Button

Include a clear call-to-action button for submitting the survey. A label like "Submit survey" is straightforward and effective.

Success Confirmation

After users submit their survey responses, show a success message to confirm receipt. Something simple like "Thank you, your survey has been submitted" works well.

Data you might collect

In addition to feedback about specific services, consider collecting:

  • User ID: If the user is logged in, this can help provide context for the feedback.

  • Overall Satisfaction: Ask users to rate their overall satisfaction with the service catalogue.

  • Specific Services Used: Understanding which services a user has interacted with can provide context for their feedback.

Potential Questions for User Survey

To gain a deeper understanding of user experience with the government service catalogue, consider including these questions in your feedback form:

  • How did you find out about the government service catalogue? This can give insights into the effectiveness of your outreach and communication strategies.

  • Which services have you used? Knowing which specific services a user has interacted with can provide important context for their feedback.

  • How easy was it to find the services you needed? This can shed light on the effectiveness of your catalogue layout and search functionality.

When to Use this Pattern

This pattern is useful when you want to gather feedback on the overall service catalogue, rather than individual services or interactions. This can help identify strengths and weaknesses across your offerings and improve the user experience at the catalogue level.

When Not to Use this Pattern

Do not use this pattern as a substitute for gathering feedback on individual services or interactions. Users' experiences with specific services can be different from their overall impression of the service catalogue, so both types of feedback are valuable.

4.3.5 Service sheet

Use this pattern to help users check if they are ready to start a service.

Service sheet wireframe
Service sheet example implementation

How it works

Service name

This helps people understand what your service does and whether they need to use it.

Documents and any fees required

A list of things most users need to know: for example, what your service is, what will happen, what users will get or how much it'll cost. To keep the content concise, do not include details about anything that would be obvious to users.

A call-to-action

There should be a clear call to action button to start the service, usually “Start now”. You should also include a link to “sign in” or “continue journey” if the user is able to continue an existing journey.

Other ways to access the service

You should provide ways for people who can’t access the service online to get support, for example, by phone or text relay. You may also include details for support channels.

When to use this pattern

At the start of a service which involves the user inputting information in order to get something. For example, at the start of an application form.

4.3.7 Task list

In long complex forms and transactions that involve multiple steps and pages, help users understand the list of tasks involved and their progress as they move from one question to the next.

Use clear labels for each step and provide a visual indicator of their progress. Show the order in which the steps should be completed and mark completed tasks.

Components of the task list page
Task list example implementation

How it works

  • Group similar tasks together and use clear headings to explain what is involved or is needed to complete the task.

  • As users complete each step or task, show a label that describes their progress.

    Use visual and written labels to indicate their progress. Avoid relying solely on visual indicators like progress bars or percentages, as they may pose accessibility challenges. Include a text display of progress as well.

  • Maintain a sense of hierarchy: If there is a specific order in which the steps should be completed, make it evident to the users. You can indicate the hierarchy by organising steps in a logical sequence or visually nesting them within each other.

  • If the form or transaction is long, provide a save feature that allows users to pause and continue later. When users resume the transaction, display the task list page as the first thing they see.

When to use this pattern

In a complex long form that involves multiple tasks, steps or pages.

4.2.6 Make an application

Make a simple application

4.3.8 Asking users for information

Use this pattern to gather information from users using your service.

Clearly state why you need the information and how it will be used. For instance, you might need users' information so that you can provide a service, register them for a service, or tailor an experience to meet their needs.

Consider whether you need to ask for the information or whether you can use integrations to get that data from internal or external sources. Check whether you need to ask for to ask the questions.

You can use a to help you figure out what you need to ask. If you ask people for optional information, add ‘(optional)’ to the question. Do not mark mandatory questions with asterisks as these are not accessible.

Question page

4.3.9 Check answers

Use this pattern to help users check, review and confirm their entered information before taking a significant final action, such as submitting.

By allowing users to review, make changes, or confirm their answers, this pattern helps prevent errors in data submission.

The long term benefits of this pattern are:

  • users will be confident while using your service as they can visually confirm that all their information has been accurately captured.

4.2.5 Check a users eligibility

Use this pattern to help users check if they qualify for your service saving them time registering for a service they would not qualify for and redirecting them where possible.

How it works

To use this pattern you need to have:

  • A service information sheet

Timestamp: Recording the time and date of the feedback can help identify issues that occur at specific times.
  • Session ID: If your system uses session IDs, collecting this can help you associate the feedback with a particular user session.

  • Session ID: Identifies the particular user session, for associating feedback with specific user journeys.
    Timestamp: Recording when the feedback was provided can help identify any time-related trends.
  • Suggestions for Improvement: Ask users what they think could improve their experience with the service catalogue.

  • How would you rate your overall experience with the services you used? This gives a high-level view of user satisfaction with your service offerings.

  • What improvements would you suggest for the services you used? This open-ended question allows users to provide specific feedback and suggestions for individual services.

  • What additional services or features would you like to see in the future? This can help guide your future development efforts based on user needs and wants.

  • Make a long application
    Flow diagram for making a long application

    Steps

    Task list > Question flow > Evidence (if required) > Check you answers > Outcome

    Patterns

    Uploading documents

    Steps

    If you need users to check eligibility before applying

    Put eligibility screening questions up front

    Summary of requirements > Eligibility questions > Upload evidence (if needed) > Check your answers > Outcome

    If not eligible

    Allows users to fail fast

    Patterns

    Asking users for information

    Uploading documents Check your answers page Outcome

    Flow diagram for making a simple application
    Wireframe of question page
    Wireframe of question group
    Question example implementation
    Question group example implementation

    Backlink

    A question page should have a backlink to help users who may want to go back to the previous question to make any changes.

    Question or question heading

    When asking people for information, ask for one thing at a time. Helps users focus on one specific thing at a time and provide its answers without overwhelming them with too many demands at once.

    This can be one question per page or group-related questions together, for example, contact details. Grouping related questions together can help users understand the context of each question and make it easier to provide accurate responses. When you group related questions together, you will have a ‘question heading’ that will help people understand what is needed for the set of questions.

    Hint text

    Provide clear instructions to help users understand what is expected of them on each question.

    Question field

    Use the appropriate question field for the different question types.

    Other ways to provide information

    Always provide other alternative mechanisms for users to identify themselves or provide their information so that they can access your service. Provide clear instructions on what to do if they encounter any problems.

    consent
    question protocol
    reducing incorrect and incomplete information will result in lower error rates in applications.

    When to use this pattern

    Use this pattern when you need to capture information from users on a form that spans multiple pages or steps.

    How it works

    • Use a clear heading that clearly communicates the purpose of the page, such as "Check your answers before sending your application"

    • Show the summary of questions and answers given. Ensure the information is organised and easy to scan.

    • Consider the type of answers expected from users. For longer answers, utilize a full-width layout to accommodate the content. For shorter answers, a two-thirds layout may be appropriate to optimise space.

    • Break content into sections if needed. If there is a large number of questions or if it improves the clarity, divide the content into relevant sections.

    • Clearly indicate when a question has not been answered because it was optional. Make it evident to the user that the answer was not provided.

    • Provide navigation to edit answers. Offer users a straightforward way to navigate back to previous steps and edit their answers if needed. This can be achieved through direct links or buttons that allow users to easily access and modify specific questions.

    • Include a call to action button at the bottom of the page that helps the user take the final action such as submitting their application.

    Check your answers example implementation

    A series of simple eligibility questions

  • An understanding of what existing data you can integrate with

  • Service information sheet

    Have a web page for your service where people can find the required information about the service. Such as requirements to access the service, actions and steps they need to start using your service. Check an example of a service information sheet.

    Ensure to include general rules and information about whether the service can be used such as age limit.

    A series of simple eligibility questions

    Present the user with a series of simple questions that can determine their eligibility. Use questions when the eligibility criteria for the service is complex and require detailed information to determine if a user qualifies.

    Ask the user to provide information such as their age, location, employment status, income level, or other relevant details to your service. Follow the question page pattern.

    Automatically check if a user is eligible

    the system should automatically process the information provided and determine whether the user is eligible to access the feature or service.

    An outcome page

    • Eligibility outcome that clearly states whether the user is eligible or ineligible to access the service or feature.

    • Reason for eligibility determination such as a clear explanation if the user is found to be ineligible. This can include information such as incomplete or incorrect information provided in the form, not meeting certain age or income requirements, or other criteria.

    • Next steps depending on the outcome of the eligibility check. For example, if the user is found to be eligible, direct them to the next step which may be to register for the service. If they are found to be ineligible, direct them to another service or further guidance.

    Here are some elements that can be included on the outcome page:

    Present an outcome page to users to let them know the result of their eligibility check. The outcome page should provide a clear and concise summary of the user's eligibility status. If eligible, you should let the user know of the next steps to access the service. If the user is not eligible, let them know why and what they should do instead.

    • Eligibility outcome that clearly states whether the user is eligible or ineligible to access the service or feature.

    • Reason for eligibility determination such as a clear explanation if the user is found to be ineligible. This can include information such as incomplete or incorrect information provided in the form, not meeting certain age or income requirements, or other criteria.

    • Next steps depending on the outcome of the eligibility check. For example, if the user is found to be eligible, direct them to the next step which may be to register for the service. If they are found to be ineligible, direct them to another service or further guidance.

    When to use this pattern

    Services where eligibility criteria can be complex and may vary depending on the specific service or feature being accessed. By using the "check eligibility" pattern, users can quickly and easily determine whether they qualify for a particular service, without having to go through a lengthy application process or wait for manual approval.

    Asking for eligibility flow diagram

    4.3.6 Asking users for consent

    Use these patterns to give users control over how you manage their data. These patterns align with the GovStack Consent Building Block.

    Related Building Block: .

    How it works

    Consent covers all activities done for the same reason. If you use the data for more than one reason, get separate consent for each. For example, accessing data to check eligibility is separate from accessing data to make an application.

    Use these patterns when you need to:

    To access a user’s data.

  • To store, manage or share a user’s data.

  • Allow users to manage the data you hold on them.

  • When not to use these patterns

    You do not need to ask for consent when:

    • the data is required for a government to perform a specific task or function set out in law, you do not need to ask for consent. For example, terms and conditions — these are required so you do not need to ask for consent.

    • a person is simply informed of the processing of the data by the organisation as part of the service provided under contract or by an authority.

    • consent does not have to be obtained in a situation where the entity does not identify or cannot identify people with reasonable effort.

    Consent page

    This pattern allows users to accept or reject a request to access or share data for the use of a service. For example, asking to access data from social insurance records in order to check eligibility for another service.

    User journey considerations:

    • Consent should be grouped by purpose meaning you may need multiple consent pages.

    • You may need to ask for consent at the start of a service or throughout the user journey.

    • You may need to offer users an opportunity to review and correct data using the .

    • You should test your service with users to find the journey that works for them.

    A wireframe of consent for a single data set
    A wireframe of conesnt for multiple data sets
    Consent given example implementation
    Consent withheld example implementation

    Why we ask to share this data

    Explain what data you are requesting and the benefit to the user for sharing that data. For example, “Provide your location data so that we can tailor offers relevant to you”.

    About the data

    Be clear about:

    • Why you need it and the benefit to the user.

    • How the data will be used and for how long.

    Confirm or reject

    If you are handling a simple data set, present the data you are collecting followed by a checkbox to explicitly confirm consent.

    If you are handling multiple data sets allow the user to choose which data is shared.

    Implied consent

    If you do not need to ask for consent but you are handling user data this should be specified in the privacy statement.

    [Add guidance on when that should be presented to the user]

    Handling data beyond the transaction

    If the service will be accessing or sharing user data on an ongoing basis then you need to give users a method of managing consent. See point 6 of the future considerations of the Consent Building Block.

    Managing consent

    [Give details for how to manage data if the user changes their mind.]

    Delegated consent

    In cases where the person giving consent is doing so on behalf of someone else, as a guardian or carer.

    [This pattern is in the backlog]

    Additional details for information collection

    When asking users information during a questions flow consider using progressive disclosure drop-downs or inline content to explain why you are asking for that information and how you will handle the data.

    A wireframe of an example progressive disclosure details pattern

    GovStack Consent Building Block
    *Note that images can be expanded by clicking on them.
    Task list
    Check answers
    Asking users for information
    Outcome
    check your answers pattern
    GovStack playbook