It is funny how small things sometimes prevent big changes from happening. There is one that prevents the potential explosion of push email on mobile devices: the lack of address book synchronization.
If you have a cell phone, you have received and sent at least a message in your life. A short text message or SMS, but still a message. You are ready for push email. Today. You are ready to receive messages a bit longer pushed to your device and to send short messages (no, I am not a believer of a long messages typed with a keyboard installed on every phone on the planet, sorry. I like dumb phones because they look cooler and - guess what - the phone is mostly a fashion item, trust an Italian on that).
When you send a SMS today, you send it to a phone number. That's what you have in your phone address book today.
If you want to send an email, you have to send it to an email address. Would you type myfirstname.mylastname@funambol.com on your cell phone? No. Believe someone with a long first name and last name... You will not do it.
So... you will not use push email unless you have my email address on your phone. Since you are not going to type it, it must get on your phone from somewhere else (your Outlook, your Yahoo address book, your Skype address book and so on). You need address book synchronization, possibly pushed on your device when something changes.
Without address book sync, there is no push email. It is a small thing, but it is small blocking thing.
Thankfully, SyncML solves that, if paired with the right solution on the server side that actually works with your phone (warning: small advertisement here ;-)
The road to push email goes through address book sync.