There is no absolute rule for adjective order. There is only style and idiomatic usage.
Some adjective orders sound odd and would normally not be used. In such cases, there are common guidelines that can be followed.
But in other cases, different orders can be used without violating anything grammatical, stylistic, or idiomatic.
In this case, both of these sentences are fine:
1. Mr. Wilson is a short ugly man.
2. Mr. Wilson is an ugly short man.
However, there is a subtle difference in meaning.
The first sentence says:
Mr. Wilson is an ugly man who is short.
The second sentence says:
Mr. Wilson is a short man who is ugly.
Which order you use depends on where you want to place the emphasis. The adjective closest to the noun is the one that most directly affects it. Other adjectives, modify the phrase that follows.
So:
1. Mr. Wilson is a short (ugly man).
2. Mr. Wilson is an ugly (short man).
Do you care more about his 1. appearance or 2. height?