There is 2 types of SegWit addrress,but for now only Electrum use Bech32 format and this should be only correct SegWit format to use.But because of compatibility with other wallets/services others decided to use address which start with "3" which is in a way address which is converted from legacy to SegWit.So when use Electrum users should pay even smaller fee then when use other wallets/services.
i believe there are two forms of SegWit addresses at the moment.
1. P2SH nested segwit (P2SH-P2WPKH) which will look like normal P2SH addresses (start with 3)
2. Bech32 which will start with bc1 and has a different formatting than base58
and normal addresses as you know start with 1 or 3 and are base58 encoded
as for fees i believe the P2SH nested segwit will take up more size than the bech32 (but i may be wrong). and they say "it is cheaper to create SegWite transctions" but i have not yet tested this.
last bech32 transaction i saw had 1 input and 2 outputs and was 255 bytes which is the same as regular transactions with P2PKH! so i am confused about that myself too.So how to create a segwit address in blockchain.info or in electrum.
blockchain.info has not yet adopted SegWit as far as i know but if you install the latest version of Electrum, you can create a SegWit wallet there.
SegWit and non-SegWit transaction will have same size in bytes,but the difference is in weight of transaction which is smaller.And I was interested in how to determine the fee for SegWit transaction,and only way is to know their virtual size which you get if you divided their weight by 4.
For example if we have 200 byte transaction and we want to pay 100 sat/byte we get 20 000 satoshi fee,but if we know the weight of transaction which in this case could be 500 and divide that with 4 we get 125 bytes and 100 sat/byte x125 = 12 500 satoshi for fee.
In this way we can save on fee when using SegWit transaction,at least as far as I know about how SegWit work.