Task:Karma for applications

(Metrics for judging "quality")
Line 29: Line 29:
* Number of contributors in Garage
* Number of contributors in Garage
-
All karma items are counted once per day, and stored so that the development of application karma can be followed on a graph.
+
All karma items are counted once per day, and stored so that the development of application karma can be followed on a graph. The total karma of an application will be available in the application's [http://www.midgard-project.org/documentation/mgdschema-metadata-object/ metadata.score].
== Counting currently "hot" applications ==
== Counting currently "hot" applications ==

Revision as of 08:39, 5 May 2009

Image:Ambox_notice.png
This is an ongoing task, planned to be completed during the current maemo.org development sprint. Any help is appreciated!
Please see the talk page for discussion.

Application karma seeks to provide plausible "score number" for each application in the Maemo application catalog.

The application karma will follow a pattern familiar from Maemo's user karma (see http://maemo.org/profile/list/ and http://maemo.org/profile/view/bergie/), utilizing various sources of information about the application to calculate its activity and importance.

Goals

  • Provide a simple, unified way for users and developers to judge an application's quality.
  • Provide a distributed quality assurance system for handling package promotion.

Metrics for judging "quality"

These are calculated using information inside maemo.org Midgard database:

  • Number of downloads
  • Number of ratings
  • Average rating
  • Frequency of updates
  • Number of releases available
  • Number of OS versions supported

As well as from outside it:

  • Bug activity (in Bugzilla)
  • Freshmeat.net stats (when the new Freshmeat reimplements their APIs)
  • Blog mentions (via Technorati, using "unixname" as tag)
  • Screenshots uploaded (via Flickr, using "unixname" as tag)
  • Number of contributors in Garage

All karma items are counted once per day, and stored so that the development of application karma can be followed on a graph. The total karma of an application will be available in the application's metadata.score.

Counting currently "hot" applications

To make a dynamic listing of applications that are "hot right now", we need to store some additional download statistics per application:

  • Total amount of downloads
  • Average downloads per day during last week
  • Yesterday's downloads

These can then be used to calculate whether an application is getting more downloads on a given day than usual, meaning that it is "currently hot".

This should be possible to count via:

current karma = (yesterday's karma - age modifier) + (total download count - yesterdays downloadcount - lastweeks daily average)