2019 / 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 roles 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.
Our hypothesis was that if we built a roles/permissions system, we’d be able to satisfy larger schools and add additional value in order to differentiate our Business plan from lower-level paid plans.
So what should V1 of this feature allow users to do?
For Primary Owners (admins):
Primary Owners can create and name new custom roles
Primary Owners will be able to choose from a pre-defined list of permissions to dictate these roles
A Primary Owner will be able to edit a previously created role and edits will apply to ALL users the role is tied to
If user has free or non-qualifying plan, show “Create New Role” option but have that serve as an upgrade gate
In the event of a school downgrade, additional roles are no longer applicable and everyone is turned into an Owner
For non-primary owners:
If a (non-Primary Owner) user has access to custom roles, enable full role creation ability
Role restrictions that are applied to a particular user will result in us hiding the entire role ability from the custom user
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.
The custom user roles feature launched to users on our highest level plan (Business) in July 2018.
In the first month after release, we saw 16.7% of eligible schools had created one or more custom roles (41 schools in total) and that the feature drove nearly $10k worth of upgrades.