Subspace of $[0,1] \times [0,1]$ that deformation retracts to any point in $[0,1] \times \{0\}$, but not any other point. This is an exercise that I'm doing, and I would like some comment on my solution.

This is the picture I have in my head, where $(p,0)$ is the point $X$ deformation retracts to, and $(x_1,x_2)$ another point of $X$.

My idea of the homotopy $H: X \times I \to X$ that serves as the deformation retraction is the part colored in red, i.e. it consists of two paths that first send $(x_1, x_2)$ to $(x_1,0)$, then $(x_1,0)$ to $(p,0)$. Is this acceptable? 
If yes, why wouldn't it work with any other point not in $[0,1] \times \{0\}$? I'd like to have some clues for this part as well.

Edit: after reading the answer below, I rechecked my materials and realized that the definition of DR that we use is actually called strong DR elsewhere. That'd got me confused a bit since I had been reading different sources. 
 A: You must distinguish between a deformation retract and a strong deformation retract. A retraction $r : Z \to A$ to a subset $ A \subset Z$ is a deformation retraction if there exists a homotopy $H : Z \times [0,1] \to R$ such that $H(z,0) = z$ and $H(z,1) = r(z)$. If exists a homotopy such that in addition $H(a,t) = a$ for all $a \in A, t \in [0,1]$, then $r$ is called a strong deformation retraction. See https://en.wikipedia.org/wiki/Retract.
A strong deformation retraction to a point $p_0 \in Y  = [0,1] \times \{0\}$ can be composed by the obvious strong deformation retraction of $X$ to $Y$ and the obvious strong deformation retraction of $Y$ to $p_0$.
Why doesn't this work for $p_0 \in U =  X \setminus Y$? Note that $U$ is open in $X$ and has infinitely many path components $U_r = \{r\} \times (0,1-r]$, $r \in [0,1) \cap \mathbb Q$. Since $\mathbb Q$ is dense in $\mathbb R$, any open subset of $X$ intersects infinitely many of the $U_r$.
Now assume we have a strong deformation retraction $r : X \to \{p_0\}$. There is a homotopy $H : X \times [0,1] \to X$ such that $H(x,0) = x$, $H(x,1) = p_0$ and $H(p_0,t) = p_0$. Since $U$  is an open neigborhood of $p_0$ and $H(\{p_0 \} \times [0,1]) = \{p_0\} \subset U$, there exist an open neighborhood $V$ of $p_0$ such that $H(V \times [0,1]) \subset U$. We have $p_0 \in U_{r_0}$ for some $r_0 \in [0,1)$. For each $p \in V$ the set $H(\{p\} \times [0,1])$ is a path connected subset of $U$ and contains $H(p,1) = p_0$, thus it must be contained in the path component $U_{r_0}$ of $p_0$ in $U$. But then also $p = H(p,0)  \in U_{r_0}$. Therefore $V \subset U_{r_0}$. This is a contradiction because any open $V$ must intersect infinitely many $U_r$.
What does it mean that $\{p_0\}$ is a deformation retract of $X$? It means nothing else than that the identity on $X$ is homotopic to the constant map with value $p_0$. But we already know that $X$ is contractible, hence all constant maps to $X$ are homotopic, and this proves that $\{p_0\}$ is a deformation retract of $X$ for any $p_0 \in X$.
