This page can be used to discuss features -- if they're good, bad or needed to be expanded upon. I'm starting the page with some ideas that were posted in the forum. Some of these we are already implementing, some not.
The rating buttons belong in the top section and are hidden or disabled when no track is playing. By using simple text, instead of abstract icons, they take very little screen space and match with the look of the OS. People are used to this interface, every web page uses it.
To change the rating of an already rated track, you click on the stars in the rating column. So there is no problem with the selected track. (This has been implemented)
The rating column can also show the status of a track. (missing, % downloaded, broken, archived, unrated, etc.)
Early Song Play
At the beginning of the download tracks are dimmed and can not be selected. When 20 seconds of a track has been received, the track becomes selectable, so that it can be previewed and eventually rejected. This will benefit both the users and the poor music servers.
The status area at the bottom shows the status OF THE PROGRAM. (connecting to ..., waiting for ..., getting suggestions, downloading music from ...) or non fatal errors. If the program is off line, it shows the status of the database (xx tracks, yy hours, zz Mb). It can also show tooltips, but these disappear after a couple of seconds.
Experienced users will probably want to hide the list completely, as it is of not much use. There might be a preference like "Hide List", "List All", "List Rated Only" and "List Unrated Only".
Due to occasional slow download speeds, it would be a good idea to provide a simple text frontent, which could be run on a system without X running. This GUI might only be used for downloading or could be a full fledged frontend based on ncurses using mpeg123 as sound backend.
A way to customize the play order would provide more diverse listening, possibly two options, random or sequential. With sequential ordered by the sorted column headers, or possibly a separate playlist to see the tracks that will be played next, so you could change their order.
Some users behind a firewall that requires a username and password authentication are unable to use iRATE in that environment. In the near future there are plans to change to a protocol that uses port 80, which most firewalls let past.
For the sake of completeness, it might be nice to include all of the trackdatabase.xml info about the track on the popup Track Info dialog, most importantly the URL, which currently can only be found by looking at the raw XML file, but also rating, times played, last time played, and "status, (in spite of the slight redundancy that they may also be available in other places in the user interface.)
The Track Info dialog also contains one field, genre, that is not stored in the XML file. (opinion: It would be nice if genre was stored in the XML file, along with all of the tag data available within the MP3. The software that converts the data from the MP3 tags to XML not only becomes a more complete and general tool in the finest traditions of open source, but having the genre available within the XML could be one step towards adding some kind of "mood filtering", which i think is the most important missing feature of iRATE at the moment. - MichaelRedux)
MP3 streaming/remote control
It would be nice if there was a way to use one's standard media player (i.e. Winamp) to play the tunes from iRATE. Perhaps there could be an option (or plugin?) to provide a Shoutcast stream so that any streaming player could be used. This would also have a plugin of some sort for Winamp that allowed the user to rate the tracks. Basically iRATE would be acting as a server instead of a standalone application.