Worum es geht

Das Arbeitsboard ist ein persönliches Kanban Board, das vollständig im Browser läuft. Es gibt keinen Server, kein Konto und kein Tracking. Man öffnet die Datei board.html per Doppelklick und kann sofort loslegen. Die Daten verlassen den eigenen Browser nicht.

Die aktuelle Version gibt es direkt als ZIP Datei:

https://github.com/netperformance/Kanban/archive/refs/tags/v0.0.9.zip

Das Projekt ist Open Source unter der MIT Lizenz und liegt auf GitHub:

github.com/netperformance/Kanban

Funktionen

  • Projekte: getrennte Boards für verschiedene Themen, dargestellt als Reiter. Jeder Reiter zeigt die Zahl der offenen Einträge.
  • Spalten: anlegen, umbenennen, einfärben, verschieben, leeren und löschen. Jede Spalte lässt sich als „erledigt" markieren.
  • Einträge: Titel, formatierte Beschreibung, Typ (Aufgabe, Story, Fehler, Idee), Priorität (niedrig bis kritisch) und Fälligkeitsdatum. Überfällige Einträge werden rot markiert, Einträge für heute und morgen hervorgehoben.
  • Drag and Drop zwischen und innerhalb der Spalten, auf Tablet und Smartphone per langem Drücken und Ziehen mit dem Finger.
  • Schnell anlegen: jede Spalte hat einen eigenen + Knopf.
  • Suche in Titeln und Beschreibungen, erreichbar mit der Taste /.
  • Filter nach Typ, Priorität und Fälligkeit, frei kombinierbar, zum Beispiel nur kritische Fehler. Jedes Projekt merkt sich seine Suche und seine Filter.
  • Sortierung nach eigener Reihenfolge, Fälligkeit oder Priorität. Die eigene Reihenfolge bleibt dabei erhalten.
  • Leseansicht: ein Klick auf den Titel zeigt den ganzen Eintrag. Der Rest der Karte bleibt zum Ziehen frei, ein Verschieben öffnet also nie aus Versehen einen Dialog.
  • Einstellungen: eigener Name für das Board, Sprache, helles oder dunkles Design oder das Design des Betriebssystems, Export und Import.

Dunkles Design mit aktivem Filter auf Fehler

Leseansicht eines Eintrags

Wo die Daten liegen

Alles wird im localStorage des Browsers gespeichert. Das hat einen wichtigen Nebeneffekt: Jeder Browser und jeder Speicherort hat seinen eigenen Speicher. Wer die Dateien in einen neuen Ordner entpackt, sieht dort zunächst ein leeres Board.

Für ein Update kopiert man die neuen Dateien deshalb einfach über die alten im selben Ordner. Die Einträge bleiben dann erhalten. Um ein Board in einen anderen Browser oder auf einen anderen Rechner zu bringen, gibt es unter Einstellungen den Export und Import als JSON Datei. Vor jedem Import sichert das Board den aktuellen Stand im Browser.

Wer die Browserdaten löscht, löscht auch das Board. Ein regelmäßiger Export ist daher die beste Versicherung.

Ist der gespeicherte Stand einmal beschädigt, repariert das Board nur die fehlerhaften Teile und behält die Originaldaten als Sicherung. Sind mehrere Tabs offen, bleiben sie synchron. Ändern zwei Tabs gleichzeitig, wird die zweite Änderung abgelehnt, statt die erste still zu überschreiben.

Sicherheit

Auch eine lokale Anwendung sollte sauber abgesichert sein, zumal Beschreibungen formatierten Text enthalten.

  • Content Security Policy: nur die eigenen Skripte und Stile des Boards dürfen laufen, externe Anfragen sind gesperrt.
  • Sanitizer mit Allowlist: in Beschreibungen überlebt nur die Formatierung, die der Editor selbst anbietet. Alle anderen Elemente und Attribute werden entfernt.
  • Eingefügter Text wird immer als reiner Text übernommen, fremde Formatierung oder Code landen so nicht im Eintrag.
  • Keine Abhängigkeiten zur Laufzeit und kein Build Schritt. Was im Repository steht, ist genau das, was im Browser läuft.

Der Editor für die Beschreibungen nutzt die Selection und Range APIs des Browsers und kommt ohne das veraltete document.execCommand() aus.

Grenzen

  • Es gibt keine Synchronisation zwischen Geräten. Der Weg dorthin führt über Export und Import.
  • Die Reihenfolge innerhalb einer Spalte lässt sich nur mit Maus oder Finger ändern, nicht mit der Tastatur.
  • Das Board ist für eine Person gedacht. Zusammenarbeit im Team ist nicht das Ziel.

Fazit

Das Arbeitsboard ist bewusst klein gehalten: eine HTML Datei, etwas CSS und JavaScript, keine Installation. Trotzdem bringt es alles mit, was man für die eigene Planung im Alltag braucht, von Filtern über Fälligkeiten bis zum dunklen Design. Rückmeldungen und Pull Requests sind auf GitHub willkommen.