AniDB Applet DEV: Difference between revisions

From AniDB
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
Line 3: Line 3:
= Goal =
= Goal =


A very '''simple to use''' Java Applet which is directly integrated with the AniDB website and enables users to easily add files on their local harddrive to their AniDB mylist.
A very '''simple to use''' Java Applet which is directly integrated with the AniDB website and enables users to easily add files on their local harddrive to their AniDB MyList.


AniDB already offers a number of [[AniDB_Clients]] ([[UDP_Clients]]) which can be used for this purpose and some can even be run as Java applets. However, none of the available clients is user friendly enough to be of use to the general userbase of AniDB. Thus, many people are still adding individual files manually to their mylists or are simply using generic files. The Java Applet is meant to bring the benefits of automated mylist maintenance which is possible by means of AniDB Clients to a new audience.
AniDB already offers a number of [[AniDB Clients]] ([[UDP Clients]]) which can be used for this purpose and some can even be run as Java applets. However, none of the available clients is user friendly enough to be of use to the general userbase of AniDB. Thus, many people are still adding individual files manually to their MyLists or are simply using generic files. The Java Applet is meant to bring the benefits of automated MyList maintenance which is possible by means of AniDB Clients to a new audience.


We are currently looking for people who'd be willing to take on this task. If you're interested, please drop by in #anidb on irc.synirc.net.
We are currently looking for people who'd be willing to take on this task. If you're interested, please drop by in #anidb on irc.synirc.net.
Line 18: Line 18:
** Directly available via a link in the AniDB navbar
** Directly available via a link in the AniDB navbar
** No additional login/authorisation
** No additional login/authorisation
* Use of the UDP API, see: [[UDP_API_Definition]]
* Use of the UDP API, see: [[UDP API Definition]]
* Sun Java plug-in 1.5 compatible
* Sun Java plug-in 1.5 compatible
** Targets: Firefox and Opera (latest versions) on Windows, Linux, MacOS
** Targets: Firefox and Opera (latest versions) on Windows, Linux, MacOS
Line 29: Line 29:
Very simple one page interface with few options.
Very simple one page interface with few options.


The user simply selects a directory and a list is filled with all the supported media files located within that directory. The user can then decide whether files should be renamed or not and then presses the big "Start" button. All files are then hashed, identified and added to mylist one by one and the progress bar and the corresponding file entries in the list are updated accordingly. Once everything is done a notification sound is played and small pop-up is displayed (i.e. "Successfully added XXX files to your mylist.", with buttons "Restart" and "Close").
The user simply selects a directory and a list is filled with all the supported media files located within that directory. The user can then decide whether files should be renamed or not and then presses the big "Start" button. All files are then hashed, identified and added to MyList one by one and the progress bar and the corresponding file entries in the list are updated accordingly. Once everything is done a notification sound is played and small pop-up is displayed (i.e. "Successfully added XXX files to your MyList.", with buttons "Restart" and "Close").


=== Page 1 - Main (and only) page ===
=== Page 1 - Main (and only) page ===
Line 37: Line 37:
** optional: support drag and drop of files/directories under windows
** optional: support drag and drop of files/directories under windows
* Initially empty and greyed out list view with displays all the media files which will be hashed/added due to the selected files/directories. Populated once the user selected files/directories.
* Initially empty and greyed out list view with displays all the media files which will be hashed/added due to the selected files/directories. Populated once the user selected files/directories.
** Once processing starts files are marked (by colour, by image, ...) according to their state (not yet processed, processing, known and in mylist, known and not in mylist, unknown)
** Once processing starts files are marked (by colour, by image, ...) according to their state (not yet processed, processing, known and in MyList, known and not in MyList, unknown)
** optional: context menu which allows removal of specific files
** optional: context menu which allows removal of specific files
* Options
* Options
Line 48: Line 48:
* Button
* Button
** advanced mode (small) (jumps to different UI for advanced users, not specified here)
** advanced mode (small) (jumps to different UI for advanced users, not specified here)
** start (big) (inactive untill files/directories are selected)
** start (big) (inactive until files/directories are selected)


== Suggestion 2 ==
== Suggestion 2 ==
Line 67: Line 67:
=== Page 2 - Hashing ===
=== Page 2 - Hashing ===


Hashes the selected file or all media files located within the selected directories (or their subdirectories...) and identifies all files via a FILE command of the UDP API. No mylist modifications are made at this point.
Hashes the selected file or all media files located within the selected directories (or their subdirectories...) and identifies all files via a FILE command of the UDP API. No MyList modifications are made at this point.


* One sentence explanation of current activity
* One sentence explanation of current activity
Line 86: Line 86:
* One sentence explanation
* One sentence explanation
* Tree or list view of hashed files and their status
* Tree or list view of hashed files and their status
** Unknown / Known / Already in mylist
** Unknown / Known / Already in MyList
** Optional: right click context menu in tree/list view, i.e. to remove a file/entire (sub)directory from the list
** Optional: right click context menu in tree/list view, i.e. to remove a file/entire (sub)directory from the list
* Checkbox: "[ ] Rename known files according to AniDB naming scheme"
* Checkbox: "[ ] Rename known files according to AniDB naming scheme"
Line 96: Line 96:
=== Page 4 - Adding Progress/Finished ===
=== Page 4 - Adding Progress/Finished ===


