Skip to content

Admin Resource Discovery and Management #14003

@rtibbles

Description

@rtibbles

This issue is not open for contribution. Visit Contributing guidelines to learn about the contributing process and how to find suitable issues.

Overview

Allow admins to more easily discover and manage channels on Kolibri devices - including from the new Community Library channels.

What problem are we solving?

There has been a longstanding need to improve the channel discovery and import workflows within the Device plugin for admins. Current challenges include:

  • Extremely long list of public channels that is hard to search through and takes a long time to load
    • Poor search interface and poor search results
    • No metadata visible or filterable on channels/channel content aside from language
    • No content previewing of channel resources
  • Difficult to share channels or groups of channels among schools/communities that may benefit from resources in the same curricula, language(s), geographic/cultural relevance, etc. (see [“Easy Sharing of Community Channels” project](https://www.notion.so/Easy-sharing-of-community-channels-199f45d6ef96800e82dada2dcf3ae990?pvs=21) for significant additional context)
  • Updating, importing more, and other channel/content management workflows have significant tech debt and a somewhat piecemeal user experience after many years of small, incremental tweaks and bug fixes
    • Metadata updates have never been properly indicated to the user as a new version change

TLDR

  • it’s hard to navigate and quickly find relevant resources, or explore interesting content that is unfamiliar
  • it’s onerous to quickly provision many devices with the same content for a scaling program

Why this? Why now?

Community Needs/User Research

Practical/Technical

  • Compliments the ESoCC GSoC project timeline well
  • Allows us to prototype “offline-AI” features, including what it would look like to use fuzzy searches, vector lookups, and Retrieval Augmented Generation
  • Reuses core elements of search and filtering experiences in Learn and Coach, reducing design overhead and helping us achieve a consistent UX (and consistent code implementations)
  • Aligns with timeline for KDSv6 (which will allow for breaking changes in KDS if required)

Who’s working on it?

Outcomes

Specific needs that are being addressed, and how we will know when the project is done

User personas

  • Ted - is new to Kolibri and is trying to find out what is available to import into his Kolibri device that he is setting up in the capital, before taking it to a rural area with limited connectivity
  • Freda - is in the 3rd year of running a Kolibri based learning program, and they are expanding to 300 new schools, she has to quickly provision the Kolibri devices for the upcoming school year

Framing questions

  • What is the most helpful default for user needs?
  • What happens when there are (too) many things?
    • What would this experience/workflow be like if you are doing it for 1 channel? for 10 channels? > 50 channels?
  • How many ways does an administrator need to be able to do the thing?
  • What happens when you refresh the page?
  • How do we handle errors?
  • Where do we redirect to and why?

Workflows that will be supported:

Kolibri Content Import: Community Channels & Public Library

  • A Kolibri admin can search, filter, and browse the Kolibri Library as well as Community Channels
    • Metadata is available, filterable, and visible at the Channel level
    • Keyword search is improved through techniques that might include fuzzy searches, vector lookups, and/or Retrieval Augmented Generation (”offline AI in Kolibri”)
      • Search results are channels only (this is an intentional decision to reduce complexity in the UI), but users can click into the channel to view more, and can import at a granular level only the resources/folders they need
    • Remote library browsing feature that currently exists in Learn, to support previewing content, is available to admins within Device
  • A Kolibri admin can easily manage their existing channels through an improved UI, better channel version upgrade messaging, and more helpful channel cards
    • Channels UI offers searching and filtering
    • Device > Channels UI is more compact (KCard ) and the list order is alphabetic OR can be sorted based on a user input
    • Clear messaging about what channels have upgrades available, and easy path to upgrade - if Internet connection is available, or LAN contains an upgraded version of the channel
      • When upgrading, content preview and clear list of changes (what is being added and removed) is available
      • UX explains and includes option for metadata-only resource updates
  • Community channels
    • The Community Library is pre-filtered to content based on geographic region and language, with the option to remove or change these filters, and add additional metadata content filters
    • Kolibri provides information on the difference between Kolibri Library resources and Community Library resources

General UX improvements/design considerations:

Across content pages (current channels, content import, community channels)

  • sensible and consistent default ordering of all channel lists (on device, when browsing)
  • more effective use of space
  • content are search/filterable on all pages
    • the search/filter experience is consistent (consistent with Coach and Learn in terms of UX components/elements) and is offered consistently (all pages allow for the same searching and filtering; there are not a subset of pages where searching/filtering is not available)
  • channel cards display “Level”, “Language”, and “Subject” metadata
    • This is critical and consistently the most important in the user feedback
  • reconsideration of “what is needed” for the admin at each point of channels overview
    • what information does the admin most need about the channels ON the devices
    • what information does the admin most need about channels in the community library
    • what information does the admin most need about channels in the public library

Cross-ecosystem considerations:

KDS

  • KCard updates: identify/negotiate must have, stretch goals, nice to have (technical and design implications); clarity about display of information vs. interactivity changes should be well scoped for :a11y: considerations and testing
    • Limit layout/stylistic design changes whenever possible
  • Side panels and “drawers”: use established/consolidated design patterns

Constraints

Budgets, deadlines, technical limitations, and other constraints

  • We’ll approach this project and the ESoCC project to be done independently but on coordinated timelines. The reasons for this are:
    • Overcoupling project releases is often more of a headache than it is worth
    • It may slow us down
    • We actually want to ship the studio side of this first, so that we can have community channels when this feature ships in Kolibri (otherwise… falls a bit flat)
  • Timeline for dev work: Studio (end of 2025), Kolibri (early 2026)

Out of scope

  • The keyword search is related to this as it is connected conceptually via the search and filtering for content experience, but the technical approach, implementation, etc. will be handled somewhat separately. There is a sub-project listed below.

Context

Relevant background information including Notion opportunities, Google docs, clearinghouse entries, slack conversations, Github issues, or any other relevant background information

Clearinghouse documented user stories and user research

  • Channel level metadata would be useful to see in the Catalog, and in Studio interface
    • Metadata is not readily visible on channel cards (and previously, was not on content cards) and cannot be used to evaluate content

    • Subject, language, and age range are the most important metadata on channel cards
      Details
      • IDOC teachers named subject, language, and age range as metadata it was most important for them to see on Kolibri channel cards...the mixing of these diverse audience indicators within single channels and even single subtopics would make the browsing experience overwhelming and frustrating.

      • These categories have previously come up as the most critical for users in filtering and creating mental elimination schema to search for content

    • Contextual metadata is important when choosing resources for a particular program and/or facility - see metadata presentation from 2019 Design Sprint

    • Classroom constraints (i.e. what materials do I need), modality (i.e. what are some ways I could use it), and comprehensibility (i.e. who can understand this?) are essential for evaluating resources
      Details
      • Contextual metadata are high-value metadata. They’re more important than others in the discovery of content for curriculum, so less of them will suffice. The categories of contextual metadata we identified:
      • Classroom Constraints
        1. Do I have the necessary resources to use it (ie need an overhead projector)?
        2. Do I have enough time to use it?
      • Modality of Usage
        1. What am I using it for?
        2. What kind of learning objective do I have? (Not what is it!)
        3. What are some ways in which I could use it?
      • Comprehensibility
        1. Who can and can’t understand this?
        2. Who could understand this and with what kind of work?

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions