Like many users, I was pretty excited about iOS 4.2's AirPrint feature--until I learned that it would work only with AirPrint-compatible printers. Sorry, but I'm not ditching my perfectly good laser and inkjet models just so I can beam the occasional photo or document from my iPhone.
Fortunately, I don't have to. Following some instructions over at news blog Javox, I learned how to make AirPrint work with just about any printer.
Update: I have since found what I consider a much easier and more effective solution: FingerPrint, a Windows/Mac utility that turns any printer into an AirPrint printer. Best $10 I've spent all year.
I won't repeat the step-by-step here, as it's pretty straightforward. However, I will note some important items the author left out:
The download page for the required AirPrint files is rife with pop-ups, so make sure your browser security is up to date. I also hosted it here if you'd rather avoid that link altogether.
When you open the Command prompt (as described in Step 4), make sure you run it as an administrator. In Vista and Windows 7, you do this by clicking Start, typing cmd, right-clicking the entry that appears, and then choosing "Run as administrator."
On my Windows 7 system, I never got the Windows Firewall prompt as described in Step 6. Consequently, when I went to choose a printer on my iPhone, both my printers appeared--but with padlocks next to each. To access them, I had to manually add AirPrint as an "allowed program" in Windows Firewall.
If you encounter other problems getting this to work, you may need to enable a guest account in Windows (as described by this commenter), then stop and restart the AirPrint service.
I'm happy to report that after jumping through several of these hoops, I can now print to both my Brother HL-2170W and Brother MFC-490CW. Works like a charm.
Mac users may want to check out AirPrint Hacktivator 1.7, which accomplishes more or less the same thing but with a little more automation.