ROAD MAP -> Where are we going?

==========================================================================================================================================================================

---------- JDK after 8 ----------

C:\Users\sbaber>"c:\Program Files\Java\jdk-11\bin\jdeps.exe" -jdkinternals  \Users\sbaber\Fileaxy-122.jar
Fileaxy-122.jar -> JDK removed internal API
Fileaxy-122.jar -> java.base
Fileaxy-122.jar -> java.desktop
   oz.zomg.fileaxy._common.gui.icon.IconFactory2      -> sun.awt.shell.ShellFolder                          JDK internal API (java.desktop)
   oz.zomg.fileaxy._common.util.IoUtil                -> sun.misc.Cleaner                                   JDK internal API (JDK removed internal API)
   oz.zomg.fileaxy._common.util.IoUtil                -> sun.nio.ch.DirectBuffer                            JDK internal API (java.base)
   oz.zomg.fileaxy.gui.menu.JMenu_Fb_SfpRelated$_JMenuItem_ImportScrollToLink -> sun.awt.shell.ShellFolder  JDK internal API (java.desktop)

JDK Internal API                         Suggested Replacement
----------------                         ---------------------
sun.misc.Cleaner                         Use java.lang.ref.PhantomReference @since 1.2 or java.lang.ref.Cleaner @since 9

Warning: JDK internal APIs are unsupported and private to JDK implementation that are
subject to be removed or changed incompatibly and could break your application.
Please modify your code to eliminate dependence on any JDK internal APIs.
For the most recent update on JDK internal API replacements, please check:
https://wiki.openjdk.java.net/display/JDK8/Java+Dependency+Analysis+Tool

==========================================================================================================================================================================

---------- FILE mgmt ----------

- FEATURE need Merge Copy where copying to an identically folder named destination asks for overwrite (dumb copy into), sync (report of deleting from dst those missing from src and also replacing with newer src) and move of a mispositioned but existing file to avoid unneeded recopy and deletion

- FEATURE rename dialog should include (Replace Unicode) button that remaps quote, emdash, etc to '_'

- FEATURE rename dialog should include (Replace white space) button that remaps multiple spaces, space, and tab to '_'

- FEATURE need multiple folder Copy To / Move To dialog menu command for little dir buttons by allowing lil' Folders to be multiply selected as JToggle's by [SHIFT] click

- FEATURE when moving files fails because of file or dir lock, show dialog letting user either select only or deselect only those locked files

- FEATURE hasher SHA1 and MD5 calculator in SFP preview to clipboard

- FEATURE for systems with troublesome [ALT] support like Ubuntu, ensure that every Move operation (excepting Trash) has a Copy option check box

- FEATURE proper handling of older MSWin shortcuts and Mac alias files

- FEATURE query by resource fork size on Macs (UI stubbed-in)

- FEATURE import from inside .ZIP archives (as a series?) and Mac resource forks  (note: .ISO, .IMG, .DMG, .gz, .ZIP, etc can be mounted as a read-only volume by Host OS)

- FEATURE export tab view that allows for converting files to different pixel dimensions or image formats <- ImageMagick and FFmpeg?

- FEATURE exterminate / find based on Adler+SHA1, use case is to maintain a list of files for deletion on back-up copy volumes, ex. 4GB junk phone videos, etc

==========================================================================================================================================================================

---------- HOST DM integraton ----------

- FEATURE on Linux use/update DesktopManager files from ~/.cache/thumbnails/..., see http://standards.freedesktop.org/thumbnail-spec/thumbnail-spec-0.8.0.html

- FEATURE [JFX performance testing needed first! was seeing high CPU] => support JavaFX8 by translating simply laid out containers like JMenus into jfx equivalents. Does not require runtime originating from jfx8.jar and Fileaxy being a plugin

- FEATURE On the Mac, one gets a Menu Bar whether you use it or not, so it should probably be populated with menus from the tool bar buttons.and a Window menu

- FEATURE need an application icon for Mac, that requires Java .APP wrapper discontinued in XCode but NetBeans has a native app builder in project right-click, Note: Apple App Store now allowing javaFx, also Swing?

- FEATURE Google Drive integration could copy/move a series into a GoogDrive Folder (presently there no official Linux GD client)

==========================================================================================================================================================================

---------- ICON view ----------

