This is to do with high dimensional geometry, which I'm always useless with. Suppose with have some large integer n and some small $\epsilon>0$. Working in the unit sphere of $\mathbb R^n$ or $\mathbb C^n$, I want to pick a large family of vectors $(u_i)_{i=1}^k$ which is almost orthogonal, in the sense that $|(u_i|u_j)| < \epsilon$ when $i\not=j$. I guess I'm interested in how the biggest choice of $k$ grows with $n$ and $\epsilon$.

For example, we can let $\{u_1,\cdots,u_n\}$ be the usual basis, and then choose $u_{n+1} = (1,1,\cdots,1)/n^{1/2}$, which works if $n^{-1/2} < \epsilon$. Then you can let $u_{n+2} = (1,\cdots,1,-1,\cdots,-1)/n^{1/2}$ and so forth, but it's not clear to me how far you can go.