Files
sp80/.planning/research/FEATURES.md

11 KiB

Feature Research

Domain: RTU/IoT Rainfall Monitoring Web Interface
Researched: 2026-03-13
Confidence: HIGH

Feature Landscape

Table Stakes (Users Expect These)

Features users assume exist. Missing these = product feels incomplete.

Feature Why Expected Complexity Notes
Real-time rainfall display Core purpose of RTU LOW Current values: Today, Hourly, Monthly Acc, Yearly Acc. Must update without page refresh
Power monitoring (Solar/Battery voltage) Field devices run on solar/battery LOW Critical for maintenance scheduling. Color-coded warnings for low voltage
Station identification Multiple stations in field LOW Station ID, coordinates, serial number visible on all screens
Date/time display Data timestamping essential LOW Large, readable format. Sync status indicator
Communication status Remote stations need connectivity visibility LOW GPRS/Network connection state, last sync timestamp
Historical data viewing Rainfall analysis requires trends MEDIUM Time-series charts (24h, 7d, 30d, 1y views). Essential for hydrology analysis
Device configuration Field calibration necessary MEDIUM Settings for rainfall parameters, ADC channels, thresholds
Data export External analysis required MEDIUM CSV download for integration with hydrology software
Alarm indicators Critical thresholds need attention LOW Visual/audible alerts for high rainfall, low battery, communication loss

Differentiators (Competitive Advantage)

Features that set the product apart. Not required, but valuable.

Feature Value Proposition Complexity Notes
Touch-optimized 7" UI Purpose-built for 1024x600 industrial touchscreens MEDIUM Larger touch targets (44px+), finger-friendly navigation, no hover-dependent features. Most competitors use desktop-oriented interfaces
Dual-mode display Single codebase serves both local kiosk and remote PC users MEDIUM 1024x600 optimized layout vs responsive Full HD. Unique value proposition
Sub-1-second refresh Near real-time monitoring for critical events MEDIUM WebSocket or Server-Sent Events. Faster than typical 5-30s polling intervals
Offline data buffering Field connectivity is unreliable HIGH Local storage sync when connection restored. Differentiates from cloud-only solutions
Minimal dependencies Runs on Pi Zero 2 W with limited resources MEDIUM Small bundle size, fast load times. Competitors often resource-heavy
One-touch calibration Simplified field maintenance MEDIUM Guided calibration wizard vs manual parameter entry
Compact settings navigation 11 settings categories in small space MEDIUM Efficient category grouping, breadcrumbs, search. Reduces navigation depth

Anti-Features (Commonly Requested, Often Problematic)

Features that seem good but create problems.

Feature Why Requested Why Problematic Alternative
Mobile app "Everyone wants mobile" Adds complexity, separate codebase, app store overhead Responsive web interface works on all devices, no installation
Cloud data storage "Put it in the cloud" Adds cost, connectivity dependency, latency, security concerns Local storage + FTP/SCP/SFTP/WebDAV push to customer's own infrastructure
Real-time 3D visualizations "Looks impressive" Heavy on Pi Zero 2 W resources, adds no analytical value Clean 2D charts with efficient rendering
Multi-touch gestures "Modern interaction" Error-prone with gloved hands, small screen, outdoor use Simple tap interactions, large buttons
Voice control "Hands-free operation" Unreliable in outdoor/industrial noise, adds complexity Physical buttons for critical operations
Social sharing "Share data easily" Security risk, irrelevant for industrial monitoring Secure export to authorized systems only
Predictive analytics/AI "Smart insights" Overkill for rainfall monitoring, complex to implement Simple threshold-based alerts with trend indicators

Feature Dependencies

[Real-time Data Display]
    └──requires──> [API Integration Layer]
                        └──requires──> [Authentication]
    └──requires──> [WebSocket/SSE Connection]

[Historical Charts]
    └──requires──> [Data Storage/Retrieval]
    └──requires──> [Time Range Selection]
    └──enhanced_by──> [Data Aggregation]

[Data Export]
    └──requires──> [File Management]
    └──requires──> [CSV Processing]

[Alarm System]
    └──requires──> [Real-time Data Display]
    └──requires──> [Threshold Configuration]
    └──conflicts_with──> [Frequent Polling] (performance)

[Dual-Mode Display]
    └──requires──> [Responsive Layout System]
    └──requires──> [Viewport Detection]

[Touch Optimization]
    └──conflicts_with──> [Hover-Dependent Features]
    └──requires──> [Minimum Touch Target Sizes]

Dependency Notes

  • Real-time Data requires API Integration: Must implement REST/HTTP API client before live data display works. Currently blocked by mock data throughout.
  • Historical Charts requires Data Storage: Need backend data persistence with time-series queries. SQLite or similar for Pi-based deployment.
  • Alarm System conflicts with Frequent Polling: Too many updates can cause performance issues on Pi Zero 2 W. Use WebSocket push instead of polling.
  • Touch Optimization conflicts with Hover Features: Dropdown menus on hover won't work on touchscreens. Use explicit tap interactions.
  • Data Export requires File Management: Flash memory view already exists but needs integration with CSV export workflow.

