Custom user roles
2018 / PRODUCT DESIGNER / WEB
Our larger schools are run by entire teams of people. But an accountant shouldn’t have the same permissions as a course instructor. How do we establish the concept of user permissions in a way that fits our product right now and in the future?
I worked with a team of 4 (head of product, a FE dev, a BE dev and QA) over the course of two and a half months as the primary product designer on this brand new feature.
What's the problem?
“I am hiring some people to help with customer service and it would be SO helpful if they could have a separate account with limited admin privileges - they need to be able to look up student accounts, issue refunds, change emails and passwords, and moderate comments. But they shouldn't have access to my payment information or dashboard and such.”
“I want to give teachers and school administrators the ability to see how much progress their students have made after we have sold a course to their school, without letting them modify courses/see financial info.”
“Can I add an admin who can deal with everything but billing and payments and other sensitive functions?”
Teachable has a wide variety of schools—some of them are small schools based around a niche hobby or small audience. But we also have schools that make $1M+ a year, and these are often managed by teams of people with very specialized roles. Our platform not having a concept of user permission differentiation was hurting our business.
How do we measure the impact of this feature?
Dollar value of upgrades to our Business plan attributed to custom user roles (through feature gate)
Number of schools on the Business plan with at least one custom role set up
Related: % of all Business plan schools schools w/ at least one user role
The three primary user paths to create and address to fulfill the initial design stories are:
Edit/assign/create role from the master list of Users within a school
Edit/create a role from the master list of Roles within Settings
Edit/assign/create a role within a specific User’s profile
The bulk of the initial ideation consisted of working out the clearest way to show the list of permissions, which permissions are selected and applying a set of list of permissions to >1 users.
Below are ideations we threw out because they were based on defined design patterns that didn’t quite fit the use case or that did not respond well during usability prototype testing.
Within a User’s profile, a Primary Owner is able to edit, reassign or create a new role to apply to a singular User.
From the user management list, a Primary Owner can view all the users that have any custom role applied, and apply bulk actions of reassigning, unassigning and creating a new role.
Within the Settings area is a list of roles within a school, differentiating between default roles and custom roles. Within the list of custom roles is the ability to edit, delete and look at who is assigned to a particular role.