we originally tried a "real-time" model and only asked for an email once the report was ready -- but this turned out to still be too slow and caused the user to wait too long. asking for the email upfront is our way of setting expectations on when they can receive the report.