Key Concepts - UX Terminology
⚠️ This is a living document — more definitions may be added as the project evolves.
Existing User Group Mechanisms
User Groups
User groups are sets of users grouped by shared characteristics, events, or rules. They can be created manually or automatically using data such as course progress, profile info, or activity. Unlike legacy models, user groups in this system are agnostic of behavior, meaning any group can be used for messaging, content control, analytics, or other features without being tied to a specific function like "cohorts" or "teams". This unified design supports reuse and flexibility across the platform.
Scope
The context in which a user group is valid and active.
Types:
Course: group applies only within a specific course.
Organization: group applies across all courses in an organization.
Instance: group is global across the platform.
Criteria
A criterion defines who should be included in a user group based on what users are like (their characteristics) or what they do (or don't do) on the platform.
It represents a condition that helps select a specific group of users, such as learners who haven't logged in for 10 days or who have course progress below 40%.
Groups can include up to three criteria, combined with AND/OR operators. Only users who satisfy the resulting rule will be included in the group.
Breaking Down a Criterion
Each criterion defines a rule for selecting users based on what they do (or don’t do) within a scope. It follows a simple structure made of four key parts:
Subject: Who or what is being evaluated. Q: Can this be something different than the user? Can this be implicit to the criteria, e.g., last login depends on user info?
It’s always the user
Attribute / Property / Criteria Type ??: The specific behavior or characteristic being checked
Operator: How the attribute is compared to a value (e.g., equals, greater than, exists)
Value (Optional, depends on operator): The specific number, label, or item used in the comparison
Examples
Here are some examples of how real criteria follow this pattern:
User has not engaged with any course content in N or more days
User has engaged with a specific part of the course
User got a problem correct on first or any attempt
User created a forum post
User earned a grade above or below a threshold on an assignment
Property | Operator | Value |
|---|---|---|
last login | > | 10 days ago |
engaged with | in | [videos, units, subsections, ORA problems, etc.] |
problem response | = | problem response |
forum post | exists | - |
country | in | [Spain, Colombia] |
track | = | Audit |
Evaluators
Evaluators are responsible for implementing the logic that determines whether a user meets the conditions defined by a Criterion to belong to a group.
Each evaluator is directly associated with a specific criterion and dynamically resolves group membership by applying the criterion's logic to the user's data.
In essence, evaluators are the execution engine behind grouping rules, ensuring user assignment to groups is accurate and consistent according to the defined conditions.
Anti-Criterion
An anti-criterion is the opposite of a regular criterion. It selects users who do not meet a specific condition.
For example:
Criterion: learners who scored below 50%
Anti-criterion: learners who did not score below 50% (i.e., they scored 50% or more)
Anti-criteria can be used to exclude certain users from a group based on the inverse of an existing rule.
Group Modes: Dynamic vs Static Groups
Dynamic Group: Users are added or removed automatically when their data changes. For example, if the group is “learners who failed the course” and one learner passes later, the system removes them from the group. To stay up to date, these groups need to be refreshed, either manually (e.g., by pressing a button), by a cron job, or by receiving event updates.
Static Group: Users are selected manually and added to the group by the course team.
UX Terminology Table – With Alternatives & Tooltips
Backend Term | Proposed UI Term | UX Evaluation | UX-Friendly Alternatives | Tooltip (UX Copy) |
|---|---|---|---|---|
| Group type | Technically accurate but vague in UI. “Mode” may suggest display/access settings. “Type” better reflects logic behind group creation. | Group format | — |
| Manual group | Clear. Implies user-built group. Matches instructor mental model. | — | — |
| Dynamic group | Sounds abstract. May not imply rule-based structure. | Rule-based group, Auto-updating group | — |
| Enrollment mode | Familiar in Open edX. May be unclear to external audiences. | Course access type | — |
| Criteria | Backend-heavy terms. Without examples or tooltips, users may be confused. | Group filters, Conditions, Rule set | — |
| Invited user | ‘External’ can mislead. ‘Invited’ is clearer, action-oriented. | Pending invite, Not yet enrolled | — |
| Active | Very clear. Indicates group is functioning. | — | This group is currently active and in use. |
| disabled | Can be misunderstood as an error. ‘Inactive’ or ‘Deactivated’ are softer and clearer. | Deactivated | This group is not currently active. You can reactivate it at any time. |
| Sync error | Technical and stressful. Needs clearer, softer language. | Update failed | There was an issue updating this dynamic group. Please check the criteria or try syncing again. |
| Stale | Jargon. Lacks a clear meaning. “Outdated” or “Needs refresh” express intended behavior. |
| This group hasn't been updated recently and may not reflect the latest user data. |
| Synced X day ago | Too technical — “sync” is developer-facing jargon. | Auto-updated X days ago | This dynamic group was last synced with user data 1 day ago. |
| Updated X days ago | Familiar pattern. Helps track group changes. | Last updated | This manual group was last updated manually 3 days ago. |
| Manage | Best fit for accessing full group overview and controls. | Manage group | Access this group’s settings and configuration options. |
| Export | Well-known action, especially for CSV output. | Download member list | Download a list of current group members. |
| Disable | Can imply deletion. Consider clearer label. | Deactivate | Temporarily deactivate this group without deleting it. |
| Update | Implies refresh or sync. Clear action for dynamic logic. | Refresh | Apply any changes made to this group’s settings or membership. |