| 1 |
# Trial Mode for Audiofiles |
| 2 |
|
| 3 |
## Overview |
| 4 |
|
| 5 |
Allow users to use Audiofiles without a license key by clicking a "I am still testing the software" button. A 30-day countdown tracks usage, but never locks the user out. |
| 6 |
|
| 7 |
## Behavior |
| 8 |
|
| 9 |
### Before Day 30 |
| 10 |
|
| 11 |
- On launch (or in a license prompt area), show a button: **"I am still testing the software"** |
| 12 |
- Clicking it dismisses the prompt and grants full access to all features |
| 13 |
- A small, non-intrusive indicator shows days remaining: `Trial: 23 days left` |
| 14 |
- The countdown is based on calendar days since first launch, not usage days |
| 15 |
|
| 16 |
### After Day 30 |
| 17 |
|
| 18 |
- The software continues to work identically — no features are disabled |
| 19 |
- The button text changes to: **"I am still "testing" the software :)"** |
| 20 |
- The days indicator goes negative: `Trial: -4 days` |
| 21 |
- No nag screens, no popups, no degraded experience |
| 22 |
|
| 23 |
## Implementation Notes |
| 24 |
|
| 25 |
### Trial State |
| 26 |
|
| 27 |
- Store `first_launch_date` in local app config (e.g. `~/.config/audiofiles/trial.json` or equivalent platform path) |
| 28 |
- Calculate `days_elapsed = (now - first_launch_date).days` |
| 29 |
- Display `days_remaining = 30 - days_elapsed` (goes negative naturally) |
| 30 |
|
| 31 |
### UI States |
| 32 |
|
| 33 |
|
| 34 |
|
| 35 |
| `days_remaining > 0` | "I am still testing the software" | `Trial: {n} days left` | |
| 36 |
| `days_remaining <= 0` | "I am still \"testing\" the software :)" | `Trial: {n} days` | |
| 37 |
|
| 38 |
### License Key Integration |
| 39 |
|
| 40 |
- If a valid MNW/SyncKit license key is entered, the trial indicator and button disappear entirely |
| 41 |
- Trial mode and licensed mode are mutually exclusive display states — the underlying functionality is identical |
| 42 |
- This serves as a tech demo for MNW/SyncKit license key validation, not as actual DRM |
| 43 |
|
| 44 |
### What This Does NOT Do |
| 45 |
|
| 46 |
- Does not disable any features |
| 47 |
- Does not lock the user out |
| 48 |
- Does not phone home or enforce anything server-side |
| 49 |
- Does not reset or tamper-proof the trial date (if someone deletes the config, they get another 30 days — that's fine) |
| 50 |
|