Blogcourseslearning
Courses deserve better than a folder of videos
How Collectoh turns folders of lessons into real courses, with progress, streaks, notes, bookmarks and transcripts you can search by word or by meaning.
Somewhere on most people's drives is a folder of courses. A language course for a holiday that came and went, a watercolour course bought on a whim, a programming course that was going to change everything. They were paid for and downloaded, and then they sat there, because a folder of numbered videos is a poor place to learn from. It doesn't know which lesson you're on, it can't find the part you half remember, and your notes live somewhere else entirely.
To most media servers a course is just a pile of videos. Collectoh treats courses as a library of their own, with their own scanning rules, their own player and their own idea of progress.
From folders to courses
Here's a typical course folder:
Courses/
├── _Languages/
│ └── Italian for Travellers/
│ ├── course.nfo
│ ├── 01 - Getting Started/
│ │ ├── 01 - Greetings.mp4
│ │ └── 01 - Greetings.en.vtt
│ └── 02 - At the Station/
└── _Art/
└── Watercolour Basics/
├── 01 - Materials.mp4
└── 02 - Your First Wash.mp4The first job is working out where each course begins. People keep courses under categories, and categories inside categories, so Collectoh walks down from the top and stops at the first folder that looks like a course: one holding numbered sections, or the lessons themselves. Everything above it becomes a category, so _Languages reads as Languages. We checked the rules against a real library of 68,000 files.
Inside a course, numbered folders become sections and numbered files become lessons, in order, whether they're written 01 -, 1., Lesson 3, Part II or Week 4. Flat folders work, deeper nesting is folded into the section titles, and layouts from Udemy, Pluralsight, LinkedIn Learning, Coursera and O'Reilly have their lesson titles tidied up.
PDFs, slides, zip files, code folders and saved links are attached to the lesson, section or course they belong to. When a layout defeats every rule, every lesson still comes in, in natural order, in a single section. And if a course looks wrong, Structure looks off? on its page opens an outline editor where you can drag lessons and sections into place, rename sections and mark lessons as optional. Your fix is locked, so the next scan keeps it.
course.nfo
There's no catalogue of courses to look things up in, so we wrote down a small format of our own. Put a course.nfo or course.json in the course folder and Collectoh takes its word for the title, provider, instructors, difficulty, language, skills, prerequisites and more:
<course version="1">
<title>Watercolour Basics</title>
<difficulty>beginner</difficulty>
<language>en</language>
<prerequisite>A brush, some paints and some paper</prerequisite>
<tag>Painting</tag>
</course>Whatever the file sets is locked against other sources, and a change to the file is applied at the next refresh. Version 1 files will always import, and Collectoh can write the file for you if the library has NFO write-back on. Skills can also be picked out of course titles, from a curated list of technology terms matched as whole words only, so "Rusty Pipes Plumbing" is never mistaken for a course on Rust.
Progress that means something
A lesson is complete when you've watched nearly all of it, or when you press Mark complete.
A course's percentage counts lessons, not minutes: one 90-minute lecture and nine five-minute ones shouldn't read 70% done after the first video. The time left is shown separately, because that's the question time answers well. Optional lessons don't count against you, and Continue always takes you to the first lesson you haven't finished.
Any day with five minutes or more of learning counts towards a streak, measured by your own clock rather than the server's. At the top of every Courses library sits a small dashboard: minutes this week, your streak, the courses in progress with the next lesson in each, the skills you've been learning and what you've recently finished.
Notes, bookmarks and the course player
Lessons play in the same player as everything else, dressed for learning: previous and next, autoplay into the next lesson, Mark complete, and panels for the outline, notes, transcript, bookmarks and resources. Playback speed is remembered per course, because people tend to watch a given teacher at a given speed.
Press N and a note opens while the video carries on, pinned to the moment you pressed the key rather than wherever the video had reached by the time you finished typing. Notes are written in Markdown and can be searched across every course. Press B for a bookmark with a label and a colour, shown as a mark on the seek bar. And your notes can leave whenever you like: export them as a zip with one Markdown file per course, where every timestamp links back to that moment in the player.
Transcripts, and searching inside them
Most course downloads come with subtitle files beside the videos. Collectoh turns them into transcripts as it scans, which costs nothing beyond reading them, and takes text subtitles out of the video files themselves the first time they're wanted, joining the screen-sized fragments back into sentences. In the player the transcript follows along, a click on any line jumps there, and you can search within the lesson. Search the whole server and the results include each moment a phrase was said, linked to that second in the player.
People rarely remember the exact words, though. They remember "that bit about" something. So Collectoh also reads every transcript in passages of about sixty words, using a small model that runs on your own server and is fetched once, at about 120 MB. Search then gains Moments about this: the passages that talk about what you asked, in whatever words they used. It can even cross languages; on a small library, a question asked in German can find the English lesson that answers it. The reading starts as soon as a transcript arrives and pauses while anyone is watching, so a course added at lunch is searchable by the afternoon. Nothing leaves the server, and it can be switched off in Settings.
What we've left out
Collectoh doesn't set quizzes or issue certificates, though a course.nfo can point to one you already have. It doesn't sell courses or share them beyond your server, and it doesn't do flashcards; export your notes if that's how you like to revise.
Point Collectoh at your course folder and see what it makes of it. Getting started walks through the first scan, and the docs say more about course libraries.
More from the blog
Introducing CollectohA media server for the films, music, books, courses and photos you already own, running on your own hardware and playing on every screen.
Faces found at homeHow Collectoh recognises faces and tags photos on your own server, what it does with what it finds, and how to delete every trace of it.
Segue: how Collectoh listens to your musicCollectoh listens to every track on your own computer, so radio and mixes follow the sound, and a segue plays the way from one song to another.
