OK. This is my train of thought so far:
$(a)$ Every open ball in $X$ is the product of open balls of the $X_i$.
$(b)$ Every open subset $O_i$ is the union of open balls in $X_i$.
$(c)$ $O$ is the product of the union of open balls in each $X_i$, so $O$ is the union of the product of open balls in each $X_i$, which are open balls in $X$.
$(d)$ Thus, $O$ is the union of open balls of $X$, so it is an open subset of $X$.
$(e)$ Freaking put all of the above in a proof.