“The Members Lists are no longer displayed in a drop-down list, with check boxes preceding each entry, instead now members are clumped together in what can be best described as a single text box, further compounded by the fact that this clump of members is NOT in Alphabetical Order. So if you have anything more than 20 users in the clump, your eyes have to scan every entry carefully to find the required user to remove, then hit an X mark suffix to their name to remove membership. Ridiculous and irritating user experience is putting it politely, make no mistake.
Figure 1 shows the problem. In this case, the group has 57 members and is just about manageable in the format chosen by Microsoft to display group members (as reported below, this UI is now replaced).
Figure 1: Displaying the membership of a Microsoft 365 Group in the Microsoft 365 admin center
With a larger group, the problems in the UI would soon become apparent because:
The group is sorted in the order in which members are added. In other words, the first member added to the group is at the top and the most recent member is at the bottom. This doesn’t make sense. Alphabetical sorting would be better, including the ability to sort both A-Z and Z-A. It would also be good to be able to filter members based on properties like location in an advanced search.
The list shows the display names of the members. This is fine and people can be identified if duplicate display names don’t exist. For example, what happens if seven people named John Smith or Jane Ng are members? You can’t assume that organizations will apply suffixes to differentiate group members.
The initials in circles might look pretty, especially in multiple colors, but they don’t help. In this example, user photos are available for many members, but even if the list included the photo instead of user initials, it probably would not help because the images would be too small.
You can search for people to add to the group, but you can’t search the existing members to find someone. The membership limit for Teams is now 25,000. Imagine scanning such a list to find and remove a member.
The default display looks as if all members are selected and that any action, like a removal, will be applied to all.
Microsoft Updates the Group Management UI
As proven in Sod’s law, as soon as something is published about a cloud detail, Microsoft ships an update. In this case, they refreshed the group membership management UI (Figure 2) to address some of the more grievous sins evident in the previous UI. The new approach is clearer and better, but it still suffers from some issues.
Figure 2: The new layout for group membership management
There’s still no ability to sort or filter.
Limited information is shown about each user. Again, this is fine for a small organization but less good once the number of accounts increases.
User photos are not shown (if available).
Another example of poor “fit and finish” is when displaying the members of a team-enabled group. Thoughtfully, Microsoft displays an icon to show that a group member is “Teams enabled” (Figure 3). But what does this mean? After all, the members are in a team, so by definition they are Teams-enabled (I guess they could be new members waiting to receive a Teams license through an auto-claim policy). But what then for guest users? These are Teams enabled because they are a member of a team, but they don’t need licenses to access Teams in another tenant. It’s all very confusing.
Figure 3: What does Teams enabled mean in this context?
I also hate the way that the Add members screen insists on loading and displaying mail contacts first. Although it’s possible that an administrator will want to add a mail contact to a group, it’s more likely that they will want to add a tenant account. Some control should be given to allow administrators to choose the order in which mail recipients load when adding new members to a group.
In summary, the Microsoft 365 admin center UI needs a makeover to improve its ability to handle the membership of large groups, provide better search features, and show more information about each member to differentiate individuals.
OWA Group Management is Better
It can be argued that the UI of the Microsoft 365 admin center is intended to help inexperienced administrators and that experienced people will use other tools, like PowerShell (which I would use to remove members from large groups). However, Microsoft uses an inconsistent array of UI designs for group membership management, some of which exhibit characteristics the admin center could adopt. For example, OWA’s UI for managing a group displays fewer members (initially), but more information is available about each member (including their photo), and you can search for members (Figure 4). There’s no filtering or ability to sort, but OWA’s is a better UI.
Figure 4: The Manage group membership UI in OWA
The Art of the UI
I’m sure Microsoft has heaps of UI experts on staff. Sometimes they get it right, like the recent change to the SharePoint Online sharing control, and sometimes they get it wrong, like the group management UI described above. Perhaps some knowledgeable eyes could look at the different ways to manage group membership surfaced across Microsoft 365 apps with a view to coming up with a common approach that works well for both small and large groups. Wouldn’t that be nice?
{"id":null,"mode":"button","open_style":"in_modal","currency_code":"EUR","currency_symbol":"\u20ac","currency_type":"decimal","blank_flag_url":"https:\/\/office365itpros.com\/wp-content\/plugins\/tip-jar-wp\/\/assets\/images\/flags\/blank.gif","flag_sprite_url":"https:\/\/office365itpros.com\/wp-content\/plugins\/tip-jar-wp\/\/assets\/images\/flags\/flags.png","default_amount":100,"top_media_type":"featured_image","featured_image_url":"https:\/\/office365itpros.com\/wp-content\/uploads\/2022\/11\/cover-141x200.jpg","featured_embed":"","header_media":null,"file_download_attachment_data":null,"recurring_options_enabled":true,"recurring_options":{"never":{"selected":true,"after_output":"One time only"},"weekly":{"selected":false,"after_output":"Every week"},"monthly":{"selected":false,"after_output":"Every month"},"yearly":{"selected":false,"after_output":"Every year"}},"strings":{"current_user_email":"","current_user_name":"","link_text":"Virtual Tip Jar","complete_payment_button_error_text":"Check info and try again","payment_verb":"Pay","payment_request_label":"Office 365 for IT Pros","form_has_an_error":"Please check and fix the errors above","general_server_error":"Something isn't working right at the moment. Please try again.","form_title":"Office 365 for IT Pros","form_subtitle":null,"currency_search_text":"Country or Currency here","other_payment_option":"Other payment option","manage_payments_button_text":"Manage your payments","thank_you_message":"Thank you for supporting the work of Office 365 for IT Pros!","payment_confirmation_title":"Office 365 for IT Pros","receipt_title":"Your Receipt","print_receipt":"Print Receipt","email_receipt":"Email Receipt","email_receipt_sending":"Sending receipt...","email_receipt_success":"Email receipt successfully sent","email_receipt_failed":"Email receipt failed to send. Please try again.","receipt_payee":"Paid to","receipt_statement_descriptor":"This will show up on your statement as","receipt_date":"Date","receipt_transaction_id":"Transaction ID","receipt_transaction_amount":"Amount","refund_payer":"Refund from","login":"Log in to manage your payments","manage_payments":"Manage Payments","transactions_title":"Your Transactions","transaction_title":"Transaction Receipt","transaction_period":"Plan Period","arrangements_title":"Your Plans","arrangement_title":"Manage Plan","arrangement_details":"Plan Details","arrangement_id_title":"Plan ID","arrangement_payment_method_title":"Payment Method","arrangement_amount_title":"Plan Amount","arrangement_renewal_title":"Next renewal date","arrangement_action_cancel":"Cancel Plan","arrangement_action_cant_cancel":"Cancelling is currently not available.","arrangement_action_cancel_double":"Are you sure you'd like to cancel?","arrangement_cancelling":"Cancelling Plan...","arrangement_cancelled":"Plan Cancelled","arrangement_failed_to_cancel":"Failed to cancel plan","back_to_plans":"\u2190 Back to Plans","update_payment_method_verb":"Update","sca_auth_description":"Your have a pending renewal payment which requires authorization.","sca_auth_verb":"Authorize renewal payment","sca_authing_verb":"Authorizing payment","sca_authed_verb":"Payment successfully authorized!","sca_auth_failed":"Unable to authorize! Please try again.","login_button_text":"Log in","login_form_has_an_error":"Please check and fix the errors above","uppercase_search":"Search","lowercase_search":"search","uppercase_page":"Page","lowercase_page":"page","uppercase_items":"Items","lowercase_items":"items","uppercase_per":"Per","lowercase_per":"per","uppercase_of":"Of","lowercase_of":"of","back":"Back to plans","zip_code_placeholder":"Zip\/Postal Code","download_file_button_text":"Download File","input_field_instructions":{"tip_amount":{"placeholder_text":"How much would you like to tip?","initial":{"instruction_type":"normal","instruction_message":"How much would you like to tip? Choose any currency."},"empty":{"instruction_type":"error","instruction_message":"How much would you like to tip? Choose any currency."},"invalid_curency":{"instruction_type":"error","instruction_message":"Please choose a valid currency."}},"recurring":{"placeholder_text":"Recurring","initial":{"instruction_type":"normal","instruction_message":"How often would you like to give this?"},"success":{"instruction_type":"success","instruction_message":"How often would you like to give this?"},"empty":{"instruction_type":"error","instruction_message":"How often would you like to give this?"}},"name":{"placeholder_text":"Name on Credit Card","initial":{"instruction_type":"normal","instruction_message":"Enter the name on your card."},"success":{"instruction_type":"success","instruction_message":"Enter the name on your card."},"empty":{"instruction_type":"error","instruction_message":"Please enter the name on your card."}},"privacy_policy":{"terms_title":"Terms and conditions","terms_body":null,"terms_show_text":"View Terms","terms_hide_text":"Hide Terms","initial":{"instruction_type":"normal","instruction_message":"I agree to the terms."},"unchecked":{"instruction_type":"error","instruction_message":"Please agree to the terms."},"checked":{"instruction_type":"success","instruction_message":"I agree to the terms."}},"email":{"placeholder_text":"Your email address","initial":{"instruction_type":"normal","instruction_message":"Enter your email address"},"success":{"instruction_type":"success","instruction_message":"Enter your email address"},"blank":{"instruction_type":"error","instruction_message":"Enter your email address"},"not_an_email_address":{"instruction_type":"error","instruction_message":"Make sure you have entered a valid email address"}},"note_with_tip":{"placeholder_text":"Your note here...","initial":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"empty":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"not_empty_initial":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"saving":{"instruction_type":"normal","instruction_message":"Saving note..."},"success":{"instruction_type":"success","instruction_message":"Note successfully saved!"},"error":{"instruction_type":"error","instruction_message":"Unable to save note note at this time. Please try again."}},"email_for_login_code":{"placeholder_text":"Your email address","initial":{"instruction_type":"normal","instruction_message":"Enter your email to log in."},"success":{"instruction_type":"success","instruction_message":"Enter your email to log in."},"blank":{"instruction_type":"error","instruction_message":"Enter your email to log in."},"empty":{"instruction_type":"error","instruction_message":"Enter your email to log in."}},"login_code":{"initial":{"instruction_type":"normal","instruction_message":"Check your email and enter the login code."},"success":{"instruction_type":"success","instruction_message":"Check your email and enter the login code."},"blank":{"instruction_type":"error","instruction_message":"Check your email and enter the login code."},"empty":{"instruction_type":"error","instruction_message":"Check your email and enter the login code."}},"stripe_all_in_one":{"initial":{"instruction_type":"normal","instruction_message":"Enter your credit card details here."},"empty":{"instruction_type":"error","instruction_message":"Enter your credit card details here."},"success":{"instruction_type":"normal","instruction_message":"Enter your credit card details here."},"invalid_number":{"instruction_type":"error","instruction_message":"The card number is not a valid credit card number."},"invalid_expiry_month":{"instruction_type":"error","instruction_message":"The card's expiration month is invalid."},"invalid_expiry_year":{"instruction_type":"error","instruction_message":"The card's expiration year is invalid."},"invalid_cvc":{"instruction_type":"error","instruction_message":"The card's security code is invalid."},"incorrect_number":{"instruction_type":"error","instruction_message":"The card number is incorrect."},"incomplete_number":{"instruction_type":"error","instruction_message":"The card number is incomplete."},"incomplete_cvc":{"instruction_type":"error","instruction_message":"The card's security code is incomplete."},"incomplete_expiry":{"instruction_type":"error","instruction_message":"The card's expiration date is incomplete."},"incomplete_zip":{"instruction_type":"error","instruction_message":"The card's zip code is incomplete."},"expired_card":{"instruction_type":"error","instruction_message":"The card has expired."},"incorrect_cvc":{"instruction_type":"error","instruction_message":"The card's security code is incorrect."},"incorrect_zip":{"instruction_type":"error","instruction_message":"The card's zip code failed validation."},"invalid_expiry_year_past":{"instruction_type":"error","instruction_message":"The card's expiration year is in the past"},"card_declined":{"instruction_type":"error","instruction_message":"The card was declined."},"missing":{"instruction_type":"error","instruction_message":"There is no card on a customer that is being charged."},"processing_error":{"instruction_type":"error","instruction_message":"An error occurred while processing the card."},"invalid_request_error":{"instruction_type":"error","instruction_message":"Unable to process this payment, please try again or use alternative method."},"invalid_sofort_country":{"instruction_type":"error","instruction_message":"The billing country is not accepted by SOFORT. Please try another country."}}}},"fetched_oembed_html":false}
One Reply to “Why the Group Membership UI in the Microsoft 365 Admin Center Sucks Dirty Canal Water”