Current: Scanner process works atomically. Document is scanned in full, then imported into the data store.
Problem: User must wait for the entire scanning process to complete before seeing results.
Goal: Scanner should update data store incrementally as soon as data becomes available.
Implementation: Create a builder interface for composing document. Scanners send detected data to the builder. The builder updates the data store. View controller observes the data store and updates the view when the data store changes.
Current: Scanner process works atomically. Document is scanned in full, then imported into the data store.
Problem: User must wait for the entire scanning process to complete before seeing results.
Goal: Scanner should update data store incrementally as soon as data becomes available.
Implementation: Create a builder interface for composing document. Scanners send detected data to the builder. The builder updates the data store. View controller observes the data store and updates the view when the data store changes.