As a frequent early adopter, I'd say the most important thing you can do after providing a useful product in order to retain early users is to actively provide excellent support. I'll tolerate buggy software longer if it is easy to report bugs (and I know that reported bugs actually get looked at).
Interacting directly with early users also "humanizes" your company, which makes people both more forgiving of early mistakes as well as more likely to put a little bit of extra effort into helping you get better.
Good points. Social news (HN, reddit) is a great place to find early adopters, and interact directly with them.
I launched http://iDoneThis.com here on HN in January and now we have 5,000 users. A benefit to that was not only finding early adopters and engaging with them, but in that engagement, you have the opportunity to find what people want and improve the product. One thing we discovered from the international audience at HN is that our site didn't work with unicode, and folks abroad wanted to be able to adjust their timezone from the default US/Pacific. We added those features and now we have a huge following in Japan.
Interacting directly with early users also "humanizes" your company, which makes people both more forgiving of early mistakes as well as more likely to put a little bit of extra effort into helping you get better.