TONEPUSH - Set your ringtone ... on someone else's phone! You'll need to make sure the app is installed on BOTH your phone and your friend's phone for this to work - sorry if this wasn't clear earlier.
This app is best used for the first time on two phones so you can see what it's doing. It's not much fun just using it on one phone. Watch the video if you want to see it in action first. I'll be adding some more to the video shortly with all the extra features I've added recently.
The permissions requested and the reasons why are at the bottom of this text.
So let me just repeat the headline. This app will allow YOU to change the ringtone on YOUR FRIENDS phone ... so when you ring him (or her), they will hear what YOU want them to hear ! You can also record directly from your microphone or send any mp3 file you have directly as a ringtone.
This version has 5 FREE popular Christmas ringtones and also 5 Christmas VoiceTones you can send to you friends and family.
It is NOT "Caller Ring Back tone" - ie it is not the tone that you hear on your phone when you dial someone. It is the ringtone that their phone PLAYS to them. Really sorry I had to repeat this, but there has been some confusion and I thought I would spell it out. There is a youtube video link, please watch that for a quick 2 minute demonstration.
Ok.. So now more details: The app is still in a testing phase.. but it's starting to work quite well across a number of platforms.
IMPORTANT: You MUST put your phone number in the first text box upon starting the app. If you don't, the app just won't work ! Click menu -> why on the app to find out more about this.
Long click on the top list to "preview" a ringtone before you send it. Happy TonePushing !!
Unlike a lot of "free" ringtone apps on the market - this one uses completely legal + licensed audio files. Some of them I have paid for (eg the 5 Christmas Tunes) and also it can access the SoundCloud database for CC0 licensed music. I will be modifying the lookup to be able to get more music from them when we have agreed what I need to display to conform with their licenses.
“Your personal information” - modify contacts, read contacts etc.
Ok - hopefully this one is pretty obvious. The app needs to be able to read your contact list in order to display that list to you, and write to your contact lists in order to be able to change their ringtone.
Hopefully, pretty obvious too. The app needs to be able to communicate with the internet to send and receive TonePush requests and ringtones.
The downloaded tonepushes are stored in the “external” drive to minimize the space used on your phone.
Hardware controls - record audio.
This is to enable you to be able to record your own ringtones (coming soon).
Phone calls - read phone status and identity.
This is to enable the app to make a best guess at your phone number when it runs for the first time (I am considering removing this)
System tools - prevent phone from sleeping
This is a mandatory requirement for the use of cloud messaging.
Services that may cost you money - directly call phone numbers
This is so you can dial straight out from the app to your tonepush friends the moment they've installed the ringtone!
This is for the "Default Ringtone" uploader page on the web which will allow you to quickly and easily set a ringtone from any pc on the web (no usb, wifi or whatever required).
Please note: The app NEVER sends your contact list anywhere, but it does "send" the recipient number to check in the database if they have TonePush too.
Code Peer Review
I am happy to discuss with anybody what bits of code does what and even to display the source code in a screen sharing session for those of you who have concerns, criticisms or even advice about how best to deal with personal data.