Files
rtu_v5/.planning/research/FEATURES.md

192 lines
11 KiB
Markdown

# 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*