| 
									
										
										
										
											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-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 | 
					
						
							|  |  |  | 		[_] 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-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... | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | [_] % 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 | 
					
						
							|  |  |  | 		[_] zoom in				~		need real zooming... | 
					
						
							|  |  |  | 		[_] zoom out			~		need real zooming... | 
					
						
							|  |  |  | 		[X] toggle single image	DONE | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | [_] 11% features | 
					
						
							|  |  |  | 	[_] 45% views | 
					
						
							|  |  |  | 		[_] 40% ribbon-based view | 
					
						
							|  |  |  | 			[_] 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 | 
					
						
							|  |  |  | 			[_] fit to image (square) | 
					
						
							|  |  |  | 			[_] 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 | 
					
						
							|  |  |  | 	[_] image zooming | 
					
						
							|  |  |  | 	| fast zooming to stages: | 
					
						
							|  |  |  | 	| 	fit | 
					
						
							|  |  |  | 	| 	100% | 
					
						
							|  |  |  | 	| 	200% | 
					
						
							|  |  |  | 	| 	... | 
					
						
							|  |  |  | 	[_] basic editing and manipulation | 
					
						
							|  |  |  | 	| image unchanged, data saved to json... | 
					
						
							|  |  |  | 		[_] crop | 
					
						
							|  |  |  | 		[_] rotate | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-06-17 16:52:40 +04:00
										 |  |  | [_] 20% General ToDo | 
					
						
							| 
									
										
										
										
											2012-06-08 21:07:27 +04:00
										 |  |  | 	[_] 0% image sorting | 
					
						
							|  |  |  | 		[_] will affect: | 
					
						
							|  |  |  | 			[_] promote | 
					
						
							|  |  |  | 			[_] demote | 
					
						
							|  |  |  | 			[_] shift up | 
					
						
							|  |  |  | 			[_] shift down | 
					
						
							|  |  |  | 			[_] 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-06-13 21:49:52 +04:00
										 |  |  | 	[_] add ribbon relative scrolling... | 
					
						
							|  |  |  | 	| 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 : |