nhsuk / nhsuk-service-manual-community-backlog

This is a place for digital teams in the NHS to work together and develop the NHS digital service manual.
https://service-manual.nhs.uk/community-and-contribution
62 stars 5 forks source link

Header for 'logged in' users #192

Open RichFlick opened 4 years ago

RichFlick commented 4 years ago

What We’re looking at creating an additional NHSUK header style for the PIMS replacement profile editing app.

Why The thinking is it will help users (profile editors, comment responders & managers) to more easily distinguish public facing pages from ‘behind the scenes’ admin pages on NHSUK.

Anything else The idea and design also stems from the work HMRC have done on their 'Application' header:

Main page https://design.tax.service.gov.uk/hmrc-design-patterns/account-header/

Example https://design.tax.service.gov.uk/examples/account-header/example/

Here are a couple of mockups for the NHSUK App Header:

App Header

PE - 0 - MVP - Profile list page - Edit

We’re currently putting the prototype together with a view to first round of testing early to mid Jan.

I've not found anything else similar but if I've missed a posted issue or anyone else is working on something similar but not added it yet, it would be great to hear from you.

RichFlick commented 4 years ago

Editor prototype with App Header can be seen here: https://nhsuk-org-review-prototype.azurewebsites.net/profiles-comments/

benturner1976 commented 3 years ago

@RichFlick, thanks for the prototype code.

For info, I am thinking of using this header style on 'Create and manage identities' (the service that will replace the Care Identity Service - used to manage smartcards). But had a few questions before I commit...

1) Is it okay to start using on services (we're heading into Private Beta at the mo) and is it likely to change significantly or be scrapped for any reason you are aware of?

2) And do you know if we should be using, Sign in / Sign out - OR - Log in / Log out - OR - Login / Logout?

Cheers!

Screenshot 2021-02-26 at 15 11 32
benturner1976 commented 2 years ago

An update to the post above...

We have added some additional elements to the header recently, including information about the logged in user, their role and organisation. It also allows users to change their role within system and logout. Testing this header within our prototype has proven the additions to be helpful to users who need to perform actions with multiple access levels and for multiple organisations. It helps users ensure they are performing actions on behalf of the right organisation on any page and easily change the organisation as they need.

image

chrimesdev commented 2 years ago

https://covid-status.service.nhsx.nhs.uk/ has a Header for logged in users (same experience on mobile/desktop - hidden behind 'Menu' button)

Screenshot 2022-01-18 at 10 52 40

Screenshot 2022-01-18 at 10 54 13

maddyow commented 2 years ago

'Sign in' was chosen for Campaign Resource Centre on the basis GOV seem to favour it and in the case of this particular product, 'Sign in' seemed more intuitive than 'Log in' which we originally tried.

CRC v3 1 header - staging - signed out - desktop Navigation menu on desktop

GOV pattern - sign in GOV example

"include a ‘button’ linking into the service, with text that’s consistent with the action you’re asking users to take — for example, ‘Start now’, ‘Sign in’ or ‘Register or update your details’ (if you need a secondary call to action, use a standard link)" https://design-system.service.gov.uk/patterns/start-using-a-service/

maddyow commented 2 years ago

I've since found a few more GOV examples, which in fact us 'Log in': Digital marketplace GOV Digital marketplace - Log in

The Purchasing Platform GOV Purchasing Platform - Log in

And one more which uses 'Sign in' Crown Commercial Service GOV Crown Commercial - eMarketplace - Sign in

taylor-la commented 1 year ago

On the Apply for Care ID service, we've been reusing the logged in user navigation component from Care Identity Management (CIM), mentioned above by benturner1976. We've found during usability testing sessions with a prototype that occasionally the navigation links are missed. This needs more thorough exploration to understand if it's to do with the content, or perhaps to do with colour contrast/size. We've not had any reports of this issue in the live service though.

AfCID logged in user nav

Asad-acc commented 1 year ago

We've since updated the profile editor navigation to simplify the design, making it more aligned with the NHS branding and occupying less vertical space.

Screenshot 2023-01-09 at 13 05 25@2x
sarawilcox commented 1 year ago

NHS website My account example

Screenshot 2023-03-06 at 15 41 47

And log out button

Screenshot 2023-03-06 at 15 42 29

lasara-d commented 1 year ago

@Asad-acc @taylor-la My team are looking at something very similar for Bowel screening staff. We are wanting to show role and location and have the option to change these easily, we are a bit concerned about space since some of the roles and org names are pretty long. Did your team decide to remove this info from the header?