- FEATURE with preview icon and long file name, wrap file name to the right of image in FC

- FEATURE find multi-similar dialog needs eye button if user does not know that right-clicking the button gives similarity check preview

- FEATURE enhancement need a configuration check box or check item for Similars view tab to find only from outside alpha series, i.e. to disqualify any SC_Similar that come from the same alpha series AND same dir

- FEATURE remove FB's current SFP selection, this facilitates regeneration of bad previews (when AWT .JPG renderer glitches yellow-purple) or black no memory

- FEATURE non-MacPorts/HomeBrew deployment solution for Mac with FFmpeg, ImageMagick and/or GraphicsMagick, binary installers either crash or are not available on MacOSX 10.9

- FEATURE non-rasterized (I.M. & G.M.) PDF preview via poppler-util, see http://ask.slashdot.org/story/14/08/07/1811227/ask-slashdot-best-pdf-handling-library

- FEATURE non-rasterized (I.M. & G.M.) .SVG preview via ?

==========================================================================================================================================================================

---------- PERSISTENCE ----------

- FEATURE persist similarity scores against a single SFP within the 94% threshold, this would speed Selection Similar checks

- FEATURE persist all dirs to a central file for proper initial population on Path header subdirs

- FEATURE persist all file meta-data to a central binary file, browsers become a reference to path+file name, careful to not break nice no rewriting when no Browser Inventory change

- FEATURE should persist anchoring SFP location in current view for persistence and scrolling back when starting again

- FEATURE (note: implemented custom Store) start using Derby DB for persisted thumbnails as opposed to rewriting .jobj everytime

- FEATURE (note: implemented custom Store) When Thumbnail BufferedImage is softly GC'd, would be a good time to write compressed .PNG byte[] to SQL data base or networked media server with SQL backend

- FEATURE (note: implemented custom Store) allow other DBs such as as PostgreSQL or DB4 which may have better performance

==========================================================================================================================================================================

---------- PRESENTER ----------

- FEATURE replace JCombo list with multi-column popper of view files and move currently viewed pathname to Presenter window title bar

- FEATURE pop-up or right click-menu for similar images of currently displayed (but only enable when that task has completed)

- FEATURE double-buffering is not happening, 1 sec. of black between image calcs

- FEATURE [PAGE UP][PAGE DOWN] should move magnified images up-down by 1/3rd screen height and [HOME][END] do right-left by 1/3rd screen width

- FEATURE select 1 only, currently view SFP in originating FilesBrowser

- FEATURE automatic timed advance in presenter

- FEATURE clicking to the right of magnified imager window goes to next, clicking to the left goes previous

