Mein aktueller Ansatz - ich nutze es noch nicht, weil der Code noch etwas Verbesserung bedarf (und noch nicht an eine serverseitige DB angeschlossen ist) -
1) Anwendung ist PHP/JS-basiert, als Bookmarklet im Browser (benutzt man ja ständig) und dort mit der Eigenschaft „Lesezeichen in der Sidebar öffnen“
2) Anwendung ist nur auf einen Nutzer angelegt, damit unabhängig von Sessions, IPs etc.
3) Damit wird die Anwendung unempfindlich gegen Schließen des Browsers:
Javascript ermittelt bei Browseröffnen (Starten der Anwendung) via Ajax evtl eine laufende Erfassung (gekennzeichnet durch Start-Timestamp ohne End-Timestamp in der DB), lädt evtl. den Start-TS und ermittelt daraus die laufende Zeit. Die laufende Zeit und die Tagesgesamtzeit wird immer angezeigt. Im Endeffekt würde es also auch reichen, den Browser zum Starten und zum Schließen kurz zu öffnen. Die Zeit läuft optisch weiter, in der DB existiert ja erstmal nur nur der Eintrag der Startzeit.
4) Bei jedem Stopp wird die Endzeit ergänzt und ein Text zum Arbeitsinhalt. Der Text kann immer eingetragen werden, auch zur Laufzeit. Der letzt eingetragene Text ist Vorlage für die nächste Erfassung.
5) Es gibt eine Stoppzeit so gegen 5 Uhr morgens. Laufende (nie beendete) Sessions werden spätestens dann beendet (beim nächsten Init der Anwendung).
Sagt jetzt nicht viel aus, aber:
