Help!

Help! For I have been taken advantage of by a rogue developer!

If you are reading this and have had a chance to look at my website, then you know I am a software developer. I am just one person, I do all the coding and designing myself. Sometimes I will go to a friend and ask for an icon because I am not the best at designing them. I want those that read this to please make an attempt to rescue me, for I, the user, have been taken advantage of by a rogue developer. This is not some bizarro kidnapping situation, but the instance of a developer going "rogue" and not listening to the users. To this end I am going to point the proverbial finger at a developer called "Flagship Industries" and their product "Ventrilo". Ventrilo is a widely used voice chatting program that is designed to be used with online games. A few months back a website that I moderate on purchased a Ventrilo server so the users could communicate with each other in a more informal manner than posting on the forums. Being one of the website staff I felt obligated to participate and join in. At first my relationship with the Ventrilo client for Mac OS X was mutual. Mutual in the sense that I did not like to work with it all that much, and it returned the favor by not working well for me. The relationship was stable, nothing changed in that arrangement. But that was when I began to notice a few issues. I think a walk-through of the program is a good place to start:

NOTE: All of the pictures are taken by me while writing this up, I have hidden the names of the server, chat, people and all chat dialogue to protect people that I consider to be my friends that are not affiliate with my message here. I will also be color-coordinating the lines with the appropriate text describing the problem. For the instances where there are no lines connecting circles (the single circles), I will be using the color red to talk about them.

Vent Chat
Starting from left to right in this picture I will be describing a few things that I found troublesome:
1. First thing here is the fact that this window contains TWO close buttons for this public chat window. Anyone that is familiar with Mac OS X knows that there are 3 buttons that are normally at the top of all windows, they are the functions "Close" "Minimize" and "Zoom/Resize" (from left to right). The thing that bothers me about this is that the developer felt it necessary to include an additional button on this window that will close it. I guess that he thought that he would save people the trouble of moving the cursor to the standard position of the close button to another one that is on the opposite end of the window, at default size, about 250 pixels away.

2. The second thing about this window that bothers me is that it also has a duplicate "Hide" feature. I don't really want to go into the same explanation of this duplicated feature as the previous one about the "Close" button. Same principle applies to this, I am still confused as to why this was so necessary to have another button for this if OS X already has one built into the interface.

3. Final talking point on this window is the horizontal scrollbar on the right side of the screen. I have censored the names in the chat window, but none of them are long enough to cause the scrollbar to behave in such a manner. That is how the horizontal scrollbar ALWAYS behaves. It even looks and behaves as such when I am not even connected to a ventrilo server yet. This is an UI hazard, if there is nothing to scroll to view, then it should not be there.


Vent Main
1. Again with this "Close" function, but this time it is back with revenge in its heart! Now you not only have the "Close" button on the toolbar on the main window, but also a button on the right side of the window, AND yet another in the main menu of the program. Please forgive me if I am wrong about asking this, but what is the purpose of having 3 buttons that do the same thing?

2. Another repeated function, in this instance it is the button for the "About" window. As to why I would ever need to use this in everyday use of Ventrilo, I am still at a complete loss about, but there it stands in all of its glory.

3. The button marked "Setup" is also not correctly placed on the UI. This is what the preferences are, but they are mislabeled and stuck in the wrong location. I don't modify my setting all that often, so why I need to see the button all the time is not logical and more importantly, it is bad design. This should be listed in the menubar under the name "Preferences". One thing that software should do is make this consistent. If I make an word processor, I am not going to label the button that modifies character spacing as "Kerning Options", I am going to call it "Font Settings". I would do this because the average user is not going to instantly know what "Kerning" is or what it means by looking at it. Standardization is important, some designers have created UI guidelines and conventions so the user's experience is consistent and regular.

4. The next button I would like to talk about is the one marked as "Help". Ventrilo is the ONLY application I have ever seen without a "Help" menu in the menubar. These UI guidelines are coming back to bite again. I guess this "Help" function is just so important to the user that they need to be able to see it every time they look at the main vent server window. My only thought is that it is placed in such a manner incase the user has a lapse into stupidity and cannot locate one of the many close buttons.

5. The last part of this window I would like to touch-upon is the horizontal slider. It behaves in the same manner and fashion as the horizontal slider in the main chat window user list. It scrolls to no-where, There is nothing in this window that would force the slider to extend in such a manner that it would behave in the way displayed.

For those that are interested in the numerous other elements in the NIB file (user interface file) you can locate it inside the Ventrilo application at the following path:
Right click (control+click) on the application, and choose "Show Package Contents" from there navigate to:
/Contents/Resources/English.lproj/main.nib
(To view this you must have a copy of Apple's Developer tools installed.)

There you can explore the many more wonders of bad design and lack of usability. I am not joking about this, go have a look for yourself, that one NIB file contains no less than 40 different and individual windows and elements of the UI.

One thing I would like to add onto my critique of my is the window management system. This poses a particular problem for myself and other people that enjoy the use of more than one display. If I am using Ventrilo, I will move the main chat window over onto my second display, as well as any other windows that I am not using at the time. This allows me to have an organized display to work on and still be able to view all the websites, chatrooms, and anything else I like to keep tabs on. Problem with this is when I think take my laptop and move somewhere else to work then disconnect that external display. As if magic was happening before my eyes all my windows and icons that were on the second display shift themselves over to my primary display. All except Vent. Now please, if none of my other questions are answered, then please answer me as to why it would be a good idea to allow a window to be rendered on a part of the screen that does not exist anymore. The first time this happened I restarted vent, thinking it would move the window back onto my main display. To my dismay nothing happened. That chat window remained on the second display that was not connected anymore.The only way to regain this window back onto real screen space is to delete the preference files for Ventrilo entirely or to find and modify the screen coordinate listing in the "ventrilo2.ini" file which is located at:
~/Library/Preferences/Ventrilo/ventrilo2.ini

By any account, not the most intuitive or easy way to fix such a problem. Of course, I could reconnect my second display and just move the window over, but by this time I have walked across campus and I am sitting in my 2 hour class.


The problem I am having with this whole thing is that I have tried to communicate these facts with Flagship Industries before, I have tried to post on their support forums saying "hey look, here are a few problems I found, I am wondering if they could get fixed?". I hit the post button and was greeted with the message saying that all posts must undergo moderator review before they appear on the site. After a few days of waiting I submitted another post, this time I was more aggressive and went into more detail on the problems and supplied possible solutions to fix them easily. My post was once again screened and never appeared to the public. I made a post earlier today explaining how to resolve a problem that someone was having with the aforementioned window on a second display bug. And now when I go back and look, that post seems to be deleted as well.

My problem with is developer is not that the product is shoddy or not something to look at, but is that of complete disgust at how he seems to handle complains or feedback that would be beneficial to the further development of the program. The fact that he cannot seem to accept that he might be wrong in his design and that there are numerous bugs in his software that he is unresponsive to willingness to fix. I would honestly not push this issue if Flagship came out and said that they are not interested in the complains about the Mac OS X Ventrilo Client and are not going to invest any time other than basic development. I would be happy to hear that because I could stop using it.

But as of right now I am going to repeat my call for help, for my experience of what could otherwise be a good system is being destroyed by the abuse of a developer that does not care what his users think. Software development is not about you, or any one person. It is to make something that will serve many people, and serve them well.

EDIT: Here is the NIB file if you do not want to install it to have a look for yourself:
http://samsoftware.info/ventrilo-nib.zip