Depth of the pane and the tool
The site states that a stereo pair at human-eye spacing makes depth recoverable from every frame pair, so the pane, the pole applicator and the squeegee sit in the same frame as the hands.
Now recruiting capture teams worldwide. Get paid to record first-person video of real work.
Apply to captureTask family
Why stereo and MCAP here
The site states that a stereo pair at human-eye spacing makes depth recoverable from every frame pair, so the pane, the pole applicator and the squeegee sit in the same frame as the hands.
A squeegee or applicator is held and guided by the hands. 3D hand pose carries a per-joint visibility flag, so a finger hidden behind a handle is flagged as hidden rather than silently guessed.
Wetting, pulling the water off, cleaning interior or exterior glass and polishing edges are different operations. Streams are hardware-triggered onto one clock with a 2.0 ms cross-stream ceiling, and action segments carry start, end, verb and noun as the skill spec defines them.
MCAP stores multiple channels of timestamped, pre-serialized data, so a stereo pair, hand pose and IMU can share one file on one log-time axis. Which streams go in the file is set in the skill spec.
Definition
It is first-person video of a person cleaning windows and glass, recorded from their own point of view with two calibrated cameras and with hand pose and sensor streams alongside. The tasks are the two rows the site’s catalog lists for it in Commercial Cleaning & Janitorial. Stereo describes the capture, and MCAP describes the container. They are separate choices.
The site does not state that stereo is already running on these rows. The catalog lists a head-mounted phone or a multiview rig as the capture setup, and a stereo pair is a capture choice agreed in the skill spec and confirmed on a Spec Pilot. The data is human capture by paid, consented contributors, not robot or teleoperation data. Firsthand is not affiliated with Foxglove or the MCAP maintainers.
Catalog rows
Two, both in the Commercial Cleaning & Janitorial environment under the Facilities & Cleaning sector, and both rated Medium. "Wash and squeegee windows using extension poles and squeegees" is described as wetting windows with a pole applicator and pulling the water off with a squeegee, and is listed as Active collection. "Window & Glass Cleaning" is described as cleaning interior and exterior glass with applicators and squeegees and polishing edges, and is listed as Ready to deploy.
Both rows list a head-mounted phone or a multiview rig as the capture setup. The first table below reproduces them as the catalog states them. This page names only the tools, parts and steps that appear in those rows: extension poles, pole applicator, applicators, squeegees, interior and exterior glass, wetting, pulling the water off and polishing edges.
Difference
The egocentric window cleaning page covers the same two catalog rows and describes the capture as first-person video with ten streams, delivered in RLDS, LeRobot or WebDataset. The stereo floor mopping page and the stereo floor stripping and waxing page cover floor-care rows and do not list the window rows.
This page is the stereo and MCAP treatment of just the two window and glass rows. It does not repeat the catalog narrative of the egocentric page or any floor steps. The comparison table below sets the pages side by side.
Why stereo
Window cleaning is about the state of a pane: where it has been wetted, where the water has been pulled off, which edge is left to polish. A stereo pair recovers depth from the calibrated frame pair rather than from a standalone depth sensor, so the pane and the tool share a frame with the hands. The site gives no depth accuracy figure and no label for how clean a pane is, so whether wet or cleaned glass is resolvable in depth is Not stated.
The hard-environments page states that stereo keeps working outdoors where active depth sensors struggle, and that many programs capture both and sync them on one clock. The catalog rows list interior and exterior glass, but the site does not say where any batch is captured, so the setting is agreed in the spec.
Capture setup
The site describes two stereo setups and does not say which one a window order uses. The hard-environments stack is a global-shutter 4K/60 head camera with a 120° lens, two 1080p/60 wrist cameras, a depth sensor at 848×480 and 30 fps, and 200 Hz 6-DoF IMUs. The off-the-shelf stereo head rig, dataset 06, is dual fisheye cameras at 1080p per eye, a 62 mm baseline, per-unit calibration, a 9-axis IMU and hand-tracking output.
Which rig, resolution and streams a window order uses is Not stated on the site, and the third table below sets what is stated beside what is not. Intrinsics and extrinsics are re-solved at the start and end of every session, and streams are hardware-triggered onto one clock with a 2.0 ms cross-stream ceiling.
MCAP
MCAP is an open source container file format for multimodal log data, supporting multiple channels of timestamped pre-serialized data. It is serialization-agnostic, so messages can be Protobuf, DDS (CDR), ROS, JSON and more. Its design is row-oriented and append-only, it stores schemas alongside the data, and it offers an optional index plus optional LZ4 or Zstandard chunk compression.
Reader and writer libraries exist for C++, Go, Python, Rust, Swift and TypeScript, and the mcap CLI can inspect, merge and split files. The foxglove/mcap repository is MIT-licensed; that is the MCAP project’s licence, not the licence of a Firsthand delivery. The MCAP hub page and the glossary entry cover the format in full.
Streams
Firsthand offers MCAP delivery, and dataset 06 is stated as shipping as MCAP. For glass work the site states hand pose, a stereo-derived depth stream, IMU, contact events, action segments and per-frame instance masks elsewhere. What it does not state is which of those are channels in an MCAP file, how they are named, what encoding they use or at what rate.
No topic name, message schema or rate is stated on this page, and none should be assumed. Name the streams that matter in the skill spec and confirm them on a Spec Pilot batch. The fourth table below sets each stream beside what the site states about it.
Failure modes
Hands are the first risk. A squeegee handle sits in the fist and an applicator or pole can hide the fingers, so the contact point is often hidden. The visibility flag on each joint is the answer the site gives, and contact events mark when a hand or tool meets an item. A spec can also ask for wrist views, so a grip the head camera loses is still recorded.
Depth is the second. The site says depth degrades on wet and reflective surfaces and masks low-confidence regions with per-frame confidence maps, and an episode is rejected when more than 35 percent of depth pixels in the manipulation region are invalid. A freshly wetted window is a wet surface, but the site does not say how depth behaves on glass, so this page promises no figure.
Calibration is the third, because stereo depth is only as good as the rectification behind it: calibration is measured at the start and end of every session under a 0.28 px RMS gate. An episode is also rejected when the manipulated object is out of frame for more than 15 percent of it or an undocumented bystander appears, and a reject log ships with every batch.
Privacy
Commercial buildings are shared spaces, so bystanders matter, and glass can show people on the other side. For every delivered episode the site states that faces, plates and screens are blurred irreversibly and that footage that cannot be de-identified is discarded. Blurring of signage or text seen through glass is not stated, so raise any such need before the spec is signed.
The site states no contributor safety protocol, no height, rope-access, ladder or lift setup, no guidance on cleaning products and no certification for any window row, so this page describes none. Capture at your own facility is listed as not offered.
Scale
Off-the-shelf covers what is already in stock: the stereo category lists the stereo datasets and hand-tracking video, and only dataset 06 is stated as MCAP. This page does not claim off-the-shelf coverage of the window rows. Custom collection covers the rest: custom collection at scale through a network of thousands of capture providers, for a consistent, recurring data flow to labs.
Where coverage is deep, the median time from signed spec to first validated batch is a median of 48 hours; where it is thin, turnaround runs three to four weeks. The site does not say which applies to these rows, so ask when you request the quote. Collections are billed per validated hour.
Ordering
Describe the tool, the glass, the setting and the steps in order, what counts as one completed pass, and the variation your pipeline is missing. Then name the streams you want in the file, the topic naming and message encoding your reader expects, whether calibration ships inside the file or beside it, and whether MCAP is the only delivery or sits beside RLDS, LeRobot or WebDataset.
Most programs begin with a Spec Pilot, a small first batch that proves the spec and accept criteria on real footage before you scale. The fifth table below shows what each spec element decides.
At a glance
Every collection runs through the same seven-stage end-to-end custom collection pipeline. End-to-end custom data collection is a managed service that takes an AI data need from problem to owned dataset in a single accountable pipeline.
Catalog rows
| Task (as listed) | Description (as listed) | Environment | Skill | Capture setup | Status |
|---|---|---|---|---|---|
| Wash and squeegee windows using extension poles and squeegees | Wet windows with a pole applicator and pull the water off with a squeegee. | Commercial Cleaning & Janitorial | Medium | Phone (head-mounted) / multiview rig | Active collection |
| Window & Glass Cleaning | Clean interior and exterior glass with applicators and squeegees and polish edges. | Commercial Cleaning & Janitorial | Medium | Phone (head-mounted) / multiview rig | Ready to deploy |
Compared pages
| Page | Rows it covers | Treatment of the window rows |
|---|---|---|
| This page: stereo window and glass cleaning data | The two window and glass rows | Stereo pair and MCAP delivery, stream map and failure modes for these rows only |
| Egocentric window cleaning data | The same two window and glass rows | Egocentric catalog treatment, ten streams; delivery in RLDS, LeRobot or WebDataset |
| Stereo floor mopping data | Nine floor-care rows, mopping first | Not covered |
| Stereo floor stripping and waxing data | The two strip-and-wax rows | Not covered |
Stated vs not stated
| Item | What the site states | For a window order |
|---|---|---|
| Catalog capture setup | Phone (head-mounted) / multiview rig on both rows | A stereo pair is a spec choice; not stated on the rows |
| Stereo head rig (dataset 06) | Dual fisheye, 1080p per eye, 62 mm baseline, per-unit calibration, 9-axis IMU, hand-tracking output; shipped as MCAP | Whether a window order uses it: Not stated |
| Hard-environments stack | 4K/60 head camera, 120° lens; two 1080p/60 wrist cameras; depth 848×480 at 30 fps; 200 Hz 6-DoF IMU | Whether a window order uses it: Not stated |
| Depth on wet and reflective surfaces | Degrades; per-frame confidence maps mask low-confidence regions | Stated; behaviour on glass is Not stated |
| Calibration | Measured every session and shipped with the episode; 0.28 px RMS reprojection gate | Stated |
| Synchronization | Hardware-triggered onto one clock; 2.0 ms cross-stream ceiling | Stated |
| Hand pose | 21 joints per hand with a per-joint visibility flag | Stated |
| Glass type, pane size or count, working height, access method, cleaning products, force data, safety or certification | Not stated; the rows say extension poles, pole applicator, applicators, squeegees, interior and exterior glass and polishing edges only | Agreed in the skill spec, or not claimed on this page |
| MCAP topics, schemas, rates | Not stated | Agreed in the skill spec |
Stream map
| Stream or item | What the site states | In an MCAP delivery, as the site states it |
|---|---|---|
| Stereo pair | Dual fisheye, 1080p per eye, 62 mm baseline (dataset 06) | Dataset 06 is stated as shipped as MCAP; channel layout not stated |
| Depth with confidence maps | Recovered from the calibrated stereo pair; confidence map masks low-confidence regions | Not stated |
| Hand pose | 21 joints per hand with a per-joint visibility flag | Channel layout and joint order not stated |
| IMU | 9-axis (dataset 06); 6-DoF at 200 Hz (hard-environments stack) | Channel layout and rate not stated |
| Contact events, action segments, instance masks | Listed in the site’s episode schema; masks stored at 848×480 | Not stated |
| Task instruction | One per episode | Not stated |
| Calibration | Measured every session and shipped with the episode | Placement in the file not stated |
| Topic names, schemas, encoding, rates | Not stated | Agreed in the skill spec |
Skill spec
| Spec element | What it decides | Where it shows up |
|---|---|---|
| Step and order | What one step is: wet, pull the water off, clean interior glass, clean exterior glass, polish edges | Episode boundaries and action segments; set per program |
| Which row | The pole-and-squeegee row or the Window & Glass Cleaning row | Set per program; both are Medium |
| Episode boundary | One pass, one pane or one full cleaning of a window | Set per program; the site does not state an episode length |
| Rig and streams | Stereo pair, wrist views, hand pose, IMU and any others | The channels you can read; confirm on the Spec Pilot |
| MCAP topics and encoding | What your reader expects | Set per program |
| Calibration delivery | Inside the file or beside it | Set per program |
| Delivery format | How the data is packaged | MCAP alone, or beside RLDS, LeRobot, WebDataset, HDF5 or zarr |
| Accept criteria | What passes QA | Reject log per batch |
| Privacy | How people in frame are protected | Faces and screens blurred at ingest |
| License | Who owns the dataset | Perpetual, irrevocable, buyer-owned, non-exclusive by default |
Example footage
Two real clips already published on this site. The first is a household chores clip of an operator carrying a cordless vacuum down a staircase into a living room, the nearest cleaning clip hosted on the site. The second is a format and rig example: a head-mounted stereo capture with hands in frame. Neither shows window or glass cleaning.
The stereo + wrist-cam examples page lists a 12-minute commercial cleaning recording, "Cleaning with a mop", described as including window work. It is hosted there as a full recording, the site does not say where the window work falls in it, and it is not embedded here. Request a sample to see delivered files. See stereo sample page, stereo + wrist-cam example videos (includes a commercial cleaning clip), request an egocentric data sample.
FAQ
Sources
Tell us the tool, the glass, the setting, the steps and their order, the streams you want in the file and whether MCAP sits alone or beside a training format. We will quote reach, timeline and price against a written spec, with a first validated batch in a median of 48 hours where coverage is deep.