Immediate Feedback

Dr. Drang:

Natural language processing of calendar entries isn’t new or unique to Fantastical. Way back in 2007, there was Sandy, a server app that accepted emails to organize your calendar. The last couple of versions of OS X’s own Calendar (née iCal) have had a quick entry field that uses NLP. And iPhone users have Siri, which includes both NLP and voice recognition.

What separates Fantastical from these others is that its window shows both the free-form entry field and the individual time/date/etc. fields, and as you type in the free-form field, animations show you how Fantastical is interpreting what you’re typing.

Immediate feedback is an important aspect of any user interface. If you click on a button and nothing happens for a few seconds, that immediately destroys your suspension of disbelief. It reminds you that you’re not really looking at a button. You’re looking at a computer, and the damn thing probably needs more RAM.

Immediate feedback is particularly important when the interface interprets fuzzy user input. If you’re not 100% sure how the computer is going to interpret what you’re doing, you need to see the computer’s interpretation as soon as possible. Seeing interpretation errors immediately allows you to fix them in your current context. You don’t want to enter an appointment in a natural language user interface, switch to a different mode with a different user interface, and then check your appointment and fix mistakes in that mode’s UI.

If you require a short url to link to this article, please use


If you liked this, you'll love my book. It's called Designed for Use: Create Usable Interfaces for Applications and the Web. In it, I cover the whole design process, from user research and sketching to usability tests and A/B testing. But I don't just explain techniques, I also talk about concepts like discoverability, when and how to use animations, what we can learn from video games, and much more.

You can find out more about it (and order it directly, printed or as a DRM-free ebook) on the Pragmatic Programmers website. It's been translated to Chinese and Japanese.