I often invite my friends out to see a live band, a movie, or some other function where I won't be able to hear my phone ring or be able to answer it.  Usually, there is always one or two people who don't exactly make it on time (sometimes that is me, but that's another story for another day) and end up calling me to find out where we are sitting or if the evening's plans have changed.  But, since I am not able to answer the call, they just get my voicemail.  Not too informative for them.

I'd like to introduce (or reintroduce, if you attended my session at MEDC 2006 in Las Vegas) an app that I call The Mobile Secretary.  This app allows your Windows Mobile device to automatically respond to a missed call with a custom text message and optionally with your current calendar information.  You can customize the messages for various groups of people as well.  What if someone calls from their home phone number?  Well, as long as you have a contact's various phone numbers in your contact database, the text message will always be sent to their mobile phone.

There are 2 standard groups that you start off with.  The "<Default>" group applies to a caller who can be found in your contacts, but has not been assigned to a group you created.  The "<Unknown>" group applies to a caller that cannot be found in your contacts.  You can create as many other groups that you'd like.  Contacts can only belong to one group at a time.

Sometimes I use a secondary mobile phone that has a different phone number from my main phone.  In this case, I usually forward my calls to the secondary phone so that friends can still reach me.  This works well until someone sends a text message to my main phone.   So, I added a text message forwarding feature to The Mobile Secretary.  Just enter in the phone number in which to forward to, and all text messages sent to your device will be resent to the other device.  There is also the option of appending the sender info to the message so that you know who it originally came from as well.

This is an enhanced version of the application that I used to demonstrate some of our .Net APIs that were introduced in Windows Mobile 5.0.  In addition to Windows Mobile 5.0, you'll also need the .Net Compact Framework v2 installed on your device.

I'll be posting the source code soon so that you can see how this app works as well as get a survey of the Windows Mobile .net APIs. 

Some of the managed APIs that are used in this app include:

  • The State and Notification Broker (SystemState Class)
  • Send a Text Message (SmsMessage class)
  • Sms Interception (MessageInterceptor Class)
  • Microsoft.WindowsMobile.PocketOutlook
    • Contact Class
    • Appointment Class
    • Custom Properties
  • SelectPictureDialog
  • ChooseContactDialog
  • Phone class

Hope you find it useful as an application, a sample, or both!