I've always wanted to get into mobile application development, and finally got down to writing my first Android application. It is called SmsFu. From my market blurb:
I wrote this application mainly out of irritation with "Jimmy's Killer Prawns", "Coco Bongo", "Honda Midrand", and other spammers who somehow got hold of my phone number and then started arbitrarily spamming me. I decided that the real irritation was that it got me excited about receiving an SMS, thus leading me to drop what I was doing, only to find out that I've been spammed.
"SmsFu stops junk or spam SMS's from irritating you, without you blacklisting them first. How? It silences notifications when the SMS is from a long number (or optionally, not in your phonebook)."
It started out with the idea that I could automagically filter out all spam by deleting any SMS that came from a long number (longer than 12 digits, which includes the country code and + prefix). This would work better than a blacklist, because those numbers are typically different each time they send a new SMS. After implementing it, I realised that I don't really need to delete the messages, since they don't irritate me anymore and I don't mind glancing at them when I have time to go through my inbox.
I also realised that some notifications, like those from a bank, sometimes use the long numbers. Typically, I am in front of my PC when waiting for the bank reference number to come through on my phone, so it was a bonus that it silenced those SMS's. However, important alerts seem to come from a normal number (at least from Standard Bank and First National Bank), so that worked out beautifully as I still get alerted to important transactions.
I decided to keep the inbox plain and simple. Rather evolve it over time, than trying to re-build functionality such as those in the excellent Handcent SMS application. This has a big advantage: the inbox can be kept simple, maximising the screen space for displaying full messages in chronological order. That way, the user can easily find and delete or action the new SMS(s). It also makes the inbox display much faster (I've limited it to the 10 most recent messages). When the user wants to browse through his/her messages, they can use their favourite messaging application.
I've thrown in a few bonus features into SmsFu. One is the ability to use any ringtone (not just the notification ringtones), as well as to specify an MP3 ringtone (which, out of my laziness, is hardcoded to look for an MP3 file called notification.mp3 on the root directory of the SD card). Another bonus is that you can send an SMS off as an e-mail, which is a handy way to back up reference numbers that have been SMS'd to you.
I've just released v0.5 of SmsFu which adds the ability to only sound an alert if the message is from a contact who is in your phonebook. Various other features have been added too, such as the ability to save the incoming number to your phonebook, and a highlight next to unread messages.
Check out the app in the Android App Market by searching for SmsFu, or view it's listing from AppBrain here: http://www.appbrain.com/app/com.tobykurien.smsfu
Update: I've now got over 1000 downloads!