Mar 21, 2007

GNU/DEBIAN and UBUNTU: Possibility to comment and rate packages in Synaptic

Abstract

Sometimes a new package makes your life easier, a music player, an editor, a new library... this don't come in the standard GNUDebian/(X|K|EDU)Ubuntu/Debian based distribution and it isn't too common to apperar in a guide. You discover the package thanks to a friend, a blog, a tutorial.
My idea is to give synaptic the infraestruture to make comments and rate the packages by the users.
To develop the idea, synaptic need an external centralized system to store the data.

Scenario

I'm a user, when I was installing some package did some postinstall configuration, I comment it in synaptic for the community.
The same user discover a free good game in the repository, he rate it.
Other user looking for a good video player, do a search and select the most rated one, reading the comments of other users.

Description

The project will improve the features of synaptic giving some community direct interaction with the package system. I'm the kind of guy that read and reread the "new packages" section, looking for good software, I think the feedback given by popularity contest is incomplete because the use of a package does not means that it is popular, only that a lot of people had installed. That people do not know if there is a better package for his necessities.

Domain

User looking for new software or feathures.
Packages and package system (apt).
User who like to share his experience.

Desing autodiscussion

We need some infraestructure to store online the comments and the ranking.

User control? I think no, only a username
And the trolls? a sysop, a moderator?
Bandwith problems? a mirror system. replicate and propagate the changes.
Get the comments on demand will be best option.
Get the ranking should be very fast (its only a number) to sort lot of packages by ranking.
The ranking system should be separately from the comments systems.
What kind of data for the comments, some rich text, quotes, bullets, links.
Possibiliti to deactivate de comments and the ranking system

Use Cases

1: right click in a package --->contextual menu with the usual options, "rate", "add comment", "read comments" .
2: select "rate"---> submenu with stars rate system
3:select number of stars ---> "rate successful" and store information.
4: select "add comment"--->display a window with a text field to add coments and a button "OK"
5: select ok --> store the comment.
6: select "read comments"-->download the comments about a package and show it pagining.
7: sort by ranking -->current packages view is sorted by rank

Roadmap

  1. Modelize the store system, decide the best option.
  2. Study the synaptic source, get some feedback from the project admins
  3. UMLize the project.
  4. Coding a prototype of the ranking system.
  5. Test and retest, get some feedback.
  6. De-bug the code. repeat 5,6 until I'm happy.
  7. Codding a prototype of the comments system.
  8. Test and retest, get some feedback, take care about load times.
  9. De-bug the code. repeat 8,9 until I'm very happy.
  10. Look for the propagate system, do some test with more users, diferent mirrors etc...
  11. inprove and inprove.

Possible problems

Data incosistensy through mirrors
Server congestion.
Trolls, spam,

Possible security problems

Trust the data
Privacity for the users

1 comment:

jhansonxi said...

Interesting idea. I'm not sure about the user feedback. It would be easy to artificially inflate popularity. Maybe rank the rankers like eBay does. Another possibility would be to aggregate statistical info on installed packages and usage and aystem configurations. Mandriva had something like the latter for hardware.