Ok so after a little reading I think I've finally got this but I wanted to confirm with the experts.
If I have a compressed public key then my transaction size will be calculated:
148x(inputs) + 34x(outputs) + 10x(inputs)
But I also understand that there could be a 1 byte difference in the input sizes.
If you're using an uncompressed public key then your transaction size would be calculated:
180x(inputs) + 34x(outputs) + 10x(inputs)
Will this give me a fairly accurate fee? I'm also not sure how to tell if my public key is compressed but I guess I could just check bitaddress.org address info.
If I'm wrong or missing something let me know.
Assuming I had a compressed public key with 10 inputs and 1 output it would be calculated:
148x10 +34x1 +10x10 = 1614 bytes
Then let's assume a nice round fee of 100 Satoshis/byte and my fee would be around 161400 Satoshis or 0.001614
BTC.
Did I get that right?