Strictly timeboxed tasks ensure candidates don't feel pressured to devote silly amounts of time to interview coding exercises.
Test people with the tools they're familiar with, in an environment they're comfortable in.
Takehome is the best way to conduct technical screening, regardless of whether you share an office or not.
(Takehome handles the first bits. Those last two are up to you.)
Takehome clearly and strictly limits the amount of time allowed for a challenge.
Know exactly how long a candidate spent on the task.
Set clear expectations. Not having time limits pressures candidates to spend too long on code challenges.
Takehome challenges use nothing but git.
Any language, framework, library. If it goes into git, it can go into a challenge.
Candidates can use their own machine with their own editor, environment and references.
Build up a range of challenges, customised to your stack and your business.
Each challenge has an email template where you can give instructions to the candidate.
You can assign challenges to candidates from this pool.