According to my source quoted below, Bitcoin Payments may be subject to transaction fees.
Here are my questions:
1. How can I know the size of a transaction in bytes?
It is typically calculated for you by your bitcoin wallet.
How is the transaction size calculated?
By adding up all the bytes necessary to create the transaction.
Is the only way to increase the transaction size by adding more recipients of coin? I.e. sending coins to multiple wallets in a single transaction?
No. Transaction size is also increased by receiving multiple small values of bitcoins that must then be spent together as inputs to a transaction.
2. According to the article, outputs that are lower than 0.01 BTC, might incur a transaction fee. -> let's assume 0.01 BTC is worth 4; then I cannot make Micropayments of less than 1 with Bitcoin without having a payment fee??? Is this correct?
I don't understand your logic.
If 0.01 BTC is worth 4, and outputs that are lower than 0.01 BTC, might incur a transaction fee. then you cannot make micropayments of less than 4 with Bitcoin without having a transaction fee of at least 0.0001 BTC (worth about 0.04)
If you want your transaction to be confirmed quickly you should consider including a fee of at least 0.0001 BTC with every transaction, even if the outputs are larger than 0.01 BTC. Otherwise there is potential for it to take a few days for the transaction to confirm.
3. According to the article, a payment fee would simply be a motivation for bitcoin miners to include my transaction in the next generated block. Does this mean I can "choose to pay the fee"? And if I don't the transaction might not be "immediate", because of lack of motivation for the bitcoin miner?
The transaction is still immediate, but the confirmation may take a while (possibly several days). Under some circumstances where the transaction looks like spam or a DDOS attack on the network, many peers may refuse to relay the transaction. In this case your recipient will not see the transaction, and neither will the miners.
The information below is outdated. There are new rules for transaction fees in the more recent versions of the reference client.
A transaction may be safely sent without fees if these conditions are met:
It is smaller than 1,000 bytes.
All outputs are 0.01 BTC or larger.
Its priority is large enough (see the Technical Info section below)
Otherwise, the reference implementation will round up the transaction size to the next thousand bytes and add a fee of 0.1 mBTC (0.0001 BTC) per thousand bytes[1]. As an example, a fee of 0.1 mBTC (0.0001 BTC) would be added to a 746 byte transaction, and a fee of 0.2 mBTC (0.0002 BTC) would be added to a 1001 byte transaction. Users may increase the default 0.0001 BTC/kB fee setting, but cannot control transaction fees for each transaction. Bitcoin-Qt does prompt the user to accept the fee before the transaction is sent (they may cancel the transaction if they are not willing to pay the fee).
Note that a typical transaction is 500 bytes, so the typical transaction fee for low-priority transactions is 0.1 mBTC (0.0001 BTC), regardless of the number of bitcoins sent.
Source:
https://en.bitcoin.it/wiki/Transaction_fees