MyList DEV: Difference between revisions
m (New page: {{TOCright}} =General= The mylist page will need a complete overhaul in the long run. There are tons of areas which could need some improvement. This is not likely to happen anytime soon, ...) |
mNo edit summary |
||
(10 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
{{TOCright}} | {{TOCright}} | ||
=General= | =General= | ||
The | The MyList page will need a complete overhaul in the long run. There are tons of areas which could need some improvement. This is not likely to happen any time soon, but we might introduce some of the new features ahead of time. | ||
=Areas of Improvement= | =Areas of Improvement= | ||
==Ajax== | ==Ajax== | ||
Similar to the current work on the | Similar to the current work on the Ajax anime page the MyList page should be Ajax'ified to reduce server load and improve load times for users. | ||
At the same time this change would enable us to add some nifty | At the same time this change would enable us to add some nifty JavaScript based extras which improve usability. | ||
This could also be used to allow more dynamic sorting and filtering of the entries (see below). | |||
==Custom per MyList Styling== | ==Custom per MyList Styling== | ||
Some users want to provide links to their | Some users want to provide links to their MyList to others and might even want to integrate their MyList page into a website. Currently the layout/style of the MyList page only depends on the settings of the visiting user. In most cases someone who is following a link to another users MyList from some website is probably not logged in at AniDB. Which means that in general, visitors will always see the MyList in the default AniDB CSS theme. | ||
It would be nice to have a separate | It would be nice to have a separate MyList URL, which modifies this behaviour. The owner of the MyList would be able to customise the look and feel of this special MyList page (at least by specifying a custom CSS URL, probably even with more options than that. I.e. to include/exclude certain parts of the MyList). It is unclear whether more support than that is needed, i.e. for integration of ones MyList via an iframe or via JavaScript code. | ||
This goes somewhat in the direction of what myanimelist.net offers. | This goes somewhat in the direction of what myanimelist.net offers. | ||
==Filtering/Categorizing== | ==Filtering/Categorizing== | ||
The | The MyList page would need a lot more filtering capabilities. | ||
===Tags=== | ===Tags=== | ||
To allow users to freely categorise or annotate anime in any way they feel is useful tags have been introduced. They are not yet supported on the MyList page and are therefore not really useful yet. The idea is as follows. | |||
Tags are small, user specific, semi-private and unstructured information bits which every user can attribute to an anime. A user can add as many tags for an anime as he wishes. Tags added by a user are not visible to normal AniDB users. Tags are not moderated and there will be no rules restricting their use but mods will be able to see/check their usage. | |||
Tags can however be displayed on #anidb in aggregated form (this may be restricted to public tags at some point). That means while users are free to use them in any way they want, they should keep in mind that the tags themselves may be visible to other users in an anonymous form. As such tags should not contain any privacy sensitive information. | |||
Users will also be offered a privacy option in the profile settings to make their tag data available to the different user groups when visiting their MyList. This is needed to allow other visitors to use tag based filtering and sorting MyList features. By default tags would be shown only to buddies. | |||
Some interface ideas: | |||
* tags are arbitrary utf8 strings with up to 50-500 characters (how much should we allow?) | |||
* users can view all their tags for each anime on the anime page | |||
* users can add new personal tags for an anime on the anime page | |||
* users can see all their tags on a special MyTags page, from which they can get lists of all anime with the specific tag (maybe an animepage/MyList style expand icon, next to each tag?). This page would also allow some maintenance tasks, i.e. delete tag, rename tag, merge tags, ... and display some tag usage stats. If any tags are "public" (see below) that status would indicated. | |||
* on the MyList users can hide/show anime entries depending on their tags (show only anime with tag X, don't show anime with tag Y). Filtering is not restricted on one tag at a time (show only anime with tag X and tag Y and not tag Z). | |||
* tags could be added to/removed from anime on MyList page, some auto complete function (for all tags used by that user) in the form field may help reduce typing effort and reduce the risk of typos. There could also be a drop-down with all existing tags from which they can easily be added to anime entries. Together with a link to add a new tag. (the anime page tag page should be similar) | |||
* when a user does a normal or advanced anime search the tag data could be taken into account. Furthermore a special syntax for the normal search could be added to allow explicit tag search, i.e. "tag:XYZ" | |||
* special MyList URLs with password + hash could be added which allow restricting visitors to anime with/or without a specific tag. I.e. users could add tag X to all anime they want to be visible/not visible and get a special URL to their MyList from the MyTags page which would hide all other entries. This could be used i.e. to hide hentai entries from the publicly visible part of the MyList. Or to organise the MyList into different subsets and make only some of the subsets visible to visitors, possibly different subsets to different visitors. | |||
* anime hint could allow filtering by tag | |||
* ... | |||
In the long run a part of the tag system may become publicly available on the website, however, this has not yet been decided and will not be decided until enough tag data has been added to allow some trials concerning the usefulness of aggregated tag data. However, if aggregated values would be used some day, they'd be most likely be handled in some semi-moderated way. I.e. | |||
* a tag can have two states, public or private. By default all tags are private. A private tag can only be seen by mods @ website. | |||
* mods check a top50 page of the most used private tags every now and then | |||
* private tags can be promoted to public tags by a mod | |||
* mods can group multiple synonymous tags together, if needed | |||
* aggregated public tags are displayed on anime pages | |||
* chii may also be restricted to display only public tags | |||
This does not conflict with the category/genre system. As that system can not cope with the enormous amount of different tags which are likely to be added by users. The category/genre tree needs to be displayable in full at different points on the AniDB website, i.e. on the add/edit category to anime page and on the advanced search page. As such it's size needs to be limited to maintain usability. | |||
The tag approach would allow for a much finer and less structured way of attribution of short, arbitrary information bits to anime entries. Another aspect is the fact that this is more of a majority principle based approach rather than the moderated approach taken for categories/genres. It is impossible to decide now whether this would work/be useful but it well might be. This part should therefore become the focus of discussion once we've collected enough tag data. | |||
{{t|466|Tracker: 446}} | |||
===Storage/Source/Other Filters=== | ===Storage/Source/Other Filters=== | ||
It may be interesting to allow users to filter anime and file entries in | It may be interesting to allow users to filter anime and file entries in MyList based on the contents of the storage, source or "other" fields of the MyList entries. | ||
One possible approach would be: | One possible approach would be: | ||
* cron job splits all fields at a specific delimiter char, i.e. ",", then strips all leading and trailing | * cron job splits all fields at a specific delimiter char, i.e. ",", then strips all leading and trailing white spaces from the sub-strings and lower cases them. they are then all collected together and cached at the anime level (listcachetb) as a "," separated string. | ||
* filtering on anime level (all anime which are not expanded) would include/exclude all anime entries which contain the search string (listcachetb) | * filtering on anime level (all anime which are not expanded) would include/exclude all anime entries which contain the search string (listcachetb) | ||
* filtering on file level (for expanded | * filtering on file level (for expanded anime) would include/exclude all file entries which contain the search string (listtb) | ||
It's not clear what the best collating semantic would be. | It's not clear what the best collating semantic would be. | ||
Line 37: | Line 71: | ||
===Categories/Genres=== | ===Categories/Genres=== | ||
It should be possible to filter the | It should be possible to filter the anime in MyList by category/genre. I.e. "display all unwatched action anime" | ||
{{t|550|Tracker: 550}} | |||
===Improvements to State Filters=== | ===Improvements to State Filters=== | ||
[http:// | {{t|75|Tracker: 75}} ? | ||
===Saved Filters=== | |||
<tt>[21:31] PetriW Hmm, I don't know if this is interesting for you guys with the new MyList stuff but I thought I'd mention it anyway<br> | |||
[21:31] PetriW in aom.6 I've made a feature where you can create named filters<br> | |||
[21:32] PetriW they're essentially tabbed pages which filters the MyList based on a quite complex previously created filter<br> | |||
[21:32] PetriW aka, a bit more advanced than tags<br> | |||
[21:33] PetriW but it may be interesting to take a similar approach for the MyList, aka let the user create presets for the customizations you're considering<br> | |||
[21:33] PetriW and easily flip between them<br> | |||
[21:34] PetriW most of what was in the advanced search in aom.5 can be used in the filters, and quite a lot more stuff<br> | |||
[21:34] PetriW and TBH I don't think that'd be all that heavy on AniDB either, because I think you cache all the same stuff I cache</tt> | |||
==Sorting== | |||
The MyList should be freely sortable according to different criteria, some interesting candidates could be: | |||
* by first addition date to MyList (on anime level), so you can see when you began collecting specific anime | |||
* by latest addition date to MyList (on anime or file level), so you can see what new stuff you've got recently | |||
* by completion date (on anime level), would allow you to see what stuff you recently finished collecting | |||
* by watched date, to see what you've watched recently | |||
* by AniDB anime/animetmp/review rating | |||
* by personal anime/animetmp/review rating | |||
* ... | |||
Some of these are already implemented. | |||
[http://forum.anidb.net/viewtopic.php?t=6243 Forum] | |||
[[Category:Development]] | |||
[[Category:Mylist]] |
Latest revision as of 19:35, 15 May 2009
General
The MyList page will need a complete overhaul in the long run. There are tons of areas which could need some improvement. This is not likely to happen any time soon, but we might introduce some of the new features ahead of time.
Areas of Improvement
Ajax
Similar to the current work on the Ajax anime page the MyList page should be Ajax'ified to reduce server load and improve load times for users. At the same time this change would enable us to add some nifty JavaScript based extras which improve usability.
This could also be used to allow more dynamic sorting and filtering of the entries (see below).
Custom per MyList Styling
Some users want to provide links to their MyList to others and might even want to integrate their MyList page into a website. Currently the layout/style of the MyList page only depends on the settings of the visiting user. In most cases someone who is following a link to another users MyList from some website is probably not logged in at AniDB. Which means that in general, visitors will always see the MyList in the default AniDB CSS theme.
It would be nice to have a separate MyList URL, which modifies this behaviour. The owner of the MyList would be able to customise the look and feel of this special MyList page (at least by specifying a custom CSS URL, probably even with more options than that. I.e. to include/exclude certain parts of the MyList). It is unclear whether more support than that is needed, i.e. for integration of ones MyList via an iframe or via JavaScript code.
This goes somewhat in the direction of what myanimelist.net offers.
Filtering/Categorizing
The MyList page would need a lot more filtering capabilities.
Tags
To allow users to freely categorise or annotate anime in any way they feel is useful tags have been introduced. They are not yet supported on the MyList page and are therefore not really useful yet. The idea is as follows.
Tags are small, user specific, semi-private and unstructured information bits which every user can attribute to an anime. A user can add as many tags for an anime as he wishes. Tags added by a user are not visible to normal AniDB users. Tags are not moderated and there will be no rules restricting their use but mods will be able to see/check their usage.
Tags can however be displayed on #anidb in aggregated form (this may be restricted to public tags at some point). That means while users are free to use them in any way they want, they should keep in mind that the tags themselves may be visible to other users in an anonymous form. As such tags should not contain any privacy sensitive information.
Users will also be offered a privacy option in the profile settings to make their tag data available to the different user groups when visiting their MyList. This is needed to allow other visitors to use tag based filtering and sorting MyList features. By default tags would be shown only to buddies.
Some interface ideas:
- tags are arbitrary utf8 strings with up to 50-500 characters (how much should we allow?)
- users can view all their tags for each anime on the anime page
- users can add new personal tags for an anime on the anime page
- users can see all their tags on a special MyTags page, from which they can get lists of all anime with the specific tag (maybe an animepage/MyList style expand icon, next to each tag?). This page would also allow some maintenance tasks, i.e. delete tag, rename tag, merge tags, ... and display some tag usage stats. If any tags are "public" (see below) that status would indicated.
- on the MyList users can hide/show anime entries depending on their tags (show only anime with tag X, don't show anime with tag Y). Filtering is not restricted on one tag at a time (show only anime with tag X and tag Y and not tag Z).
- tags could be added to/removed from anime on MyList page, some auto complete function (for all tags used by that user) in the form field may help reduce typing effort and reduce the risk of typos. There could also be a drop-down with all existing tags from which they can easily be added to anime entries. Together with a link to add a new tag. (the anime page tag page should be similar)
- when a user does a normal or advanced anime search the tag data could be taken into account. Furthermore a special syntax for the normal search could be added to allow explicit tag search, i.e. "tag:XYZ"
- special MyList URLs with password + hash could be added which allow restricting visitors to anime with/or without a specific tag. I.e. users could add tag X to all anime they want to be visible/not visible and get a special URL to their MyList from the MyTags page which would hide all other entries. This could be used i.e. to hide hentai entries from the publicly visible part of the MyList. Or to organise the MyList into different subsets and make only some of the subsets visible to visitors, possibly different subsets to different visitors.
- anime hint could allow filtering by tag
- ...
In the long run a part of the tag system may become publicly available on the website, however, this has not yet been decided and will not be decided until enough tag data has been added to allow some trials concerning the usefulness of aggregated tag data. However, if aggregated values would be used some day, they'd be most likely be handled in some semi-moderated way. I.e.
- a tag can have two states, public or private. By default all tags are private. A private tag can only be seen by mods @ website.
- mods check a top50 page of the most used private tags every now and then
- private tags can be promoted to public tags by a mod
- mods can group multiple synonymous tags together, if needed
- aggregated public tags are displayed on anime pages
- chii may also be restricted to display only public tags
This does not conflict with the category/genre system. As that system can not cope with the enormous amount of different tags which are likely to be added by users. The category/genre tree needs to be displayable in full at different points on the AniDB website, i.e. on the add/edit category to anime page and on the advanced search page. As such it's size needs to be limited to maintain usability. The tag approach would allow for a much finer and less structured way of attribution of short, arbitrary information bits to anime entries. Another aspect is the fact that this is more of a majority principle based approach rather than the moderated approach taken for categories/genres. It is impossible to decide now whether this would work/be useful but it well might be. This part should therefore become the focus of discussion once we've collected enough tag data.
Storage/Source/Other Filters
It may be interesting to allow users to filter anime and file entries in MyList based on the contents of the storage, source or "other" fields of the MyList entries. One possible approach would be:
- cron job splits all fields at a specific delimiter char, i.e. ",", then strips all leading and trailing white spaces from the sub-strings and lower cases them. they are then all collected together and cached at the anime level (listcachetb) as a "," separated string.
- filtering on anime level (all anime which are not expanded) would include/exclude all anime entries which contain the search string (listcachetb)
- filtering on file level (for expanded anime) would include/exclude all file entries which contain the search string (listtb)
It's not clear what the best collating semantic would be.
- collect all values together
- file 1 has storage "hddX", file 2 has storage "hddX, cdA" => on anime level: "hddX, cdA"
- take only those tags which all files have (or at least one file for each ep)
- file 1 has storage "hddX", file 2 has storage "hddX, cdA" => on anime level: "hddX"
Categories/Genres
It should be possible to filter the anime in MyList by category/genre. I.e. "display all unwatched action anime" Tracker: 550
Improvements to State Filters
Saved Filters
[21:31] PetriW Hmm, I don't know if this is interesting for you guys with the new MyList stuff but I thought I'd mention it anyway
[21:31] PetriW in aom.6 I've made a feature where you can create named filters
[21:32] PetriW they're essentially tabbed pages which filters the MyList based on a quite complex previously created filter
[21:32] PetriW aka, a bit more advanced than tags
[21:33] PetriW but it may be interesting to take a similar approach for the MyList, aka let the user create presets for the customizations you're considering
[21:33] PetriW and easily flip between them
[21:34] PetriW most of what was in the advanced search in aom.5 can be used in the filters, and quite a lot more stuff
[21:34] PetriW and TBH I don't think that'd be all that heavy on AniDB either, because I think you cache all the same stuff I cache
Sorting
The MyList should be freely sortable according to different criteria, some interesting candidates could be:
- by first addition date to MyList (on anime level), so you can see when you began collecting specific anime
- by latest addition date to MyList (on anime or file level), so you can see what new stuff you've got recently
- by completion date (on anime level), would allow you to see what stuff you recently finished collecting
- by watched date, to see what you've watched recently
- by AniDB anime/animetmp/review rating
- by personal anime/animetmp/review rating
- ...
Some of these are already implemented.