I'm a developer and I have the desire to do everything technically possible with my mobile device, such as programmatically placing calls, programmatically deciding whether what to do with an incoming call (hang up, divert to voicemail, play an automated message etc), programmatically sending text messages, accepting push notifications from my own servers, allowing me to read data from the GPS device, periodically taking pictures, running my own programs without making them to the app store, etc...
Which of the existing mobile device platforms has the most liberal and feature-complete API that may allow some of the above? Good documentation would be a plus :=)
If you feel hackish in anyway and your only purpose is to taylor YOUR phone the way you want without feeling the need to make your hack-thingie available into an appstore...then the answer is easy :
Android.
The documentation is poor, badly written, the apis are full of little annoying bugs and all that BUT : Whatever you don't find in the official API's you can hack by forking your own Android.
For example none of the mobile frameworks allow developers to send audio to a caller during a call. I personally cannot see the reason but you just can't. Fork your Android, add the missing bits and off you go.