Executes the actual mylist adding via the UDP API. Initially displays the progress of the adding process and later displays an "All done"  message.
Executes the actual MyList adding via the UDP API. Initially displays the progress of the adding process and later displays an "All done"  message.


* One sentence explanation
* One sentence explanation
* Overall progress bar
* Overall progress bar
* Some statistics
* Some statistics
* All done message after all known files which weren't yet in the users mylist have been added
* All done message after all known files which weren't yet in the users MyList have been added
* Buttons
* Buttons
** Back (jumps to Page 3, handling of already partly executed actions is undefined)
** Back (jumps to Page 3, handling of already partly executed actions is undefined)

Revision as of 12:26, 21 April 2009

Goal

A very simple to use Java Applet which is directly integrated with the AniDB website and enables users to easily add files on their local harddrive to their AniDB MyList.

AniDB already offers a number of AniDB Clients (UDP Clients) which can be used for this purpose and some can even be run as Java applets. However, none of the available clients is user friendly enough to be of use to the general userbase of AniDB. Thus, many people are still adding individual files manually to their MyLists or are simply using generic files. The Java Applet is meant to bring the benefits of automated MyList maintenance which is possible by means of AniDB Clients to a new audience.

We are currently looking for people who'd be willing to take on this task. If you're interested, please drop by in #anidb on irc.synirc.net.

Requirements

  • Extremely simple user interface
    • Usage should be as intuitive as possible for novice users
    • No options which are unlikely to be of interest to a large majority of users
      • Advanced mode for everything else
  • Tight integration with the AniDB website
    • Directly available via a link in the AniDB navbar
    • No additional login/authorisation
  • Use of the UDP API, see: UDP API Definition
  • Sun Java plug-in 1.5 compatible
    • Targets: Firefox and Opera (latest versions) on Windows, Linux, MacOS
  • Open Source

Possible Implementations

Suggestion 1

Very simple one page interface with few options.

The user simply selects a directory and a list is filled with all the supported media files located within that directory. The user can then decide whether files should be renamed or not and then presses the big "Start" button. All files are then hashed, identified and added to MyList one by one and the progress bar and the corresponding file entries in the list are updated accordingly. Once everything is done a notification sound is played and small pop-up is displayed (i.e. "Successfully added XXX files to your MyList.", with buttons "Restart" and "Close").

Page 1 - Main (and only) page

  • Short description sentence at the top
  • File/Directory selection element which allows selection of a file or directory (with ctrl/shift also multiple elements)
    • optional: support drag and drop of files/directories under windows
  • Initially empty and greyed out list view with displays all the media files which will be hashed/added due to the selected files/directories. Populated once the user selected files/directories.
    • Once processing starts files are marked (by colour, by image, ...) according to their state (not yet processed, processing, known and in MyList, known and not in MyList, unknown)
    • optional: context menu which allows removal of specific files
  • Options
    • Checkbox: "[ ] Rename known files according to AniDB naming scheme"
      • Using AniDB profile title language settings for selecting anime and episode title
  • Progress
    • Current file progress
    • Overall progress
    • Statistics and estimates (file x of x, elapsed time xx:xx:xx, time left: xx:xx:xx)
  • Button
    • advanced mode (small) (jumps to different UI for advanced users, not specified here)
    • start (big) (inactive until files/directories are selected)

Suggestion 2

Wizard style interface with 4 pages.

Page 1 - Directory selection

Allows the user to select the file or directory which should be scanned for new files.

  • Short two sentence introduction to applet
  • File/Directory selection element which allows selection of a file or directory (with ctrl/shift also multiple elements)
    • optional: support drag and drop of files/directories under windows
  • Buttons
    • Advanced Mode (jumps to different UI for advanced users, not specified here)
    • Next

Page 2 - Hashing

Hashes the selected file or all media files located within the selected directories (or their subdirectories...) and identifies all files via a FILE command of the UDP API. No MyList modifications are made at this point.

  • One sentence explanation of current activity
  • Directory/Name of currently processed file
  • Progress
    • Per file progress bar
    • Overall progress bar
  • Some statistics
    • i.e. files already hashed, files left to hash, size, speed, time elapsed, estimated time left, ...
  • Buttons
    • Back
    • Next (deactivated while hashing)

Page 3 - Identified files

Displays an overview of all hashed files to the user together with their current status. This page/phase does not interact with the UDP API.

  • One sentence explanation
  • Tree or list view of hashed files and their status
    • Unknown / Known / Already in MyList
    • Optional: right click context menu in tree/list view, i.e. to remove a file/entire (sub)directory from the list
  • Checkbox: "[ ] Rename known files according to AniDB naming scheme"
    • Using AniDB profile title language settings for selecting anime and episode title
  • Buttons
    • Back (jumps to Page 1)
    • Next

Page 4 - Adding Progress/Finished

Executes the actual MyList adding via the UDP API. Initially displays the progress of the adding process and later displays an "All done" message.

  • One sentence explanation
  • Overall progress bar
  • Some statistics
  • All done message after all known files which weren't yet in the users MyList have been added
  • Buttons
    • Back (jumps to Page 3, handling of already partly executed actions is undefined)
    • Restart (jump to Page 1, clear file/directory selection)

Suggestion X

Feel free to add your own suggestions...