Float Label Pattern
bradfrostweb.com
bradfrostweb.com
Gray placeholder text also provides the needed contrast with the black user-entered text, so as not to confuse the two types of large text.
The animation is very clean as well.
Let me be clear, it's not that there's movement. It's that if a box asks me to enter something, then my answer is premised on what was asked of me. If the moment I start typing it seems like something in the environment is changing -- suddenly I'm like, whoa, what changed? Is what I'm typing still what the box wants? Did I do something that caused state to change simply by typing a character?
There's this tiiiiny moment of hesitation at that first character, before my eyes scan what happened, re-read the label text, and I see what occurred and that my input is still valid.
tl;dr: might take a bit of getting used to seeing stuff change on the screen the moment you type into a box.
Client-side is always MITM friendly without certificate pinning and strong SSL, which is why I have to dial down the paranoia a bit myself: I was just now thinking that you could plant a non-random auto-completed password, but then if you can do that you could just listen for the real password too. (We're assuming you're running JavaScript here after all.)
n.b. I created the site I link to above, etc etc.
Like in the example below[1] there are two fields where you can enter coordinates data, but without a hint you wouldn't be able to distinguish where should one or the other go.
It would've been cooler if I could've capture the interaction, but I don't have access neither to the live webapp, neither do I have a deployed development version at hand :(.
Other than that, this is a really gorgeous solution. I'm going to see if I can implement something like this for Android.