One of the little known features of the iPhone is that it actually does a great job of talking to you. The reason why it is little known is that you have to turn on the accessibility options in order to experience it – or you have to use the Voice Control – which does not work great and therefore is not used extensively. The built-in text to speech engine of the phone is not open to developers so there are no third party apps that make use of the text to speech (TTS).
In the mean time developers have to rely on shipping their apps with large bundles of mp3 or aiff files in order to get their applications to talk to the users. Or they can implement some of the online TTS engines or TTS engines made for the iPhone. The results are terrible in all cases that I have observed – if an app needs to only speak predefined words the developer will load all of these as sound files that will be downloaded with the app. This leads to bloated app bundles and wastes bandwidth and phone storage media. The iPhone TTS engines also take considerable amounts of space and if anyone has been able to understand what the app Social Radio is saying to them they deserve a medal. Then there are apps that use online TTS engines and essentially downloads the sound file on demand. This is probably more efficient and has a better result – but you need an internet connection and you will always be at the mercy of the TTS engine provider.
So Apple – please open up the great TTS engine of the iPhone to developers so we can make apps that will be able to talk to the users.