With J2ME devices you can construct a binary SMS, called a service
message, which has the location of a JAD encoded in its payload. When
sent to a handset, the OS recognises this and doesn't attempt to store it as an ordinary SMS, instead just prompts the user to "Install XYZ?". This then starts the JAD/JAR handshaking process, resulting in the app being installed. In other words, there is a standard for pushing apps via OTA.
It seems with Android the closest you get is to send a plaintext SMS
with a URL of the APK. Is this the only way to push apps? And is there a difference between market and non-market apps when doing this?