As for fairness, I'd argue that timing it is the only way to ensure it. This way you know that the playing field is level between you and the other candidates applying for the role.
To fun, I'd say that the least fun thing I can think of in this context is spending days wondering whether I had "done enough yet" in order to make my submission stand out ahead of the other applicants. Much more fun to know that as soon as that clock ticks over, what's done is done and I can get on with my life for better or worse.
In my experience on both sides of the desk, a more holistic approach yields better results in the long run. A resume scan, then a review of presented code, then a phone screen to determine communications ability and check some boxes, then a short series of in-person conversations with the team to determine "can we work together?"
Also, all of the existing sites I've seen have one or more of the following problems:
* Make you use their editor * Make you install their software on your computer * Make you use some specific language * Make you use their set of challenges
Takehome uses nothing but git. Whatever you put in the repository and how you get it there is up to you.
That holds true both for the candidate and the challenger. Takehome encourages challengers to create their own task matching the kind of work/language/framework/etc that's relevant to their team.