Suggestions/bugs ranking on MS product feedback site

I've recently posted a few suggestings/bugs to MS Product Feedback site.

They have Top Bugs/Suggestions (How we rank?) section, but I found that their way to use average vote is not appropriate.

In the current approach bug with 3 users rated 5 has bigger rank, that the bug with 60 users voted with average 4.96( almost all rated as 5 and a few rated less).
Also if I want to vote for the suggesting/bug, but consider it less than 5, I could reduce average rate and subsequently overall rank, even if I want to say that the issue is important for me.

I beleive that sum of individual rates will be more appropriate. In this case bug with 3 voters will have rank 15, but bug with 60 voters will have rank about 300 and each new voter will increase rank. This approach also do not required extra consideration “bugs with less than two votes are excluded“.

The approach can be extended to provide different weight for each rate.
E.g rate 5 can have  weight 10000, rate 4 -weight 1000,rate 3 -weight 100, rate 2- weight 10, and rate 1 can have weight 1.
Using the weights 3 votes rated 5 will give rank 30000.

56 votes with rate 5 plus 4 voters with rate 4 will give total rank 564000.

This algorithm looks more fair.

I beleive that MS have good programmers to implement this algorithm.

DotNetNuke exceptions when calling GetSupportedLocales

When I running DotNetNuke 4.0.2, I sometimes (not always !?) receive System.NullReferenceException exceptions in the area related to GetSupportedLocales.

1. I've changed in DNNLibrary\Components\Localization\Localization.vb GetResource(ByVal ResourceFileRoot As String, ByVal objPortalSettings As PortalSettings, ByVal strLanguage As String) function the code to use local variable

Dim locale As Locale = GetSupportedLocales(userLanguage) 'mnf 17/1/2006 second call returns Nothing
'If (Not GetSupportedLocales(userLanguage) Is Nothing) AndAlso (GetSupportedLocales(userLanguage).Fallback.ToLower <> "") Then
If (Not locale Is Nothing) AndAlso (locale.Fallback.ToLower <> "") Then
               fallbackLanguage = locale.Fallback.ToLower 'GetSupportedLocales(userLanguage).Fallback.ToLower
End If

2. In  DNNLibrary\Components\Shared\PageBase.vb PageCulture function I've also added check (Not enabledLocales Is Nothing ) around For Each block

If Not enabledLocales Is Nothing Then 'MNF 18/1/2005

            For Each _localeCode As String In enabledLocales.AllKeys

End If ''MNF 18/1/2005

I found that the similar errors are also posted at DNN Forum here and here.

UPDATE: I was about to post the fix for the DataCache.GetCache pattern when found that it's already done and fixed in the core code 30/1/2006.