Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Lokalny system do gromadzenia i analizy danych telemetrycznych o aktywności użytkownika w systemie macOS, przeznaczony do osobistej analityki i optymalizacji.

License

Notifications You must be signed in to change notification settings

MichalPlaza/mac-usage-analytics

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

mac-usage-analytics

1. Cel Projektu

Celem projektu jest stworzenie systemu do gromadzenia i analizy danych telemetrycznych dotyczących aktywności użytkownika w systemie macOS. Zgromadzone dane posłużą do obiektywnej oceny, identyfikacji wzorców i optymalizacji alokacji czasu oraz zasobów poznawczych.

2. Założenia Systemowe

Projekt opiera się na następujących pryncypiach:

  • Kwantyfikacja jako podstawa optymalizacji: Decyzje dotyczące optymalizacji muszą być podejmowane na podstawie mierzalnych, obiektywnych danych, a nie subiektywnych odczuć czy błędnych oszacowań pamięciowych.
  • Integralność i surowość danych: System priorytetyzuje zbieranie surowych, niskopoziomowych danych (np. nazwa procesu, tytuł okna, timestamp) bez wstępnej kategoryzacji. Interpretacja i klasyfikacja odbywa się w fazie analizy, co zapewnia elastyczność i minimalizuje błędy na etapie zbierania.
  • Modularność: Architektura systemu jest rozdzielona na trzy niezależne komponenty: kolekcję, przechowywanie i analizę. Umożliwia to niezależny rozwój i modyfikację każdej części.
  • Prywatność i lokalność: Cały cykl życia danych (od zebrania po analizę) odbywa się lokalnie na maszynie użytkownika. Żadne dane nie są wysyłane do zewnętrznych serwisów.

3. Architektura

System składa się z trzech głównych modułów:

Moduł 1: Kolekcja Danych (Logger)

  • Funkcja: Skrypt działający w tle, dokonujący próbkowania stanu systemu w regularnych, zdefiniowanych interwałach czasowych (np. co 15 sekund).
  • Zbierane dane:
    • Timestamp (Unix epoch)
    • Nazwa aktywnej aplikacji (np. Google Chrome, Visual Studio Code)
    • Tytuł aktywnego okna (np. [Tytuł wideo] - YouTube, [Nazwa pliku] - [Nazwa projektu])
  • Technologia: Python z wykorzystaniem pyobjc-framework-AppKit do interakcji z API macOS.

Moduł 2: Przechowywanie Danych (Storage)

  • Format: Logi zapisywane jako sekwencja obiektów JSON w pliku tekstowym (JSON Lines, .jsonl). Alternatywnie, lokalna baza danych SQLite.
  • Uzasadnienie: Format .jsonl jest prosty, czytelny dla człowieka i łatwy do parsowania strumieniowego. SQLite oferuje bardziej zaawansowane możliwości kwerendowania bezpośrednio na etapie przechowywania.

Moduł 3: Analiza i Wizualizacja (Analyzer)

  • Funkcja: Zestaw skryptów lub notatnik Jupyter do przetwarzania surowych logów w celu ekstrakcji użytecznych informacji.
  • Przykładowe Analizy:
    • Agregacja czasu spędzonego w każdej aplikacji.
    • Kategoryzacja aktywności na podstawie słów kluczowych w tytułach okien (np. "praca", "social media", "nauka").
    • Generowanie raportów dziennych/tygodniowych.
    • Identyfikacja najczęściej używanych programów i dokumentów.
    • Analiza wzorców przełączania kontekstu (context switching).
  • Technologia: Python z bibliotekami pandas do manipulacji danymi oraz matplotlib/seaborn do wizualizacji.

4. Status Projektu

Faza koncepcyjna i rozwój podstawowego modułu zbierania danych.

About

Lokalny system do gromadzenia i analizy danych telemetrycznych o aktywności użytkownika w systemie macOS, przeznaczony do osobistej analityki i optymalizacji.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published