Open-source project
ClassIsland/ClassIsland avatar
ClassIsland/ClassIsland

ClassIsland: a cross-platform timetable display for classroom screens

. A powerful, customizable, cross-platform timetable information display tool suitable for class multimedia screens, which can display various information at a glance.

2,824 stars305 forksC#GPL-3.0

At a glance

What is it?
ClassIsland puts the day's schedule, current period, and bell reminders on a Windows, macOS or Linux screen in front of a class. It is a desktop app, not a web service, and its Linux support stops at X11.
Who is it for?
Adopt ClassIsland if you run a fixed classroom screen on Windows 10 or later and want the timetable, period countdown and bell reminders handled by one desktop app with an Excel import path. Do not adopt it if your classroom machine runs Wayland, if you need to manage dozens of screens from one console (the README lists centralised management as not yet released), or if you want a browser-based dashboard.
Can I use it commercially?
Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
Is it still maintained?
Yes. The repository last received commits 5 days ago.
What is it written in?
Mainly C#, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 25, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What ClassIsland actually puts on the classroom screen

A classroom multimedia PC usually shows one of two things: a locked desktop, or a projector feed nobody is looking at. The timetable lives in a spreadsheet on a teacher's laptop, and the bell is a separate box on the wall. ClassIsland is aimed at that gap. According to the README, it is a cross-platform timetable information display tool for classroom multimedia screens, showing the day's schedule and the current lesson, and firing reminders at boundaries such as the start and end of a period. The name comes from the iOS Dynamic Island, which is a fair hint at the shape of the thing: a small always-present surface that changes state rather than a full application window.

The audience is narrow and specific. It is not a student planner and not a school-wide scheduling system. It is for whoever maintains the screen at the front of a room: a school IT technician, a teacher who owns that machine, or a lab administrator. The README's feature list is written for that person, covering schedule display, schedule editing, component customisation, plugins, themes, weather, and automation.

Three features do most of the work of explaining the product. Reminders can be combined with sound effects, emphasis effects, speech and a topmost window, so a period change is hard to miss. The schedule can be hidden on demand, temporarily hidden, or made click-through, so the display does not block whatever the teacher is presenting. And the schedule can be imported from Excel, from CSES, or from other software, which matters because almost nobody wants to retype a term's timetable by hand.

How the display, components and automation fit together

The repository layout shows a .NET solution split into a core library, a desktop entry point, a launcher, a plugin SDK, shared IPC code and platform abstractions, with Avalonia shared props at the root. That structure matches what the README describes: a desktop application with a plugin surface and cross-platform rendering, rather than a service with a web front end.

The visible unit of composition is the component. The README lists date, time, weather briefing and countdown-day as examples, and states that components support multi-row layout, carousel rotation and scrolling. So the screen is not a fixed template. It is a container into which components are placed, and the layout problem is solved by arranging and rotating them rather than by editing a page.

Automation is the second mechanism. The documentation describes it as running actions when a specific event occurs or at a specific time, with examples including showing a reminder and opening an application, file or web page. That is the part worth thinking about before deployment: an automation that opens a web page runs with the privileges of the display account, on a machine that may be logged in unattended. The README does not describe a sandbox or a permission model for automations, so the practical boundary is whatever the operating system account allows.

Around the edges sit weather (current conditions, precipitation hints, 6-hour and 3-day forecasts, extreme weather warnings, with location-based lookup), clock alignment and manual bell alignment, password protection for settings and schedule configuration, automatic theme colour from the system palette, and automatic updates. The README also lists centralised management as a planned feature, marked as coming soon.

Installing ClassIsland and importing a first timetable

The README recommends Windows 10 or later, macOS Big Sur 11 or later, or Debian 10 or later with an X11 graphical environment, with the macOS and Linux requirements applying from version 1.7.105.1 onward. On Windows you need the .NET 8.0 Desktop Runtime; the README links the x64 installer directly. The application itself is downloaded from the official site or from GitHub Releases, and the README states that detailed installation instructions live in the documentation rather than in the repository.

There is no package manager command in the README, so there is nothing to copy for installation. What is worth checking is the Windows runtime prerequisite, because the app will not start without it: the README points at the .NET 8.0 Desktop Runtime download page, and the documentation covers the check itself.

The first real task is getting a timetable in. The README states that schedules can be imported from an Excel spreadsheet, from CSES, or from other software, and can also be exported back to Excel. The import path is described in the documentation under the profile section, so the workflow is: open the schedule editor, choose the import option, and point it at the spreadsheet. After import, the editor is where you adjust the timetable, the period times, the subjects and any pre-booked temporary schedule changes.

The repository ships an example file at examples/example.json. It is the only example file listed at the top level, and the README does not document its schema or promise that it can be loaded directly. Treat it as a reference for the shape of the data rather than as a ready-made configuration.

One deployment note from the README is easy to skip and expensive to debug: ClassIsland is incompatible with some window decoration tools, specifically those that modify window materials such as Mica For Everyone. If you use one, add ClassIsland to that tool's exclusion list.

Where ClassIsland stops: Wayland, Windows 7 and multi-room management

The Linux requirement is the sharpest limitation. The README states that running the app on Linux requires an X11 desktop environment and that Wayland is not supported, and it explicitly says that running through XWayland is outside ClassIsland's support scope and that some features may not work correctly. On a modern distribution where Wayland is the default session, that is not a configuration detail. It means choosing an X11 session at login or not running the app.

Windows 7 is the second boundary. The README advises against running the app below Windows 10 and states that on Windows 7 the .NET runtime produces serious memory leak problems. It points anyone who insists at a documentation page for installing on Windows 7, but the recommendation is clear.

Centralised management is the third. The README lists it as an unreleased feature. If your deployment is one screen, that does not matter. If it is thirty screens across a building, it matters a great deal, because the alternative is configuring each machine individually or scripting around the app. The README does not describe a configuration-file deployment path for pushing a schedule to many machines, so anyone planning a fleet rollout should read that gap as the main risk.

There is also a subtler cost. The feature list is long: components, plugins, themes, automation, weather, clock alignment, password protection, automatic updates. Each of those is something that can be misconfigured on a machine nobody looks at until a lesson starts. The password protection for settings and schedule configuration exists precisely because that machine is physically reachable by students, which is worth enabling rather than leaving for later.

ClassIsland against a browser dashboard or a plain spreadsheet

The obvious alternative is a web dashboard shown full screen in a browser. The difference is not cosmetic. A browser dashboard needs a server, a network path to the classroom machine, and a login; ClassIsland is a desktop application that reads local configuration and keeps working when the network does not. It also gets capabilities a browser tab does not have: a topmost reminder window, sound effects, text-to-speech, click-through display, and automation that can open local files or applications.

The cost of that choice is deployment surface. A web dashboard updates once on the server and every screen sees the change. ClassIsland, without the unreleased management feature, is configured per machine. You are trading central control for local reliability and local system access.

The second alternative is doing nothing: a spreadsheet open on the classroom PC, or the existing bell system. That works until the timetable changes mid-term, which is exactly what the temporary schedule-change feature addresses. Single-day and cross-day temporary changes, plus pre-booking a schedule to activate later, are the features that make ClassIsland more than a prettier spreadsheet.

A third comparison point is other school timetable software, since the README's import list names CSES alongside Excel. If your school already runs CSES, the import path is the reason to look at ClassIsland rather than replacing the scheduling system: it reads from what you already maintain instead of asking you to maintain a second copy.

Licence, upgrade cost and what the version numbers tell you

ClassIsland is licensed under GPL-3.0. For a school running the application on its own machines, that is the ordinary case and nothing about it is unusual. The implication worth noting is for anyone embedding ClassIsland in a product or shipping a modified build: the GPL-3.0 obligations attach to distribution, and the plugin SDK sits inside the same repository. Whether a plugin that links against the SDK is a derivative work is a question for a lawyer, not for this article, but it is the question to ask before building a commercial plugin.

Upgrade cost is low on the surface. Automatic updates are a listed feature, and the release history shows a steady cadence: 2.1.0.1 in June, 2.1.1.0 in July, 2.1.1.1 in August. The last push to the repository was on 2026-08-20, so the project is not dormant. The README's development table shows master maintaining version 2.1 (Liliya), a misha-alpha branch for early work on 2.2 (Misha), and a 1.7 branch still maintained.

The real upgrade cost is not the binary, it is the configuration and the plugins. A version jump can change component behaviour or plugin compatibility, and the README does not document a rollback procedure for a bad update on a classroom machine. If a screen has to be working at 08:00 on a Monday, the thing to verify before enabling automatic updates is how you get back to the previous version, because the README does not answer that.

Editorial conclusion

Adopt ClassIsland if you run a fixed classroom screen on Windows 10 or later and want the timetable, period countdown and bell reminders handled by one desktop app with an Excel import path. Do not adopt it if your classroom machine runs Wayland, if you need to manage dozens of screens from one console (the README lists centralised management as not yet released), or if you want a browser-based dashboard. Before rolling it out, verify the .NET 8.0 Desktop Runtime is installed, check that any window-material tool such as Mica For Everyone has ClassIsland on its exclusion list, and confirm the Linux target is X11 rather than Wayland.

Frequently asked questions

How do I install ClassIsland?

Download it from the official ClassIsland website or from GitHub Releases. On Windows you must first install the .NET 8.0 Desktop Runtime, and the README points to the documentation for detailed installation instructions.

Does ClassIsland run on Linux?

Yes, on Debian 10 or a derivative with an X11 graphical environment, from version 1.7.105.1 onward. The README states that Wayland is not supported and that running through XWayland is outside the supported scope, with some features possibly not working correctly.

Can ClassIsland import my existing timetable from Excel?

Yes. The README lists importing a schedule from an Excel spreadsheet, from CSES, or from other software, and also exporting schedule information back to Excel.

Official sources

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/classisland-classisland.svg)](https://hysenlabs.com/projects/classisland-classisland)