General Application Guidelines
-
First some background:
The company I work for uses a set of applications written by a third party for Windows.
This third party writes software that I would consider breaks some fundamental principals of good programming. Ie: All users have to have write access to the programs directory, where all the settings are stored.
This application is critical to how our business operates, and because of how it is works it's very difficult to administer and maintain. For example, because it dumps everything into a C:\App directory, no one can have personalized settings, when one person damages the configuration it affects everyone on that computer. It also means we can't run the application in multiuser environments such as Remote Desktop Services because the application tends to corrupt itself as multiple people are writing to the same set of files at the same time.
Additionally, they have one big settings ini file that stores important things such as user permissions and the server the program needs to connect to, but it also stores more esoteric settings such as, the color of the window, the size of the window on the screen etc. Because users have to have full access to this ini file, end users are able to modify critical settings. In the end this application requires constant hand holding from my end to make it work. It's a nightmare.
Now the question:
They have recently told us that they will be re-writing their application using the Qt framework. I have discussed with them the issues that I have with their current set of applications and they have told me they do not see an issue with how their current applications perform.
I am wondering whether Qt provides general guidelines on developing for Desktop operating systems? Such as UI guidelines and where and how settings should be stored. As I feel anything official I can send them may sway them into writing a better application.
Thanks :-)
-
Qt tries to provide sane defaults, but stupid programmers will be able to mess up applications, independently of what they use to write it! Not storing settings in the application directory is best practice for ages, even on windows. If they ignore something that simple when microsoft tells them, what makes you think they will listen to us here on the forum? You can try to make them test their application on Linux/Mac as well (cross-desktop is free with Qt after all;-). That might catch some of the more stupid mistakes. That of course can also backfire with platform-specific hacks all over the codebase...
Seriously: Run now... All the attempts to "rewriting an application in XYZ" I witnessed so far resulted in customers getting ignored for month, while everybody is hacking on a version of the software that keeps the big bugs around ("we are just doing a rewrite, we will not change the architecture.") while (re-) introducing lots of small bugs. And after waiting for a couple of month you get no new features at all but have to pay for the privilege.
-
Thanks for the reply Tobias. I have sent them the Windows 7 certification guidelines as that does provide quite a simple overview.
We can't run unfortunately :( I'm stuck with it.