Android: Android has plenty of great to-do apps, but Shifu might just be the smartest one I have seen yet. The app lets you set reminders and tasks based on people, time, location and network, giving context to your to-do list.
When you are setting a new task in Shifu, you can choose from any of those four criteria. You will then see options based on what you picked. For example, in network, you will be asked to choose Wi-Fi or 3G, and add a reminder message for that. In people, you can write a message to yourself which will flash the next time a person from your contact list calls you -- yes, Shifu syncs with your address book.
Time is perhaps the most intriguing of the settings. For any task, you can set a certain time limit. When you find yourself with some free time, fire up Shifu and use the dial to say how much time you have. Shifu will list out the tasks you can complete in that period. It's pretty cool!
Perhaps what was most impressive about Shifu is that it just works. Often, such to-do apps will be broken in many parts, but not Shifu. Every task I tried, it pulled it off flawlessly -- in fact, this is the best "reminder on call" app I've used, since it even gives you a follow-up after the call to mark the item as done or set a reminder for it again. It's the little things...