Evaluation Scripts
Platform-Specific Testing Procedures
Follow these standardized test workflows on each platform to verify UX fidelity, error handling, and cross-platform consistency:
-
Step 1
Onboarding to Trial: Click "Start free trial" on Screen 1. Accept the Google Play VPN Disclosure on Screen 2, enter any dummy email on Screen 3, and confirm the 5-day trial screen on Screen 4.
-
Step 2
3-State Connection: Tap the large 120px circular power button on Screen 5. Observe the 1.4s connecting pulse transition to green "Protected & Secured" with duration timer and live Dhaka IP masking.
-
Step 3
Locations & Latency: Tap "Locations" in the bottom nav (Screen 8). Search for "Tokyo", click the Japan card to switch server, and observe the Home screen updating immediately.
-
Step 4
Paywall Plans: Tap the trial badge on Home. On Screen 11, toggle between "Yearly plans" and "Monthly plans" to verify 2-Year ($2.22/mo), 1-Year ($2.86/mo), and 6-Month ($4.17/mo) pricing.
-
Step 1
Appearance & Mode Toggles: Switch between Light and Dark themes. Toggle between iPhone (390×844) and iPad Sidebar (820×620) modes.
-
Step 2
Dynamic Island Interaction: When connected, tap the Dynamic Island pill at the top of the iPhone frame. Watch it expand into a Live Activity card showing live ping and data throughput.
-
Step 3
App Store 5.4 Disclosure: Navigate to Security → Split Tunneling and tap "Learn More" to review the strict Apple App Store Guideline 5.4 VPN regulatory modal.
-
Step 4
Apple Account Deletion: In Account, tap "Delete Account". Observe the required Apple StoreKit guideline requiring the user to type uppercase DELETE to confirm.
-
Step 1
D-Pad Spatial Navigation: Use physical arrow keys (↑ ↓ ← →) or the virtual remote. Observe the 1.08× scale focus ring and synthesized Web Audio clicks.
-
Step 2
Streaming Carousel: Press ↓ to move to the "Recommended for Streaming" row. Notice the top status header stays locked in view without clipping. Press Enter on Canada to switch.
-
Step 3
QR Smartphone Pairing: Jump to Screen 12 (QR Sign-in). Observe the 15-minute countdown clock designed for quick phone camera login without a TV keyboard.
-
Step 4
Overscan Compliance: Click "Toggle Safe Margins (48×27)" to verify TV broadcast overscan clearance.
-
Step 1
Menu-Bar Popover (Screen 16): Click the shield icon in the top right system tray. Test one-tap connection and protocol badge from the 320px compact popover.
-
Step 2
Desktop Shortcuts: Press ⌘K to toggle connection, ⌘F to focus search, ⌘R to re-ping all servers, and ⌘, to open Preferences.
-
Step 3
Sortable Server Table: Open the 920×620 window (Screen 17). Click table column headers (Location, City, Protocol, Ping) to sort dynamically.
-
Step 4
Preferences Modal (Screen 18): Inspect General (Launch at Login), Protocol options (WireGuard, AnyConnect, OpenVPN, V2Ray), and Kill Switch protection.
Input Reference
Platform Shortcuts & Hardware Key Mappings
Comprehensive quick reference for keyboard interactions supported across the desktop and TV prototypes:
| Platform |
Input Shortcut |
Action Triggered |
Scope |
| Android TV |
↑ ↓ ← → |
2D Spatial focus movement with Euclidean weighting |
Global TV Viewport |
| Android TV |
Enter / Space |
Activate focused element / Click OK |
Focused Element |
| Android TV |
Esc / Backspace |
Hardware Back key / Dismiss modal |
Global Modals & Sub-views |
| macOS |
⌘K (or Ctrl+K) |
Toggle VPN Connect / Disconnect state |
Global Window & Popover |
| macOS |
⌘F (or Ctrl+F) |
Instant focus on Server Search input field |
Main Window (Screen 17) |
| macOS |
⌘R (or Ctrl+R) |
Re-ping all 12 servers with simulated jitter |
Server Table & Quick Lists |
| macOS |
⌘, (or Ctrl+,) |
Open Preferences / Settings modal window |
Screen 18 |
| macOS |
Esc |
Close Preferences modal or dismiss Popover |
Active Popover / Modal |
Edge Cases
How to Trigger Simulated Edge States
Each prototype includes dedicated sidebars with state-testing triggers to test graceful degradation without altering your local network:
📡
Offline Network State
Simulates loss of internet connectivity. Demonstrates persistent offline warning banners and auto-reconnect fallback queues.
⚠️
Handshake Error
Simulates WireGuard tunnel negotiation timeout. Shows error banner with one-click protocol failover suggestions.
⏳
Day 4 Trial Ending
Simulates the urgent warning banner displayed on day 4 of the 5-day free trial, routing reviewers directly to the paywall.
🔒
Free Quota Soft Limit
Demonstrates post-trial soft limit modal restricting non-paying accounts to 3 free locations and offering upgrade discounts.
✨
Loading Shimmer Skeletons
Renders high-fidelity CSS shimmer skeletons simulating slow network payload retrieval for server lists and metadata.
📐
TV Safe Margin Guides
Overlays 48px horizontal and 27px vertical broadcast overscan guide boundaries on the Android TV 960×540 viewport.