- FEATURE Slideshow needs to have a proper full screen mode, esp. on Mac which will require and undecorated window break out {http://docs.oracle.com/javase/tutorial/extra/fullscreen/index.html}

- FEATURE text files display in Presenter (will need syntax coloring via helper or histogram)

- FEATURE with video, fill Presenter window with frames from every 15 secs as a table, JList?

==========================================================================================================================================================================

---------- I18N ----------

- FEATURE proper handling after diacriticals stripped with File name sorting, Tag word selector, and One letter menus

==========================================================================================================================================================================

---------- UX ----------

- FEATURE need running list of user initiated name changes and their date+time DTG

- FEATURE unified information gathering driven by file being lodged in memory for preview creation, dimension check, adler checksum and, SHA1

- FEATURE show and search file (or dir?) POSIX group info

- FEATURE select top '999' but with an option for a file type, use Kind menu popup but default to 'All types'

- FEATURE SC_Path right click should shows submenu of 'portal' paths ref'd from dirs in other places, i.e. a list or other paths that portal point into this right-clicked SC_Path

- FEATURE if a SC_Path has no FCs when (Select) button then select all child SFPs

- FEATURE in JDialog_Path, include a search field (that has option to also find all from FolderCentral) that has full tree awareness

- FEATURE have FC show info for image compression ratio (WxHx4 / file size) but not video

- FEATURE Select By compression ratio (WxHx4 / file size) but not video

- FEATURE Trash submenu needs to show what files are being trashed as reveal buttons under the command (number is not good enough)

- FEATURE JMenu_TitleSeriesPath should include a "Select Children" command under "New Browser of" only if it has child folders

- FEATURE include a modification time setter in Reorder view for files that have UNKNOWN dates, have a global pref for what date demarcation constitutes UNK, ex 1980-JAN-1 with DOS

- FEATURE under define selection cmds Sizes, Dates, Words, add select Series SFP Counts of current Associator view tab , ex.  [_] At Least_____  [X] At Most __1__

- FEATURE no [SHIFT][LEFT ARROW] or [SHIFT][RIGHT ARROW] to easily extend selection in a SC, problem is the Find JTextField gets these

- FEATURE [ALT]+[UP] / [ALT]+[DOWN] arrow keys need to move single selection (left & right move search cursor)

- FEATURE to JDialog_SelectBySize, add a file size histogram whose horizontal axis is powers of two file size bins from 1024K to 1TB (size of VirtualMachine disk image files)

- FEATURE clicking in browser white space or FC_Lite and dragging should show rubber banding selection box in JGlassPane and live feedback

- FEATURE need a sort selector to Comparator order SFPs by path, alpha-num, date, size in the Search Navigator and Presenter

- FEATURE more generalized bulk rename facility for non-alphanum series such as character substitution, camel-case removal and cross-platform sanitize

- FEATURE big image or text preview in magnifier located in bottom of or right of selection flow bar when key press and browser window is focused.

- FEATURE pie charts show relative file sizes versus bar charts for file counts or just tree cushion map

- FEATURE view series and 64-bit DTG classifier for digital camera / calendar date that extracts that date info from file name, ex. "2012-12-31_13-23-25_15.jpg"  Especially helpful in case where FAT time stamps are wrong from older software

- FEATURE view series for NumericPrefix (will pull together year prefixed docs across all folders) as opposed to AlphaPrefix, number first series ex. 2008-EffectiveJabba.pdf

- FEATURE Midnight commander tab where two panes show the contents (files, dirs) at ONE only path

- FEATURE for Duplicate and Similar SCs, place icons into the SeriesController name label that indicate same parent path, same name, same modif date, same content (for Similar only)

==========================================================================================================================================================================

---------- XPERIMENTAL ----------

- FEATURE break 16x16 ARGB similarity int[]s into runs of 1x1, 2x2, 4x4, 8x8, and 16x16 to speed up comparisons (so that they can always be available in preview menu); be sure to migrate the (0,0) top-left summary/averaged pixel of the 16x16 into the 1x1

- FEATURE image similarity algorithm can easily be made smarter, especially when considering chroma keyed, or black, or white backgrounds

- FEATURE use com.sun.imageio.plugins.common.PalleteBuilder (change constructor visibility with Reflection) to create color swatches to match against for expanded Find Similar capability

- FEATURE keep Icon store files under a user set limit, ex. 1GB, Last Recently read BLOB epoch file dates for BLOBs omitter

- FEATURE need networking module to subnet broadcast for Fileaxy helpers filtered by IP white list and checkbox for listen to helper broadcast.  Then Find Similars cand be better parrelilized and the info going over the network (16x16 ARGB arrays) is not sensitive

- FEATURE [will try JavaFX8 first] OpenGL rendering will fix the Java7 performance regression and let us get more Fileaxy <- adding many series still a problem! ex. 900 different AlphaNum series

- FEATURE tool tips need alpha fade of 33% if Swing allows this

- FEATURE tool tips need to get out of the way when the user clicks, the click should go THRU the tip

- FEATURE name bisect length max pixels slider where begin and end of file name are visible but middle is '...'

- FEATURE location meta data extraction and series construction based on GIS clusters

- FEATURE Tree Cushion View [somewhat mitigated by Select Top File sizes]

- FEATURE [ haven't needed it ] need global UI option for empowering user to choose whether comparisons via SHA-1 MD -versus- exhaustive byte-by-byte scan

==========================================================================================================================================================================

---------- market ----------

- NEED digital signature from certificate authority to encrypt .JAR for trust validation

rebrand PathRecon / Filealaxy / FolderRecon / Thumbler / JNailer / Quicknailer2 when moving to JavaFX8 (FileRecon somebody else's)

http://developer.ubuntu.com/apps/
http://partners.ubuntu.com/contact-us
https://www.kickstarter.com/discover/advanced?category_id=51&sort=magic&state=all
http://en.wikipedia.org/wiki/Kickstarter
http://www.intransitione.com/blog/take-java-to-app-store/
