If you have millions of users who want to ask questions (think of supporting Microsoft Office), then direct access to developers is a non-starter.
What I have seen work are rotation programs where developers spend some time as first-line support (maybe 1 week per year). When doing so, they help educate the rest of the support staff, and they get great exposure to real users facing real problems.