Hey Andrew,
Nice article, there are one or two points here I would argue against.
I don’t think you can say ‘Ditch the *’. Firstly, the asterisk is regarded as a universal symbol for identifying mandatory fields. Using the label ‘optional’ will only be useful for English language users. Secondly, it may depend on the ratio of mandatory to optional fields. A 5 field form containing 1 mandatory field would require less process/thinking time if only the one mandatory field was marked.
Top labels, while I admit they require less fixations they double the length of any form. If your scenario requires your form to use less vertical space, then horizontal aligned labels may serve a purpose. Horizontal labels also slow down the form completion speed which in some cases may be your goal.
Form errors I believe benefit from displaying both the error inline and an error close to the form submit action. If the invalid field happens to be out of view, the user, without a message close to the submit action does not know there are form errors.
Using field length as an indicator — 100% agree. So many times I see this not being used for a favoured ‘justified’ visual, it really drives me crazy. The only field I see this becoming globally recognised is the CVV code on cards.
Cheers