Bitcoin suffers from block times that are too long to ever make it completely practical in a face to face situation (like in a brick and mortar store). Not impossible mind you, just not practical. And I see no way that there could ever be a consensus to change block times. It would require fundamental changes to the difficulty calculations and conceivably the total coin supply. In my opinion a digital currency with faster block times will eventually succeed where bitcoin never can due to that limitation alone.
Bitcoin can and will have instant transactions via sidechains. It's only a matter of time.
I had to go and read about side chains since I am unfamiliar with the concept but what immediately stands out is that if you are using an alternate block chain to accomplish for bitcoin what bitcoin cannot accomplish on its own, then why use bitcoin at all? Why not just use the side chain as the only block chain?
The whole point is so we don't need to create a new altcoin or bitcoin hard fork for every new idea/function/feature.