CPSKIT / BLOG

How to Read and Share Your Exported CPSKit Report

Your CPSKit report contains saved runs, their results, completion status and recorded browser environment. Open History in the header, then choose Copy report, Print / save PDF or Export JSON. Paste the text or attach the saved file yourself. These actions cover the current local History, which can include several tools and sessions; they do not select only your latest attempt.

For a CPS test, the saved record includes accepted clicks, selected duration, input type and, for a completed run, CPS. Share those together, add your device details and attempted run count, and keep interruption labels visible. An interrupted run has no valid score and must not enter a scored comparison.

Read the fields before comparing results

Copied text starts with the report title, method version, generation time, environment and a limitation note. Runs follow newest first, separated into fields with vertical bars. JSON preserves structured records; the printed History uses a shorter visible layout. Optional fields depend on the tool, so every row need not contain every field.

Report fieldMeaningHow to read it
Generated / generatedAt; run dateExport time versus the time a run was saved; ISO timestamps in text and JSON.A freshly exported report can contain older runs. Printed History displays local date/time.
Tool and inputThe test name and its recorded input type.CPS accepts mouse, touch or pen. This does not identify a mouse model or distinguish a trackpad.
completed / interrupted; validThe text status and its JSON boolean.Only completed runs belong in score comparisons. Interrupted does not mean a zero score.
sample / sampleSizeFor CPS and CPM, the number of accepted clicks.The first click counts. This is a sample count within one run, not the number of attempts.
summary; seconds; scoreCPS summary gives clicks, duration and CPS; JSON also saves seconds and a valid score.Seconds is the selected duration, even for an interrupted run, not elapsed time at interruption.
Environment / envBrowser family and major version, OS category and pointer category when recorded.The header uses the newest run's environment. Read per-run environments in text or JSON for differences.
reasonAn interruption explanation when saved.Keep it alongside the status; do not turn a partial click count into a completed score.
threshold, direction, flaggedOptional settings and observation flags used by other checks.These are not CPS grades. A missing flag is not proof that hardware passed a check.
Method version; idThe method label is browser-v1.0; JSON also retains each record's generated ID.An ID identifies a saved record, not a person or a public sharing URL.

Final CPS divides accepted clicks by the full selected duration. The clicks-per-minute test multiplies that rate by 60: its readable summary rounds to whole CPM, while JSON keeps the numeric score before that rounding. CPM from a short run is not evidence of a full minute of clicking. The measurement method explains the broader limits of browser observations.

A report excerpt from the tests

Example data, not real user data (示例数据,非真实用户数据). This exact fragment is checked in history.test.ts, using an interrupted drag-check fixture:

interrupted | reason: Release intention uncertain.

It is an excerpt, not a complete run line or a CPS result. The reason belongs to that fixture; CPS interruptions can instead record window focus loss, a hidden tab or canceled pointer input. Preserve the actual wording from your report rather than replacing it with this example.

Choose one of the three export methods

ActionWhat it doesUseful for
Copy reportWrites the readable report to your clipboard, including saved runs and cross-run comparison.Pasting into notes or a message. If copying fails, the notice suggests Print / save PDF.
Print / save PDFOpens the browser's print dialog for the open History view; print styles hide the page and action buttons.A readable attachment or paper copy. Choose PDF if offered by your browser/system; check the preview.
Export JSONDownloads cpskit-report.json with report metadata, comparison and the saved runs array.Keeping structured records or processing them with your own script or compatible data tool.

Copy and JSON export are disabled when History is empty. The printed view is not an exact copy of the text report: it shows run summaries and selected details, rather than every structured field. Use text or JSON when you need per-run environment details. JSON uses schema cpskit-observation-report, version 2. CPSKit does not offer CSV export, chart export or a dedicated result-sharing link.

Share or submit a comparison someone can understand

  1. Keep the tool, duration, unit, input type and completion status with each result. Compare equal durations and the same input setup.
  2. Add the device, mouse or trackpad, button mapping and clicking technique yourself. Recorded pointer categories such as fine or coarse are not a device inventory. Keep the browser label, and add the full version yourself if your comparison needs it.
  3. State how many attempts you made, how many completed and how many were interrupted. Exclude interrupted attempts from scores, but disclose them and any replacement runs. Do not silently keep only your favorite completed attempt.
  4. Review the whole export before sending: History may contain unrelated sessions. Keep an original copy; label any shared subset and explain omissions so the recipient knows what they are comparing.

Mixed-tool histories need context too. For a keyboard observation, use the key-checker reading guide or the spacebar check guide to describe the test you performed. Do not read every tool's sample count or summary as a click-speed score.

Local storage and sharing privacy

History stores up to 30 recent runs across tools in this browser's localStorage. New entries replace the oldest beyond that limit. Clearing site data or using Clear all historyremoves the saved history. If storage is unavailable, a CPS result can appear on screen with a notice that it was not saved.

Copying, printing and JSON downloading happen when you trigger their buttons; those handlers do not upload the report. Sending the text or file is your separate action. Check timestamps, environment details and any notes you add before sharing. This describes the History/export feature, not a claim about every network request made by the site.

Avoid two common report misreadings

A single best run is a peak, not the middle of a session. Calculate a median from completed, comparable runs in your own notes; History does not calculate a CPS session median. Follow the previous guide on tracking click speed and comparing fairly for a repeatable recording routine.

Cross-run comparison counts flagged observations among completed runs, grouped by tool, threshold, direction, input and environment. It does not group by CPS duration or calculate speed trends. Its wording about observations being reproduced is not a hardware certificate or a claim that your CPS improved.

Frequently asked questions

Why are some runs marked interrupted?

A CPS run stops when the window loses focus, the tab becomes hidden or pointer input is canceled. Read its saved reason. Interrupted CPS runs retain duration and click count but save no score; start a fresh run when ready.

What can I do with JSON?

Archive it or process its saved fields outside CPSKit. CPS records contain summary data, not individual click timestamps or the per-second chart's buckets, so JSON cannot replay the click timing.

How many runs does History keep?

Up to 30 total, including completed and interrupted runs across tools. Export before older entries are replaced if you need a longer record.

Will my history follow me to another browser or device?

No. CPSKit does not sync History across browsers or devices. Export from the original browser to keep a copy you can read elsewhere.

Can I import an exported report back into CPSKit?

No report-import feature is available. Keep exports as external records; downloading JSON does not create a restore point inside History.

← All posts

Your recent tests

Up to 30 runs on this browser. Clearing site data also removes them.

No completed or interrupted runs saved yet. Start with a quick test.