FlashCoder app for iPhone and iPad
Use flash light of camera to send information in codes encoded or touched real time.
Morse code is supported to encode and decode both.
It might be a good method to communicate with light flashing when your network and carrier are out, such as for outdoor activities.