When you multiply 2s-complement numbers, you need to do "sign extension" - and that is shown in the link you provided. I have provided more a more detailed explanation below.
Using the 4-bit examples, if all you want is a 4-bit result, then you are doing a modulo 16 multiply - and the result will be correct regardless of how you interpret the sign bit. So, for example, binary 1111 x 1111 = 0001 it correct for both -1 x -1 modulo 16 and 15x15 modulo 16.
But normally, when you multiply two words, you want a product that includes double the number of bits. So, as with our example, you would want 1111x1111 = 00000001 or 11100001, depending on whether the 1111's are unsigned (15s) or 2's complement signed (-1s).
So, to do the signed multiply, you:
1) Do the regular multiply (yielding 11100001). This is the simple modulo-256 result.
2) Since the first term is negative, it was too big by 2*(1000), and so the product was too big by 2*(1000)*2nd term. Correct this by subtracting 10000 times the second term (11110000) still using modulo-256 arithmetic (yielding 11110001).
3) Similarly, since the second term is negative, it was too big by 2*(1000), and so the product was too big by 2*(1000)*1st term. Correct this by subtracting 10000 times the first term (11110000) still using modulo-256 arithmetic (yielding 00000001, your final result).