Saying it is simple shows me that you do not have much experience creating mobile applications.
If you develop for windows I assume it will work in every country, for every machine that runs windows, regardless of the machine manufacturer and the insternet service provider. Write once deploy nearly everywhere. Try that with mobile apps.
If you develop for Symbian phones, although one app may work on T-mobile UK networks, it may not work for T-mobile in the US.
It is anything and everything but simple.
EDIT: I am saying this after tools we had built using Twitter SMS API, NMS SMS API, Kannel, 41411 SMS API,as well as working on Mobile IM for Symbian, Call Interceptor for Brew, CallBack for all platforms including an Iphone web app, Backup application, Mobile Device Management Servers for Symbian and Brew, Infinite number of mobile games etc....All products being deployed in every continent save Australia. In every single case clients find it to be a pain. I wish writing and deploying mobile apps were as easy as it is for desktop apps.
Quite simply, there are two tiers in the mobile industry now: smartphones and feature phones. On the feature phone tier, having to jump through bullshit hoops was and still is standard - getting certificates from the carrier, worrying about SMS, etc. On the smartphone, there are far, far fewer limitations - companies like Palm and RIM don't shutdown apps, and the carrier's control does not extend beyond perhaps discriminating types of data traffic (ie, email vs 3rd party data).
Apple's SDK policies make the iPhone far closer to the restrictions feature phones have than to smartphones the iPhone is actually sold against (ie BB Bold).
oh, and: http://myhowto.org/java/j2me/22-sending-and-receiving-gsm-sm...
Pretty simple, no?