Deformation retracting the torus minus a point to of figure 8

Here's an explicit formula, based on my comment above.

Let's suppose $|y|>|x|$. Then we want to linearly slide the $y$-coordinate from $y$ at $t=0$ to $sgn(y)$ at $t=1$. That's easy: $t\frac{y}{|y|}+(1-t)y$. According to my comment, we also want to scale $x$ by the same factor, to preserve the slope of the line from $(0,0)$ to $(x,y)$. So we get $t\frac{x}{|y|}+(1-t)x$. Of course, this works for $|x|>|y|$ very similarly, and so our homotopy is $$ f_t(x,y)=\begin{cases}(t\frac{x}{|y|}+(1-t)x, t\frac{y}{|y|}+(1-t)y)& |y|>|x|\\ (t\frac{x}{|x|}+(1-t)x, t\frac{y}{|x|}+(1-t)y)& |x|>|y| \end{cases} $$ And it's clear these branches agree when $|x|=|y|$.

EDIT: You can write the above deformation without branching:

$$ f_t(x,y) = \left(\frac{t}{\max(|x|,|y|)}+1-t\right)(x,y) $$


I'm not sure your deformation retraction works, since what it appears to be doing is drawing a $\times$-shape in the square, moving the points in the top and bottom triangles vertically and moving the points in the left and right triangles horizontally. This means that the $\times$-shape itself gets (discontinuously) 'ripped', since its points want to move both vertically and horizontally.

I'd suggest a deformation retraction which moves points radially. Specifically, each $p \in I - \{ 0,0 \}$ there is a unique $\theta \in [0,2\pi)$ and $r>0$ such that $p = (r\cos \theta, r\sin \theta)$. Your deformation retraction could move $p$ along the ray $\{ (r\cos\theta, r\sin\theta) \mid r>0 \}$ until it hits $\partial I$, at which point it stops.