I mean, that doesn't have to be how it works. You can have a both fixed amount of time, and the ability for a candidate to work in whatever environment they want.

Of course, and if you want to do that, I've got no complaints. What we want is to eliminate pressure and scheduling inconvenience. We're also not unhappy to meet people who are not necessarily experts in our problem domain, but capable enough programmers that they can ramp up given a bit of extra time. I don't feel the slightest bit bad creating that affordance, so long as you can meet the rubric if you're an experienced professional in the time we allot.