Skip to content

Chrome/Edge extension: count computer screen time alongside the phone #40

Description

@jsconu

Goal: include time spent in Chrome on a computer (or Chromebook) in a child's screen time, so a family's numbers cover more than the phone. Open to community ownership - this is a good self-contained project for someone who knows browser extensions.

Why not "sync Chrome"

Chrome Sync carries history and bookmarks, but no durations, and there's no API an app can use to read it. Real time-on-site has to be measured, which means a Chrome (Manifest V3) extension. It also works in Edge; Firefox and Safari would each need their own build. (On a Chromebook, Google's Family Link already does much of this for free - worth checking before building.)

Proposed scope (tracking only, first)

  • Extension records active-tab time per domain (not full URLs), pausing when the window loses focus or chrome.idle says the computer is idle. Incognito only if the user allows it.
  • Sends daily totals to the family's Firebase project. Parent sets it up by entering a pairing code, like a kid phone.
  • Parent app (Android and iOS): a "Computer" section on the child's screen, a combined total, and sites alongside apps in the weekly report.
  • Kids still only ever see the calm status signal, never the numbers.

The real work is the data model, not the tracking

  • Today a child has exactly one paired device (deviceUid). A computer is a second one. This is the linkedDevices redesign already proposed in Residual security and reliability items from the #38 review #39 (per-device docs created only through the pairing transaction), and it also closes a gap in Residual security and reliability items from the #38 review #39.
  • Daily stats need to be per device, with the parent app summing them. Phone + computer time is a sum, not unique time - moments of using both count twice - so wording should say so.
  • Sign-in from an extension: bundle the Firebase JS SDK (no remote code in MV3); email/password or a pairing-code custom flow.
  • Firestore rules + emulator tests for the new device type (same standard as PairingFlowEmulatorTest).

Rough effort (tracking only): 1-2 weeks

Piece Estimate
Extension: time per domain, idle/focus handling 2-3 days
Pairing a desktop + linkedDevices rules 2-3 days
Per-device stats storage + tests 1-2 days
Parent app UI (Android + iOS), weekly report 2-3 days
Chrome Web Store review, privacy policy update days of waiting

Blocking sites from the extension (a block page when time is up) is a separate step, roughly another week.

Limits to be honest about

  • Only Chrome/Edge is measured. Games, Discord, Minecraft, other browsers etc. are invisible; a whole-computer number needs a native Windows/macOS program, which is a much larger project.
  • A child can disable or remove an extension (unless a Google account/managed policy forces it on).
  • Needs tabs, idle and storage permissions, which the store treats as sensitive - the privacy policy and Data safety answers must be updated before publishing.

Suggested order

  1. Land linkedDevices (Residual security and reliability items from the #38 review #39) first.
  2. Tracking-only extension for Chrome and Edge.
  3. Parent-app display and weekly-report integration.
  4. Optional: blocking, then Firefox.

Design principle to keep: this is a calm tool - detailed numbers are for parents, kids see only the status icon, and tracking is explained openly rather than hidden.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requesthelp wantedExtra attention is needed

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions