AniDB Applet DEV: Difference between revisions

From AniDB
Jump to navigation Jump to search
No edit summary
 
(12 intermediate revisions by 3 users not shown)
Line 1: Line 1:
= Goal =
{{TOCright}}
== 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.


= Requirements =
We are currently looking for people who'd be willing to take on this task. If you're interested, please drop by in {{IrcLink|anidb-dev}}.


== Requirements ==
* Extremely simple user interface
* Extremely simple user interface
** Usage should be as intuitive as possible for novice users
** Usage should be as intuitive as possible for novice users
Line 12: Line 15:
** 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
* 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
* Open Source
* Open Source


= Possible Implementations =
== Possible Implementations ==
=== Suggestion 1 ===
Very simple one page interface with few options.


== Suggestion 1 ==
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").


Wizard style interface with 4 dialogs.
==== 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)


=== Dialog 1 - Directory selection ===
=== 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.
Allows the user to select the file or directory which should be scanned for new files.


Line 34: Line 57:
** Next
** Next


=== Dialog 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 49: Line 71:
** Next (deactivated while hashing)
** Next (deactivated while hashing)


=== Dialog 3 - Identified files ===
==== 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.
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
* 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"
** Using AniDB profile title language settings for selecting anime and episode title
* Buttons
* Buttons
** Back (jumps to dialog 1)
** Back (jumps to Page 1)
** Next
** Next


=== Dialog 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 dialog 3, handling of already partly executed actions is undefined)
** Back (jumps to Page 3, handling of already partly executed actions is undefined)
** Restart (jump to dialog 1, clear file/directory selection)
** Restart (jump to Page 1, clear file/directory selection)
 
=== Suggestion X ===
Feel free to add your own suggestions...
 
[[Category:Development]]

Latest revision as of 07:06, 7 May 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 irc://irc.synirc.net/anidb-dev.

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...