Asad-acc commented 1 year ago

@Asad-acc @taylor-la My team are looking at something very similar for Bowel screening staff. We are wanting to show role and location and have the option to change these easily, we are a bit concerned about space since some of the roles and org names are pretty long. Did your team decide to remove this info from the header?

I have consulted with a team member who was involved in designing the header we currently use. As our users have already signed in as themselves, it was determined that displaying their name and role was of lesser importance and was removed.

frankieroberto commented 3 months ago

I've done some initial research and design exploration of the logged in header.

Examples

First, some more examples of existing services:

NHS.UK website (signed out)

nhs-website-signed-out

NHS.UK website / web app (signed in)

nhs-website-signed-in

Record a vaccination (signed in)

record-a-vaccination-signed-in

Manage vaccinations in schools (signed in)

manage-vaccination-in-schools-signed-in

Summary

Based on these, and the other examples in the thread above, there are 2 common elements:

There’s also a consensus that these 2 elements should appear at the top right.

The ways the examples vary is:

Design exploration

One option might be to allow all of these as options, so that different services could do slightly different things depending on their context and users, eg public vs staff facing services, or whether there’s also a need for a search box or other items in the header.

Here’s roughly how this might look (service name and and navigation options are just placeholders):

Above the line, no icon

above-line-no-icon

Above the line, with icon

above-line-with-icon

Above the line, with icon and 'My account' wording

above-line-icon-my-account

Above the line, with icon and search box

(This is pretty tight and I’m not sure would be recommended... 😬)

above-line-with-search

Below the line

below-line

Below the line with 'My account' wording

below-line-my-account

Below the line with search

below-line-with-search

Code and possible nunjucks options

Some very rough code for these examples here: https://github.com/nhsuk/nhsuk-frontend/pull/967

Nunjucks code could look something like this:

Above the line:

{{ header({
  "service": {
    "name": "Invite patients to a consultation"
  },
  "showNav": "true",
  "showSearch": "false",
  "account": {
    "profile": {
      text: "frankie.roberto@nhs.net",
      href: "#",
      icon: true
    },
    "signOut": {
      text: "Sign out",
      href: "#"
    }
  },
  "primaryLinks": [
    {
      "url"  : "#",
      "label" : "Find a patient"
    },
    {
      'url' : '#',
      'label' : 'Consultation schedule'
    },
    {
      'url'  : '#',
      'label' : 'Settings'
    }
  ]
}) }}

Below the line:

{{ header({
  "service": {
    "name": "Invite patients to a consultation"
  },
  "showNav": "true",
  "showSearch": "false",
  "primaryLinks": [
    {
      "url"  : "#",
      "label" : "Find a patient"
    },
    {
      'url' : '#',
      'label' : 'Consultation schedule'
    },
    {
      'url'  : '#',
      'label' : 'Settings'
    }
  ],
  "secondaryLinks: [
    {
      'url'  : '#',
      'label' : 'frankie.roberto@nhs.net'
    },
    {
      'url'  : '#',
      'label' : 'Sign out'
    }  
  ]
}) }}

Alternative

Alternatively, we could offer less flexibility, and the design system could advocate for a single option only (eg always having the account stuff above the line).

Feedback welcome!

lasara-d commented 3 months ago

@frankieroberto These look good, i prefer the options with the user name and actions like logout/signout in the main header container rather than in the navigation bar only because what if you ever need to add more navigation links and also if your users have a long name. I was working on this in screening recently but we had the additional need to also show the user role because they may need to change it. This is what we came up with: Screenshot 2024-06-12 at 08 57 02

And this is how it would look collapsed Screenshot 2024-06-12 at 08 57 10

This does make the top part of the header container taller but also allows for more navigation items. Its not perfect but just thought i would share :)

johnrimmer2 commented 3 months ago

This is really interesting work - Kudos frankie and lasara-d (input). Personally i'm drawn to 'Below the line with search' as my preferred option.

Reasoning

Goes without saying, just my opinion, nice work though guys!

frankieroberto commented 3 months ago

The NHS Digital Onboarding Service uses this pattern, with the logged in email address at the top alongside a 'Log out' link:

Screenshot of the NHS Digital onboarding service
anandamaryon1 commented 2 months ago

Current work in progress designs for this: https://github.com/nhsuk/nhsuk-frontend/pull/983

Next steps:

anandamaryon1 commented 1 day ago

We're still working on this, here's a summary:

Also prompted some related but potentially independent tasks and design tweaks:

To do