getodk / getodk/web-forms

Video question type - recording implementation

Open
#696 0 comments 0 reactions 0 assignees View on GitHub
needs ui/ux design
Dominant language
TypeScript
Stars
38
Forks
22
PR merge metrics
No merged PRs in 30d

Description

### Description

Implement the `video` question type ([specs](https://docs.getodk.org/form-question-types/#video-widgets)). This implementation focuses on enabling video recording via the device camera and external applications.

Technical research required:

* **Video quality control:** Investigate the feasibility of a `video-quality` appearance (similar to `audio-quality`) to provide presets like `low`, `normal`, and `high` for managing file size.
* **Background recording:** Research implementation of the `background` appearance to allow continuous video capture while navigating the form.
* **Widget interface:** Explore options for a standard interface with integrated controls for recording, playback, and replacement

---

### Checklist
- **Does it need UI/UX design?**
- [x] Yes. Describe the UI/UX requirements or attach a Figma link in the "Design" section.
- [ ] No
- **Does it need API design?**
- [x] Yes. Specify the endpoints, methods, or data structures needed.
- [ ] No
- **Does it need design around state flow?**
- [ ] Yes. Outline the state flow requirements.
- [ ] No
- **Does it need a test plan?**
- [x] Yes. Add the test plan as a comment in this task or attach the document.
- [ ] No
---

### User Stories

* As a data collector, I want to record video directly within the form so that I can provide visual evidence for my observations.
* As a form designer, I want to set video quality levels to optimize data usage for different connectivity environments (pending research).
* As a researcher, I want to enable background video recording to capture the interview context automatically (pending research).
* As a user, I want to preview recorded video within the widget to ensure it is clear and relevant before submitting the form.

---

### Design

- **Figma**: [Insert URL]
- **Design Docs**: [Insert URL]

---

### Related Issues

- https://github.com/getodk/web-forms/issues/702

Contributor guide

No contributing guide indexed for this repository

Research direction

No implementation files, tests, or entry points are named. Start by reviewing the ODK video question specification and related issue 702, then clarify the UI/UX, API, quality, background-recording, and test-plan requirements; done means those decisions are documented and the recording, playback, replacement, and external-application flows are implemented and tested.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
audio-video-rtc, frontend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.