2012-07-03 03:38:28 +04:00
|
|
|
Priority work
|
2012-08-02 05:47:42 +04:00
|
|
|
[_] 64% Preview II
|
2012-07-31 20:31:21 +04:00
|
|
|
[X] 100% sorted images in ribbons
|
2012-07-31 11:37:18 +04:00
|
|
|
[X] 100% stage I: position the promoted/demoted image correctly
|
|
|
|
|
| and correct positioning on promote/demote
|
|
|
|
|
|
|
|
|
|
|
| input:
|
|
|
|
|
| [01][02][03][04][05][06][07][08][09][10][11] ... [19][20]
|
|
|
|
|
|
|
|
|
|
|
| single ribbon, nothing special here.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| general sort:
|
|
|
|
|
| [05] [10][11][12] [15] [19][20]
|
|
|
|
|
| [01] [04] [06][07][08] [13][14] [18]
|
|
|
|
|
| [02][03] [09] [16][17]
|
|
|
|
|
|
|
|
|
|
|
| each strip is positioned above or below the place it was
|
|
|
|
|
| shifted from.
|
|
|
|
|
| if there is not enough space use weights to balance the
|
|
|
|
|
| thing.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| selected [08]:
|
|
|
|
|
| [05] [10][11][12] [15] [19][20]
|
|
|
|
|
| [01] [04] [06][07][[08]] [13][14] [18]
|
|
|
|
|
| [02][03] [09] [16][17]
|
|
|
|
|
|
|
|
|
|
|
| above and below images are centered around the current
|
|
|
|
|
| image as axis, the rule is that the strips left are coming
|
|
|
|
|
| from the left of the axis and likewise for the right side.
|
|
|
|
|
|
|
2012-07-31 20:31:21 +04:00
|
|
|
[X] 100% stage II: scroll ribbons correctly
|
|
|
|
|
| this is simple:
|
|
|
|
|
| - center the right edge of image returned
|
|
|
|
|
| by getImageBefore in all ribbons other than current...
|
|
|
|
|
| - center current-image in current ribbon
|
|
|
|
|
| - vertically center the current ribbon (negative margin?)
|
2012-07-19 14:15:26 +04:00
|
|
|
[X] prototype and basic API
|
2012-07-31 11:37:18 +04:00
|
|
|
[X] 100% migrate main code to the new system
|
2012-07-24 15:53:34 +04:00
|
|
|
[X] basic navigation
|
|
|
|
|
[X] basic actions
|
|
|
|
|
[X] zooming
|
2012-07-31 20:31:21 +04:00
|
|
|
[X] position other ribbons...
|
|
|
|
|
| only prev/next for now...
|
|
|
|
|
[X] 100% correct zooming and modes
|
2012-07-30 16:20:41 +04:00
|
|
|
[X] zooming in ribbon view
|
2012-07-31 11:37:18 +04:00
|
|
|
[X] 100% zoom presets for ribbon view
|
|
|
|
|
| other possible presets:
|
|
|
|
|
| - five
|
|
|
|
|
| - all
|
|
|
|
|
| - group
|
|
|
|
|
| - day/month
|
|
|
|
|
| - shoot
|
|
|
|
|
| - tag
|
|
|
|
|
| ...
|
2012-07-30 16:20:41 +04:00
|
|
|
[X] three
|
|
|
|
|
[X] one (with zooming)
|
2012-07-31 20:31:21 +04:00
|
|
|
[X] single image mode with zooming
|
2012-07-03 03:38:28 +04:00
|
|
|
| ribbons are hidden
|
2012-08-02 05:47:42 +04:00
|
|
|
[_] 18% UI
|
2012-07-31 20:31:21 +04:00
|
|
|
[_] fix single image mode
|
|
|
|
|
| need to center the image correctly...
|
2012-08-02 05:47:42 +04:00
|
|
|
[_] 44% add screen buttons for all actions...
|
2012-08-01 01:37:58 +04:00
|
|
|
[X] navigation
|
|
|
|
|
[X] actions
|
|
|
|
|
[_] zooming
|
|
|
|
|
[_] 20% zoom presets
|
|
|
|
|
[_] in
|
|
|
|
|
[_] out
|
|
|
|
|
[_] single
|
|
|
|
|
[_] three
|
|
|
|
|
[X] wide
|
|
|
|
|
| toggle...
|
2012-08-02 05:47:42 +04:00
|
|
|
[_] return to current image / home (after drag)
|
|
|
|
|
[_] tap image to return from large magnification
|
|
|
|
|
[_] pinch to zoom
|
2012-08-01 01:50:52 +04:00
|
|
|
[_] stretch viewer to screen
|
2012-07-31 11:37:18 +04:00
|
|
|
[_] 0% layout
|
|
|
|
|
[_] tablet
|
|
|
|
|
| - buttons at sides
|
|
|
|
|
| - big, finger-friendly buttons
|
|
|
|
|
| - only horizontal (???)
|
|
|
|
|
|
|
|
|
|
|
| check if this works:
|
|
|
|
|
| @media handheld {}
|
|
|
|
|
[_] PC
|
|
|
|
|
| - no buttons (except for help and settings in corners)
|
|
|
|
|
| - keyboard
|
|
|
|
|
|
|
|
|
|
|
| @media screen {}
|
|
|
|
|
[_] web
|
2012-08-01 01:45:21 +04:00
|
|
|
| is this is the same as the above two? (with auto-select)
|
2012-07-31 11:37:18 +04:00
|
|
|
[_] 0% setting screen
|
|
|
|
|
[_] basic screen
|
|
|
|
|
[_] keyboard config (low priority)
|
|
|
|
|
[_] view mode (low priority)
|
2012-08-01 01:37:58 +04:00
|
|
|
[X] 100% debug mode
|
|
|
|
|
[X] toggle cross-hair
|
2012-08-01 01:45:21 +04:00
|
|
|
[_] 66% fix layout and animations
|
|
|
|
|
[X] zooming
|
|
|
|
|
[X] navigation
|
|
|
|
|
[_] 0% actions
|
|
|
|
|
[_] bug: shifting up to new ribbon pushes the current row down...
|
2012-08-03 17:56:24 +04:00
|
|
|
| before starting on a fix, need to cleanup the code from old hacks and workarounds...
|
2012-08-02 05:08:27 +04:00
|
|
|
[_] 40% optional features...
|
|
|
|
|
[_] 80% drag/move action...
|
|
|
|
|
[X] basic infrastructure
|
2012-08-01 01:45:21 +04:00
|
|
|
[X] action: center current image
|
2012-08-02 05:08:27 +04:00
|
|
|
[X] while zoomed more than the screen
|
|
|
|
|
[X] while zoomed out (ribbon view)
|
|
|
|
|
[_] 0% cleanup...
|
|
|
|
|
[_] disable click events while dragging
|
2012-08-02 05:47:42 +04:00
|
|
|
[_] differentiate with gestures
|
|
|
|
|
| might be nice to add a Ps-like "space-dragging"
|
|
|
|
|
| feature to differentiate nav gestures and
|
|
|
|
|
| dragging...
|
|
|
|
|
| ...this may not work for tablets
|
|
|
|
|
|
|
|
|
|
|
| for tablets might be good to add a small timeout to
|
|
|
|
|
| both gestures and dragging, small enough for things
|
|
|
|
|
| to feel natural...
|
|
|
|
|
|
|
|
|
|
|
| another way is to start dragging anyway but if the
|
|
|
|
|
| eventual action resembles a gesture then exec that.
|
|
|
|
|
| ...this will need careful setup of timeouts and
|
|
|
|
|
| dynamic disabling/enabling of both drag and gestures
|
|
|
|
|
| e.g. of large zooms dragging takes priority.
|
2012-08-01 01:45:21 +04:00
|
|
|
[_] 0% native client
|
|
|
|
|
[_] android
|
2012-07-14 00:21:52 +04:00
|
|
|
[_] 0% misc
|
2012-08-02 06:29:11 +04:00
|
|
|
[_] slideshow...
|
2012-07-14 00:21:52 +04:00
|
|
|
[_] add sort/re-sort capability...
|
2012-07-16 21:22:18 +04:00
|
|
|
[_] make scrolling of other ribbons proportional to the gap...
|
2012-07-31 11:37:18 +04:00
|
|
|
[_] 0% refactoring (low priority)
|
|
|
|
|
[_] cleanup legacy workarounds
|
|
|
|
|
[_] ui.js, gallery-prototype.js either merge or revise split logic
|
2012-07-14 00:21:52 +04:00
|
|
|
[_] 0% Preview III
|
2012-08-03 17:56:24 +04:00
|
|
|
[_] dynamic image/preview swap for zooming
|
|
|
|
|
| important to make 1:1 previews for all main views and zoom levels...
|
|
|
|
|
| also need to make this as device-neutral as possible...
|
|
|
|
|
[_] dynamic image loading/unloading to very large ribbons
|
|
|
|
|
| it is important to make this far enough from the curent view for the user not to notice anything...
|
2012-07-31 11:37:18 +04:00
|
|
|
[_] 0% view modes
|
|
|
|
|
[_] grid mode
|
|
|
|
|
[_] calendar mode
|
2012-07-03 03:38:28 +04:00
|
|
|
[_] 0% native client
|
|
|
|
|
[_] android
|
2012-07-30 16:20:41 +04:00
|
|
|
[_] windows
|
2012-07-03 03:38:28 +04:00
|
|
|
[_] MacOS (low priority)
|
|
|
|
|
[_] iOS (low priority)
|
2012-07-14 00:21:52 +04:00
|
|
|
[_] 0% Pre-Alpha
|
|
|
|
|
[_] 0% finalize UI logic
|
2012-07-03 03:38:28 +04:00
|
|
|
[_] unsorted images
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Goals:
|
|
|
|
|
main ribbon always consistent
|
|
|
|
|
fast sorting via several simple passes
|
|
|
|
|
binary
|
|
|
|
|
| items are split into two ribbons.
|
|
|
|
|
|
|
|
|
|
|
| this can be done either by mandatorily shifting either up or
|
|
|
|
|
| down or by restricting shifting to just one direction.
|
|
|
|
|
|
|
|
|
|
|
| this is a bit too restrictive.
|
|
|
|
|
|
|
|
|
|
|
| essentially this is a combination in the ternary approach
|
|
|
|
|
| below as we can still shift images between levels.
|
|
|
|
|
ternary
|
|
|
|
|
| current ribbon and items are either sifted up, shifted down
|
|
|
|
|
| relative to it or left on, unshifted.
|
|
|
|
|
|
|
|
|
|
|
| main ribbon consistency is not always obvious, especially on
|
|
|
|
|
| partially sorted sets. e.g. while sorting part of the set where
|
|
|
|
|
| should the unsorted part be?
|
|
|
|
|
|
|
|
|
|
|
| sorted section
|
|
|
|
|
| +-------------------+
|
|
|
|
|
|
|
|
|
|
|
| oooooooooooooooooooooooooooooooo
|
|
|
|
|
| - oooooooooooooooooooooooooooo
|
|
|
|
|
| > oooooooooooooooooooooxxxxxxxxxxxxxxxxxxxxxxxxxxx... <
|
|
|
|
|
| + oooooooooooooooo
|
|
|
|
|
| oooo
|
|
|
|
|
|
|
|
|
|
|
| +----------------------------+
|
|
|
|
|
| which level should this go to?
|
|
|
|
|
|
|
|
|
|
|
| in the illustration, the ribbon marked by ">" and "<" is where
|
|
|
|
|
| the sorting started.
|
|
|
|
|
|
|
|
|
|
|
| there is also a question of how do we define the border between
|
|
|
|
|
| sorted and unsorted zones and when?
|
|
|
|
|
| ...after the sort is done, and when is that?
|
|
|
|
|
|
|
|
|
|
|
| possible ways to go around this:
|
|
|
|
|
| before sorting select the working batch
|
|
|
|
|
| - adds an extra step
|
|
|
|
|
| - restricts later sorting
|
|
|
|
|
| restrict promotion over the main ribbon
|
|
|
|
|
| + sorting can be refined later in the same mode
|
|
|
|
|
| - prevents the user to select the better images on first pass
|
|
|
|
|
| split the sorted and unsorted batches and never mix them
|
|
|
|
|
| - restricts later sorting
|
|
|
|
|
| main ribbon always shows all the better images (from better levels)
|
|
|
|
|
| o needs a way to move whole topologies up/down relative
|
|
|
|
|
| to the main ribbon...
|
|
|
|
|
| one way to do this is select and shift multiple images
|
|
|
|
|
| will shift the whole pyramid (with all the "worse" images in between)
|
|
|
|
|
| - introduces modes: sorting / viewing
|
|
|
|
|
| - adds a separate stage -- move the topology to a correct
|
|
|
|
|
| main ribbon position
|
|
|
|
|
|
|
|
|
|
|
| Q: is this system applicable to sorting search results?
|
|
|
|
|
| A: likely yes, but the farther one gets from the main ribbon
|
|
|
|
|
| the more the difference can get between adjacent images.
|
|
|
|
|
images are always sortable
|
|
|
|
|
all levels always browsable
|
|
|
|
|
make all the steps except the actual sorting implicit
|
|
|
|
|
| i.e. no jumping through hoops for the human...
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-06-08 18:30:54 +04:00
|
|
|
basic structure
|
2012-06-08 21:07:27 +04:00
|
|
|
[X] ribbons
|
|
|
|
|
[X] images
|
|
|
|
|
[_] indicators
|
|
|
|
|
| show where the images came from...
|
2012-08-03 17:56:24 +04:00
|
|
|
|
2012-06-08 21:07:27 +04:00
|
|
|
|
|
|
|
|
[_] % basic control elements
|
|
|
|
|
[_] 77% touch zones / buttons
|
|
|
|
|
[X] next DONE
|
|
|
|
|
[X] prev DONE
|
|
|
|
|
[X] shift up DONE
|
|
|
|
|
[X] shift down DONE
|
|
|
|
|
[X] promote DONE
|
|
|
|
|
[X] demote DONE
|
2012-08-03 17:56:24 +04:00
|
|
|
[_] zoom in ~
|
|
|
|
|
[_] zoom out ~
|
2012-06-08 21:07:27 +04:00
|
|
|
[X] toggle single image DONE
|
|
|
|
|
|
2012-08-03 17:56:24 +04:00
|
|
|
[_] 38% features
|
|
|
|
|
[_] 55% views
|
|
|
|
|
[_] 60% ribbon-based view
|
2012-06-08 21:07:27 +04:00
|
|
|
[_] show all
|
|
|
|
|
| might be good to not show any images here at all, just replace them with their average color
|
|
|
|
|
[X] show map
|
|
|
|
|
[X] fit to ribbon
|
2012-08-03 17:56:24 +04:00
|
|
|
[X] fit to image (square)
|
2012-06-08 21:07:27 +04:00
|
|
|
[_] ribbon with promoted/demoted images
|
|
|
|
|
| show semi-transparent images that were demoted/promoted from current ribbon
|
|
|
|
|
[_] 50% single image view
|
|
|
|
|
[_] image fit to screen
|
|
|
|
|
[X] image fit to square
|
|
|
|
|
| show parts of upper and lower ribbons
|
2012-08-03 17:56:24 +04:00
|
|
|
[X] image zooming
|
2012-06-08 21:07:27 +04:00
|
|
|
| fast zooming to stages:
|
|
|
|
|
| fit
|
|
|
|
|
| 100%
|
|
|
|
|
| 200%
|
|
|
|
|
| ...
|
|
|
|
|
[_] basic editing and manipulation
|
|
|
|
|
| image unchanged, data saved to json...
|
|
|
|
|
[_] crop
|
|
|
|
|
[_] rotate
|
|
|
|
|
|
2012-08-03 17:56:24 +04:00
|
|
|
[_] 38% General ToDo
|
|
|
|
|
[_] 80% image sorting
|
2012-06-08 21:07:27 +04:00
|
|
|
[_] will affect:
|
2012-08-03 17:56:24 +04:00
|
|
|
[X] promote
|
|
|
|
|
[X] demote
|
|
|
|
|
[X] shift up
|
|
|
|
|
[X] shift down
|
2012-06-08 21:07:27 +04:00
|
|
|
[_] ribbon merging
|
|
|
|
|
[_] add promote/demote events (to attach structure editors)...
|
2012-06-13 21:49:52 +04:00
|
|
|
| enable extension and use as a generic widget...
|
2012-06-08 21:07:27 +04:00
|
|
|
[X] add real images...
|
|
|
|
|
[_] make all the code relative to the current selection (multiple instances on a page support)
|
2012-08-03 17:56:24 +04:00
|
|
|
[X] add ribbon relative scrolling...
|
2012-06-13 21:49:52 +04:00
|
|
|
| each ribbon is positioned relative to the current selected image
|
|
|
|
|
| below-left: closest image to the left of the current
|
|
|
|
|
| bolow-right: same as above but right...
|
|
|
|
|
|
|
|
|
|
|
| this will demote/promote the image directly up or down...
|
2012-06-08 21:07:27 +04:00
|
|
|
[_] make this into a jquery plugin...
|
|
|
|
|
[_] add dynamic loading and unloading for very large sets...
|
2012-06-17 16:52:40 +04:00
|
|
|
[X] gesture support...
|
2012-06-08 21:07:27 +04:00
|
|
|
[_] add basic actions:
|
|
|
|
|
[_] rotate left
|
|
|
|
|
[_] rotate right
|
|
|
|
|
[_] crop
|
|
|
|
|
...
|
|
|
|
|
[_] add info:
|
|
|
|
|
[_] number of images in ribbon
|
|
|
|
|
[_] position in ribbon
|
|
|
|
|
|
|
|
|
|
|
2012-06-17 16:52:40 +04:00
|
|
|
[X] 100% refactoring:
|
|
|
|
|
[X] merge almost identical functions...
|
2012-06-08 21:07:27 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
[_] % ISSUES and BUGS:
|
|
|
|
|
[_] jumping on focus up/down...
|
|
|
|
|
[_] demoting a first element (a ribbon is created) positions the field incorrectly (see demoteImage() for details)...
|
|
|
|
|
|
|
|
|
|
.
|
|
|
|
|
| vim:set spell :
|