- Offizieller Beitrag
Benachrichtigungen bieten den Benutzern eine gute Möglichkeit um auf dem Laufenden zu bleiben und über relevante Ereignisse zeitnah informiert zu werden. Im Rahmen der Entwicklung von Burning Board 4.1 haben wir uns der Benachrichtigungsfunktion erneut zugewandt, auch unter der Maßgabe der vielfältigen Rückmeldungen unserer Kunden. Ein häufiger und von vielen Kunden ausgedrückter Wunsch ist die Benachrichtigung über erhaltene Likes, als auch die Möglichkeit Benachrichtigungen zu behalten, statt diese implizit zu verwerfen, sobald die Benachrichtigung zur Kenntnis genommen wurde.
Die obige Grafik stellt die einfachste Form einer Benachrichtigung dar, sie stellt den auslösenden Benutzer dar und gibt in einem kurzen Satz Aufschluss über den Grund der Benachrichtigung. Diese Form ist vollkommen ausreichend für einzigartige Benachrichtigungen (etwa der Beginn einer neuen Konversation) und wird daher auch so beibehalten.
Leider hat sich diese Benachrichtigungsform in komplexeren Anwendungsfällen als unzureichend herausgestellt, ein adäquates Beispiel sind die Antworten auf ein abonniertes Thema: Benutzer erhalten für die erste neue Antwort eine Benachrichtigung, aber jede weitere Antwort wird vom Benachrichtigungs-System nicht erfasst und kann den Eindruck erwecken, dass es nur diese eine Antwort gibt. Dies ändert sich erst sobald der betreffende Benutzer das Thema aufruft und damit implizit die Benachrichtigung bestätigt, wodurch sich der Kreis wieder schließt und bei neuen Antworten erneut eine Benachrichtigung verschickt wird.
Dieses Verhalten dürfte den meisten Benutzern bekannt sein und trägt auch zu der allgemeinen Akzeptanz dieser Lösung bei. Dennoch sind wir damit gänzlich unzufrieden und im Hinblick auf Benachrichtigungen für erhaltene Likes (welche in stark frequentierten Foren in größerer Anzahl auftreten können) waren wir auf der Suche nach einer vernünftigen Lösung.
Wir möchten dieser Problematik mit der Gruppierungsfunktion für Benachrichtigungen entgegnen:
Die Gruppierungsfunktion erfasst jeden einzelnen Autor und die Anzahl wie oft diese Benachrichtigung ausgelöst wird. Es ist dabei unerheblich wie oft eine Benachrichtigung ausgelöst wird, als Resultat erfolgt die Erzeugung einer einzigen Benachrichtigung (einschließlich der optionalen Benachrichtigung per E-Mail), diese wird jedoch entsprechend aktualisiert und gibt Aufschluss darüber, was wirklich passiert.
Zusätzlich haben wir die Anzeige der neuen Benachrichtigungen verbessert, bisher wurde der Seitentitel dynamisch verändert und entsprach dem Muster "(3) Seitentitel". Die Aktualisierung des Seitentitels ist nicht immer ideal, denn einige Browser zeigen ihn nicht wirklich an oder blenden diesen bei Bedarf aus, etwa wenn nicht mehr genügend Platz zur Darstellung verfügbar ist. Die meisten Browser bieten dafür aber eine bessere Lösung an: Die Aktualisierung des Seitenicons (auch bekannt als Favicon).
Das Icon wird dynamisch mittels favico.js verändert und hat keine Auswirkungen auf die Originaldatei. An dieser Stelle möchte ich auch noch auf eine andere Funktionalität der Software eingehen: In regelmäßigen Abständen wird eine einzelne Anfrage an den Server gesendet, um die Aktivität der Sitzung beizubehalten. In der Standardkonfiguration wird eine Sitzung nach 30 Minuten ungültig, daher wird diese Anfrage erst nach 29 Minuten Inaktivität gestellt (genau genommen 1 Minute bevor die Sitzung als inaktiv markiert und beendet wird). Diese Anfrage wurde verändert und liefert nun die Anzahl der ungelesenen Benachrichtigungen zurück, dadurch wird das Icon und die Anzeige in der Benutzerleiste aktualisiert, auch wenn der Tab nur im Hintergrund aktiv ist.