Good ideas for handling imprecise input fields

This is a post to see if I can get some help from my readers.

In many systems we develop we have date fields that users need to fill in. And in many cases the precision of date varies within the same type of data. For example users need to input details for past events. Sometimes they know the exact date (5th of Jan. 2008), both for other dates they only know that it happened in January 2008, or maybe just the year.

How can we handle from a interface standpoint to allow for both precise and imprecise input?

How to go from 1 user to 1 million users on your webapp

Kevin Rose from Digg did a presentation about how to go from 1 user to 1 million users:
http://c0.no/2uv

His presentation can be summed up with:

  1. Don't add features that do not give (emotional) rewards to the user. Don't bloat.
  2. Create a simple follow mechanism.
  3. Get plugged by Ashton and Lindsay. It's sad, but works.
  4. Publish leaderboards.
  5. Build & Release quickly, don't assume you understand what your users will do.
  6. Hack the press, invite only, talk to junior bloggers.
  7. Podcast.
  8. Get advisers, especially for tech problems when expanding.
  9. Get users to spam their friends (facebook)
  10. Create a share API to serve buttons on 3rd party sites.
  11. Analyze traffic