Information Architecture Analysis
This document analyzes the overall information architecture of the SCORM API website, identifying issues with content hierarchy, feature categorization, user mental models, discoverability gaps, and cognitive load.
Current Information Architecture
Content Hierarchy
Level 1: Context (Public/Customer/Admin/Learner)
- Determines which navigation and features are available
- Switches based on authentication and role
Level 2: Feature Areas (within each context)
- Public: Features, Pricing, Docs
- Customer: Dashboard, Packages, Reports, Integrations, Account
- Admin: Dashboard, Data Management, Analytics, System
- Learner: Dashboard, Packages
Level 3: Individual Features
- Each feature area contains specific functionality
- Some features have sub-features (e.g., Reports → Custom Reports)
Current Categorization
Public Context:
- Marketing (Features, Pricing)
- Documentation (Docs, API Reference)
- Authentication (Sign In, Sign Up)
Customer Context (Flat Structure):
- Dashboard (overview)
- Packages (content)
- Reports (analytics)
- Dispatch (content)
- API Keys (integration)
- Usage (analytics)
- Webhooks (integration)
- Billing (account)
- My Learning (learner features)
- xAPI (analytics - hidden)
- Credentials (integration - hidden)
Admin Context (Flat Structure):
- Dashboard (overview)
- Packages (data management)
- Tenants (data management)
- API Keys (data management)
- Webhooks (data management)
- Reports (analytics)
- Custom Reports (analytics)
- System (settings)
- Audit Logs (compliance)
Information Architecture Issues
Issue 1: Unclear Feature Categories
Problem: Features are not clearly categorized, making it hard to understand relationships and find related functionality.
Current State:
- All customer features listed flatly in "Dashboard" dropdown
- No visual or logical grouping
- Users must read all 8+ items to find what they need
Examples of Unclear Categorization:
Content vs. Analytics:
- "Packages" (content) and "Reports" (analytics) are separate
- "Usage" (analytics) and "Reports" (analytics) are separate
- No clear indication they're related
Integration vs. Configuration:
- "API Keys" (integration) and "Webhooks" (integration) are separate
- "Billing" (account) and "Usage" (account) are separate
- No grouping to show relationships
Customer vs. Learner:
- "My Learning" (learner) mixed with customer management features
- No clear separation of roles
- Confusing for users who are both
Impact:
- High cognitive load (must process all items)
- Hard to discover related features
- Unclear feature relationships
Issue 2: Mismatched User Expectations
Problem: Information architecture doesn't match user mental models.
User Mental Model 1: "I want to manage my content"
- Expected: Content section with Packages, Dispatch, Library
- Actual: Packages and Dispatch are separate top-level items
- Mismatch: No "Content" category
User Mental Model 2: "I want to see analytics"
- Expected: Analytics section with Reports, Usage, xAPI
- Actual: Reports, Usage, and xAPI are separate items
- Mismatch: No "Analytics" category
User Mental Model 3: "I want to configure integrations"
- Expected: Integrations section with API Keys, Webhooks
- Actual: API Keys and Webhooks are separate items
- Mismatch: No "Integrations" category
User Mental Model 4: "I want to manage my account"
- Expected: Account section with Billing, Usage, Settings
- Actual: Billing and Usage are separate items, no Settings
- Mismatch: No "Account" category
Impact:
- Users can't find features where they expect them
- Increased learning curve
- Frustration and confusion
Issue 3: Information Overload
Problem: Too much information presented at once without progressive disclosure.
Current State:
- Customer dropdown: 8 items all visible
- Admin dropdown: 9 items all visible
- No way to hide less-used features
- No personalization
Cognitive Load Analysis:
- Miller's Rule: 7±2 items in working memory
- Current: 8-9 items in dropdowns (at limit)
- Problem: All items at same level, no grouping
- Result: Cognitive overload
Impact:
- Users overwhelmed by choices
- Decision paralysis
- Missed features
Issue 4: Missing Contextual Help
Problem: No help, guidance, or explanations within the information architecture.
Missing Elements:
- Feature Descriptions: Dropdown items have descriptions, but not always clear
- Tooltips: No hover tooltips explaining features
- Onboarding: No guided tour of features
- Help Text: No inline help or documentation links
- Feature Highlights: No way to highlight new or important features
Impact:
- Users don't understand what features do
- Must click to discover functionality
- Trial and error navigation
Issue 5: Poor Progressive Disclosure
Problem: All features shown at once, no way to hide or prioritize.
Current State:
- All features always visible
- No way to customize navigation
- No "favorites" or "pinned" items
- No "recently used" section
Missing Patterns:
- Collapsible Sections: Can't collapse less-used categories
- Personalization: Can't customize what's shown
- Contextual Hiding: Features not relevant to user type still shown
- Progressive Enhancement: No way to show advanced features only when needed
Impact:
- Cluttered interface
- Hard to focus on important features
- No way to reduce cognitive load
Feature Categorization Analysis
Current Categorization (Implicit)
Content Management (implicit):
- Packages
- Dispatch
Analytics (implicit):
- Reports
- Custom Reports
- Learner Progress
- Usage
- xAPI
Integrations (implicit):
- API Keys
- Webhooks
- Credentials (unified)
Account (implicit):
- Billing
- Usage (also analytics)
Learning (implicit):
- My Learning
Problems with Current Categorization
- Not Explicit: Categories are implicit, not visible to users
- Overlapping: Usage is both analytics and account
- Missing: No clear "Settings" category
- Inconsistent: Some features fit multiple categories
- Hidden: Credentials and xAPI not in navigation
Recommended Categorization
Category 1: Content
- Packages
- Dispatch
- (Future: Content Library, Templates)
Category 2: Analytics
- Reports
- Custom Reports
- Learner Progress
- Usage Metrics
- xAPI Statements
Category 3: Integrations
- API Keys
- Webhooks
- Dispatch Tokens
- (Future: Third-party Integrations)
Category 4: Account
- Billing
- Usage Quotas
- Settings
- Profile
Category 5: Learning (for learners)
- My Learning
- Enrolled Packages
- Progress Tracking
User Mental Models Analysis
Mental Model 1: "Dashboard as Hub"
User Expectation: Dashboard is the central hub with quick access to all features.
Current Implementation:
- Dashboard exists (
/dashboard) - Shows widgets for different features
- But navigation is separate dropdown
Mismatch:
- Users expect dashboard to be the main navigation
- Current: Dashboard is a page, navigation is separate
- Confusion: "Dashboard" dropdown doesn't go to dashboard page
Mental Model 2: "Grouped by Function"
User Expectation: Related features grouped together.
Current Implementation:
- Features listed flatly
- No visible grouping
- Must read all items to find related ones
Mismatch:
- Users expect logical groupings
- Current: Flat structure
- Confusion: Hard to find related features
Mental Model 3: "Settings in One Place"
User Expectation: All settings and configuration in one place.
Current Implementation:
- Settings scattered:
- Billing (account settings)
- API Keys (integration settings)
- Webhooks (integration settings)
- Usage (quota settings)
- No general settings page
Mismatch:
- Users expect unified settings
- Current: Settings scattered
- Confusion: Don't know where to configure things
Mental Model 4: "Analytics Together"
User Expectation: All analytics and reporting in one place.
Current Implementation:
- Reports (separate page)
- Usage (separate page)
- xAPI (separate page, hidden)
- Custom Reports (nested under Reports)
Mismatch:
- Users expect unified analytics
- Current: Analytics scattered
- Confusion: Don't know which analytics tool to use
Discoverability Gaps
Gap 1: Hidden Features
Features Not in Navigation:
Credentials Page (
/dashboard/credentials)- Unified view of API keys, webhooks, dispatches
- Not linked in navigation
- Users must discover through other means
xAPI Page (
/dashboard/xapi)- xAPI statements viewer
- Not in navigation
- Only accessible via dashboard widget
Package Details (
/dashboard/packages/[id])- Package detail pages
- Not in navigation (expected, but no breadcrumbs)
Impact: Users don't know these features exist
Gap 2: No Feature Discovery
Missing Discovery Mechanisms:
- Search: No way to search for features
- Help: No help center or documentation links in context
- Tours: No onboarding tour
- Highlights: No way to highlight new features
- Suggestions: No "you might also like" or related features
Impact: Users must explore to discover features
Gap 3: Unclear Feature Relationships
Problem: Relationships between features not clear.
Examples:
Packages → Reports:
- Packages generate data for reports
- Relationship not clear in navigation
- Users may not realize reports show package data
API Keys → Packages:
- API keys used to upload packages
- Relationship not clear
- Users may not know they need API keys first
Webhooks → Events:
- Webhooks notify about package/session events
- Relationship not clear
- Users may not understand when webhooks fire
Impact: Users don't understand feature dependencies
Cognitive Load Analysis
Cognitive Load Sources
1. Too Many Choices:
- Customer dropdown: 8 items
- Admin dropdown: 9 items
- Exceeds 7±2 rule
- All at same level (no grouping)
2. No Visual Hierarchy:
- All items styled equally
- No distinction between:
- Primary vs. secondary actions
- Frequently vs. rarely used
- Critical vs. optional features
3. Unclear Relationships:
- Features seem unrelated
- No visual grouping
- Must remember all items to find related ones
4. Context Switching:
- Must switch between customer and admin contexts
- Different navigation structures
- Easy to lose place
5. Hidden Features:
- Some features not in navigation
- Must remember or discover
- Increases cognitive load
Cognitive Load Reduction Opportunities
1. Grouping:
- Group related features
- Reduce perceived number of choices
- Easier to scan
2. Progressive Disclosure:
- Hide less-used features
- Show on demand
- Reduce initial cognitive load
3. Visual Hierarchy:
- Distinguish primary vs. secondary
- Use icons, colors, typography
- Guide attention
4. Contextual Help:
- Inline help text
- Tooltips
- Reduce need to remember
5. Personalization:
- Remember user preferences
- Show frequently used features first
- Hide unused features
Content Hierarchy Issues
Issue 1: Flat Hierarchy
Current: All features at same level in navigation
Problem: No hierarchy means no prioritization or grouping
Example:
Dashboard Dropdown:
- Dashboard (level 1)
- My Learning (level 1)
- Reports (level 1)
- SCORM Dispatch (level 1)
- API Keys (level 1)
- Usage (level 1)
- Webhooks (level 1)
- Billing (level 1)
Better Hierarchy:
Dashboard Dropdown:
- Dashboard (level 1)
- Content (level 1)
- Packages (level 2)
- Dispatch (level 2)
- Analytics (level 1)
- Reports (level 2)
- Usage (level 2)
- xAPI (level 2)
- Integrations (level 1)
- API Keys (level 2)
- Webhooks (level 2)
- Account (level 1)
- Billing (level 2)
- Settings (level 2)
Issue 2: Unclear Primary vs. Secondary
Current: All features treated equally
Problem: No way to distinguish important from less important
Missing:
- No "primary" features highlighted
- No "secondary" features de-emphasized
- No "advanced" features hidden
Issue 3: No Content Grouping
Current: Features listed individually
Problem: No way to see related content together
Missing:
- No content sections
- No feature clusters
- No related features shown together
Summary of Critical Issues
High Priority Issues
- Unclear Feature Categories (no explicit grouping)
- Mismatched User Expectations (IA doesn't match mental models)
- Information Overload (too many choices, no grouping)
- Hidden Features (Credentials, xAPI not in navigation)
- Flat Hierarchy (all features at same level)
Medium Priority Issues
- Missing Contextual Help (no tooltips, help text)
- Poor Progressive Disclosure (all features always visible)
- Unclear Feature Relationships (dependencies not obvious)
- No Visual Hierarchy (all items styled equally)
- Cognitive Load (exceeds 7±2 rule)
Low Priority Issues
- No Personalization (can't customize navigation)
- No Feature Discovery (no search, tours)
- No Content Grouping (features listed individually)
Recommendations Summary
- Implement Explicit Categorization (Content, Analytics, Integrations, Account)
- Match User Mental Models (group by function, not by route)
- Reduce Cognitive Load (grouping, progressive disclosure)
- Add Missing Navigation Links (Credentials, xAPI)
- Create Visual Hierarchy (primary vs. secondary, icons, typography)
- Add Contextual Help (tooltips, inline help, documentation links)
- Implement Progressive Disclosure (hide less-used features)
- Clarify Feature Relationships (show dependencies, related features)
- Add Breadcrumbs (show navigation path)
- Personalize Navigation (favorites, recent items, customization)
These recommendations will be detailed in the proposed improvements documents.