How to create custom vibrations and led notification:
Create Contact-Specific Custom Vibrations
If your phone spends most of the day in your pocket, on vibrate, contact-specific vibration patterns allow you to identify who's calling without taking the phone out of your pocket.
To create and enable a contact-specific vibration, you first need to make sure custom vibrations are enabled in Settings > General > Accessibility > Custom Vibrations. Then just fire up your Phone app, select a contact, tap Edit > vibration > Create New Vibration. Tap out your custom cadence (I started with the always-original "Shave and a haircut"), then tap Stop when you're done. You can test your rhythm by replaying the pattern, then save and name it. Piece of cake.
If you feel like you've created a vibratory masterpiece, you can set it as your phone's default vibration in Settings > Sounds > Vibration. (Note that you can also record new patterns here as well.)
Android users: Check out previously mentioned WhoIsIt for a handy companion app for creating contact-specific custom notifications.
Enable LED Notifications
A lot of phones allow you to flash an LED for a more visual alert. To enable LED notifications in iOS 5, you've got to dig down into the Accessibility menu in Settings > General > Accessibility, then enable LED Flash for Alerts. There's a pretty big catch to this one, though: It only works when your phone is in silent mode (that is, vibration turned off in Settings > Sounds and the vibrate/silence hardware switch toggled on.
You should also keep in mind that it's not a persistent flash; as far as I can tell, it emanates one showy series of flashes and then goes away.