Most of you guys may know the pebble watch, this watch receives push notifictions of you phone.
They are capable of receiving some notifications.
Pebble uses Bluetooth to communicate with smartphone.Please find the answers for iPhone(iOS6) and relevant links.
Incoming Caller ID CoreTelephony Framewerk
http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Reference/CoreTelephonyFrameworkReference/_index.html
You have to use PBAP to show the callerID on the bluetooth device and the device has to be MFi to communicate with iPhone app.
Email (Gmail or any IMAP email account) PushNotifications
SMS and iMessage PushNotifications with MAP
https://developer.apple.com/library/mac/#documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/ApplePushService/ApplePushService.html
Calendar Alerts EVentKit Framework
http://developer.apple.com/library/ios/#documentation/EventKit/Reference/EventKitFrameworkRef/_index.html
Facebook Messages Social Framework
Twitter Social Framework
http://developer.apple.com/library/ios/#documentation/Social/Reference/Social_Framework/_index.html#//apple_ref/doc/uid/TP40012233
Weather Alerts Any weather API from yahoo or MSN
Following code can be used to vibrate iPhone
Add AudioToolbox frame work import AudioServices.h
AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);