shahine.com/omar/

homepage | Send mail to the author(s) contact

yet another Microsoft blogger

 Wednesday, February 22, 2006

Natural Language and Outlook

Something I’ve been meaning to blog about for a long time… and speaking of Natural Language.

For many years one of the more powerful and well implemented natural language parsers has been living in the Date/Time control in Outlook.

Outlook_date

 And Outlook will translate this to 2/28/06. Now you can try all sorts of things like:

  • next week
  • friday
  • next friday
  • end of the week
  • end of the month
  • tomorrow
  • 2 weeks

and so on. I bet you didn’t know about this :-). When you create a lot of tasks (like I do) this is a very fast way of typing what you want, hitting tab, and usually getting the expected results.

 

Thursday, February 23, 2006 12:04:45 AM (Pacific Standard Time, UTC-08:00)
"I bet you didn’t know about this"

Well I did know about this. In fact in my first project back in 1999 I was asked to build a control in Java which did exactly this. The requirement was "look at the date control in Outlook and reproduce it in Java". :-)
Thursday, February 23, 2006 12:54:22 AM (Pacific Standard Time, UTC-08:00)
I am working on building a lightweight tasks app to run in the systray that uses the Outlook task store via the PIAs. I have also implemented natural language processing for date input and due dates are shown in natural language. Email me if you're interested in trying it out.
Thursday, February 23, 2006 4:13:18 AM (Pacific Standard Time, UTC-08:00)
I did not know about this! Gracias!!!

Now if only I could assign a toolbar button for these. I use the "next week" and "end of the month" quite a bit.

Thanks again
Thursday, February 23, 2006 4:52:31 AM (Pacific Standard Time, UTC-08:00)
What would greatly improve this would be a single text box to enter data much like 30boxes. For instance typiing in "Meeting with Debbie at 3pm for 1 hour tentative reminder off" or "Jonathan's Birthday May 10" and Outlook would fill in the appropriate data and infer data such as the recurring nature of the 2nd example.
dino
Thursday, February 23, 2006 5:46:04 AM (Pacific Standard Time, UTC-08:00)
I didn't know this. Thank you very much for sharing.
Fred Beiderbecke
Thursday, February 23, 2006 7:39:34 AM (Pacific Standard Time, UTC-08:00)
Another cool implementation/usage of this feature is for off-line synchronization. I sync several discussion folders on my laptop for off-line reading (while I commute) and then filter them to only sync for "received" "on or after" "2 months ago" which keeps my offline copy to the last 2 months. A very handy feature!
Thursday, February 23, 2006 11:02:22 AM (Pacific Standard Time, UTC-08:00)
I know several people have asked me to implement this in TEO. But as I examined the feature I've realized it's mostly useless unless you are a complete keyboard-aholic. Typing "end of the month" or "next week" is more time consuming and more difficult for your brain to "select" than using the pop out calendar.

And especially when inking in the field, it takes far less time to select "tomorrow" from a drop down list than to try writing it.
Thursday, February 23, 2006 4:47:05 PM (Pacific Standard Time, UTC-08:00)
NSDateFormatter in Cocoa (formerly Yellow Box, formerly OpenStep) has supported this type of "natural language" use since 1994. I'm not sure, but the NEXTSTEP equivalent of NSDateFormatter may have supported it earlier too.

I use this virtually every day when I track my exercise routine in the little Core Data-based app I threw together to do so.
Saturday, February 25, 2006 5:00:46 AM (Pacific Standard Time, UTC-08:00)
I've used this since Outlook 2000 when I watched a MS promo video where they promoted this feature - I've loved it.
Just wish that it was available in Notes (which I have to use now :-(
Name
E-mail
(will show your gravatar icon)
Home page

Comment (Some html is allowed: a@href@title, b, blockquote@cite, em, i, strike, strong, sub, super, u) where the @ means "attribute." For example, you can use <a href="" title=""> or <blockquote cite="Scott">.  

Live Comment Preview