MVP Definition

Launch With (v1)

Minimum viable product — what's needed to validate the concept.

  • Dashboard with live rainfall display — Core value proposition; shows Today's rainfall, Hourly, MAR Acc, Yearly Acc with real-time updates
  • Solar/Battery voltage monitoring — Essential for field operations; power management is critical for remote stations
  • Station info header — Context awareness; station ID, time, date, comm status visible on all screens
  • Historical chart (24-hour) — Basic trend analysis; minimum viable for hydrology use cases
  • Key settings categories — Field configuration; Rainfall, ADC, Network, GPRS settings
  • CSV data export — External integration; download for analysis in external software

Add After Validation (v1.x)

Features to add once core is working.

  • Extended time ranges — 7-day, 30-day, 1-year charts; trigger: users requesting longer historical views
  • Alarm threshold configuration — Custom alerts; trigger: need for site-specific thresholds
  • Full settings suite — Remaining 7 settings categories; trigger: advanced configuration needs
  • Calibration wizard — Guided sensor calibration; trigger: field maintenance feedback
  • Network protocol options — FTP/SCP/SFTP/WebDAV; trigger: customer infrastructure requirements

Future Consideration (v2+)

Features to defer until product-market fit is established.

  • Multi-station dashboard — Aggregate view of multiple RTUs; defer: single-station focus for MVP
  • Advanced analytics — Rainfall intensity, accumulation rates; defer: complex, niche use cases
  • Remote configuration API — Third-party integration; defer: customer demand validation needed
  • Offline mode with sync — Buffer data during outages; defer: adds significant complexity

Feature Prioritization Matrix

Feature User Value Implementation Cost Priority
Real-time rainfall display HIGH LOW P1
Solar/Battery monitoring HIGH LOW P1
Station info header HIGH LOW P1
24-hour historical chart HIGH MEDIUM P1
Basic settings (4 categories) HIGH LOW P1
CSV export MEDIUM MEDIUM P1
Touch optimization HIGH MEDIUM P2
Dual-mode display HIGH MEDIUM P2
Extended time ranges MEDIUM LOW P2
Alarm thresholds MEDIUM MEDIUM P2
Full settings suite MEDIUM LOW P2
Calibration wizard MEDIUM MEDIUM P2
Network protocols MEDIUM HIGH P3
Multi-station view LOW HIGH P3
Advanced analytics LOW HIGH P3
Offline sync MEDIUM HIGH P3

Priority key:

  • P1: Must have for launch
  • P2: Should have, add when possible
  • P3: Nice to have, future consideration

Competitor Feature Analysis

Feature Traditional SCADA Cloud IoT Platforms Our Approach
Display optimization Desktop-oriented, small touch targets Web-based, responsive but not touch-first Purpose-built for 7" 1024x600 touchscreens
Real-time updates 5-30 second polling typical WebSocket streaming Sub-1-second updates optimized for Pi hardware
Deployment model On-premise servers, expensive licenses Cloud subscription, connectivity dependent Edge computing on Pi, local-first architecture
Configuration UI Complex, multi-level menus Generic dashboards, not sensor-specific Streamlined settings for rainfall monitoring
Data ownership Customer-controlled Vendor cloud storage Customer infrastructure via FTP/SCP/etc
Hardware requirements Industrial PCs, high cost Minimal (cloud handles processing) Raspberry Pi, low cost, low power
Mobile support Separate mobile apps or limited Responsive web apps Responsive web, same codebase for all devices

Competitive Positioning

Traditional SCADA (e.g., Wonderware, Ignition, WinCC):

  • Strengths: Mature, feature-rich, industrial-grade reliability
  • Weaknesses: Expensive, complex, resource-heavy, not optimized for small touchscreens
  • Our advantage: Purpose-built for rainfall monitoring, cost-effective, touch-optimized

Cloud IoT Platforms (e.g., ThingsBoard, AWS IoT, Azure IoT):

  • Strengths: Scalable, modern tech, managed infrastructure
  • Weaknesses: Connectivity dependency, ongoing costs, data in third-party cloud
  • Our advantage: Edge-first, works offline, customer controls data

Embedded HMI Panels:

  • Strengths: Purpose-built for industrial touch, reliable
  • Weaknesses: Proprietary, limited customization, expensive per-unit
  • Our advantage: Open platform, customizable, runs on commodity hardware

Sources

  • ThingsBoard IoT Dashboard Documentation (thingsboard.io/docs/user-guide/dashboards/) — Dashboard patterns for IoT devices
  • Grafana Dashboard Best Practices (grafana.com/docs) — Time-series visualization patterns
  • Inductive Automation HMI Resources (inductiveautomation.com) — Industrial HMI design principles
  • Existing codebase analysis: 16 view components in sample_interface/src/app/components/views/
  • Project requirements from .planning/PROJECT.md — Validated requirements and constraints
  • Industrial touchscreen UX research — 44px minimum touch targets, no hover states
  • Raspberry Pi Zero 2 W specifications — Performance constraints guide feature scope

Feature research for: RTU Rainfall Monitoring Interface
Researched: 2026-03-13