Andy, thank you for the response.
First of all, from our experience with the Twitter policy team so far, it does not look like it will be possible to continue discussion via e-mail, because it simply does not seem like there is an intelligent human being on the other end of the “line”, I am sorry to say. Let me explain, with a brief account of our interaction with the API team:
First, we filled in the form to request xAuth access, explaining the situation as I did here in my original post. Then we got an e-mail, telling us to reply with the exact same information already in the form via e-mail! We sent the e-mail. A day later, we got an e-mail saying “We do not provide technical support through this helpdesk”, which has nothing to do with our request! Then we responded to that, and within minutes we got a standard response refusing our application, with absolutely no explanation whatsoever.
There is definitely room for improvement here, don’t you think?
Regarding your comments about oAuth, I understand and appreciate the issue of protection of user credentials. And yes, it is technically possible to use oAuth instead of xAuth. However, in our case, it affects the user experience quite badly, since it will mean that users will have to go through the Twitter login page each time they work with the application, not to mention the rather large and unnecessary overhead of embedding a web browser into our application.
Even without considering these points, using oAuth in a desktop application does not seem to have any real security benefit compared to using xAuth in terms of user credentials, because, simply put, how difficult would it be for a desktop app to sniff keypresses to retrieve usernames and passwords entered in a web browser? Whatever the application and authentication method, entering user credentials must take place at the discretion of the users themselves, and if they do not trust the application, they should not enter them.
Furthermore, in the specific case of our application, users are technical people (broadcast professionals), and the application requires a basic level of training, and it is a relatively low-volume application, with total user count in the thousands range. While the application is relatively new (about 2 years old), the company is much older and reputable.
Please feel free to enlighten me if I am missing something here. I am really trying to wrap my head around the reasoning behind our application being refused, but I am unable to.