2009/2/11 Luke Benstead kazade@gmail.com:
Hi all,
I was thinking earlier it would be quite nice if when I double clicked a Windows app in GNOME it would display a nice dialog saying something like "This Windows application may not run correctly as it is currently rated Silver. Please report any bugs to the Wine project. Continue | Cancel". Obviously this kind of functionality is not a job for Wine, but for the distro. Still, it got me thinking how this kind of functionality might be achieved.
There's been quite a bit of discussion along these lines recently. Unfortunately, AppDB simply isn't reliable enough for this type of dependence. With any luck, that will change when the recently discussed redesign of test data submissions is set up, but it'd still take a long time for sensible data to become reasonably usable.
My idea is that the appdb should allow for people to associate a list of checksums with an application version. For example, WoW might have the checksum for the setup program and the game's executable, associated with the appdb entry. The other extension to the appdb would be to allow a way to programmatically retrieve information on an application's rating etc. by going to a certain address (e.g. http://appdb.winehq.org/getAppInfoFromChecksum.php?checksum=ac2b3f5928cba...) which would return the info in XML or some other format.
You've clearly put quite some thought into this, which is highly commendable. However, I would personally be against such a move, as it would put a lot of extra load on AppDB (in terms of network bandwidth). I'm also not too keen about something that retrieves data from the net every time you run an app. It's too easy for people to mistake it for spyware.
Another problem with a system like this is that ratings change depending not only on application version (which you've addressed) but also on Wine version. Platinum apps could become Garbage for one version (and yes, it has happened). Since AppDB test results tend to be few and far between on version numbers, it's not really useful for an automated "how well will this work?" system. It would have to calculate some sort of "best fit" (which will certainly be completely wrong on occasion), or just ignore the missing data.
And finally, just like with the other suggestions for using the AppDB data elsewhere, this system does not take patches into account. Some apps require patches that completely break others (the Worms Armageddon ddraw hack and CoD hack come to mind here). Unfortunately, there's no sensible way to account for patched Wine in this sort of automated system.
It is not a bad idea to give the user some sort of feedback on how well they should expect their app to run, but unfortunately it's virtually impossible to account for every possibility (patches and broken wineprefixes being the biggest problems).