PortableMag/TODO.otl
2013-03-09 17:19:24 +04:00

437 lines
15 KiB
Plaintext
Executable File

[_] 39% Priority work
[_] 77% general todo
[_] 0% Priority work for 10.03.13
[_] change image
[_] add page via template
[_] load/save state (migrate)
[_] load/save from JSON (migrate)
[_] basic instructions/docs...
[_] page settings in full view editor
| could even be fixed...
[_] 37% Version 1.0 checklist (migration to layout.html)
[X] page scaling for full page view
[X] top/bottom toolbars
[X] splash screen w. logo
[_] logo on splash screen
[_] 33% bells 'n' whistles
[_] navigator
[_] bookmarks
[X] article navigation
[_] URL navigation
[_] layers (URL-activated)
[_] 0% overlay pages
[_] credits & copyright
[_] basic user config
[_] help and instructions
[_] Editor: select template...
[_] issue selection & related navigation
| essentially a special magazine that will load other magazines
| instead of going into a full page view...
[_] 20% #URL rework...
[X] make #URLs a configurable framework...
| rather than being hard-coded as they are now...
[_] make #URLs magazine-specific...
[_] BUG: when #URL updates are off layer toggling breaks...
| will show but not hide layers...
[_] BUG: href to existing anchors will mess up layout...
| need to find out how can we disable anchor links from actually
| going to the anchor...
[_] BUG: browser history on internal links is broken...
| ...with both UPDATE_HASH_URL_POSITION and FULL_HISTORY_ENABLED false.
[_] BUG: after moving pages around in the editor captions do not appear...
| ...until the editor is cycled on and off.
[_] BUG: loading a magazine with position set to 0 will align it incorrectly.
| needs testing with the rewritten fitNPages()...
[_] Editor: might be a good idea to prevent deleting the last page...
| this can be done in two ways:
| - deleting the last page actually replaces it with a blank
| - deleting the last page will also delete the empty article/magazine
[_] Editor: page marking and grouping...
| also edit the group properties...
| another idea is "group with next/prev" button, just like shift left/right
[_] editor mode service page
| a virtual page at the end/start of the magazine with magazine-specific
| settings.
| similar to the current configuration demo page.
[_] 60% move some of the current configuration options to the magazine...
[X] page align
| global, magazine, article, page-set, page
[X] resize settings (.no-resize class)
| global, magazine, article, page-set, page
[_] default page/content size
| global, magazine, article
[X] fit page to view
| global, magazine, article
[_] drag full page
| global, magazine
[_] add default empty state to viewer, magazine and article...
| use it to trigger a "New Magazine", "New Cover"/"New Article" and
| "New Cover"/"New Page" actions...
[_] Editor: make empty magazine and article visible in the editor...
[_] 57% add the following icons to buttons.svg
[X] magazine create
[_] magazine remove
[X] article create
[_] article remove
[X] article shift left
[X] article shift right
[X] page create
[_] page remove
[X] page shift left
[X] page shift right
[_] save
[X] bookmark
[X] < left
[X] > right
[_] (<) left
[_] (>) right
[X] (i) info
[_] (+) new
[_] (x) remove
[_] 66% populate an example issue
[_] template 3x3 grid
[X] template photo page
[X] template two column text
[_] make layer default state configurable...
| e.g. setting "shown"/"hidden" classes in HTML and adding
| something like a page reset that will restore the default state,
| rather than the current "hideLayers"
[_] JSON: add metadata section that can be downloaded separately...
[_] JSON: add page URLs as an alternative to direct content...
| use AJAX to get remote pages and their nested content
[_] 75% JSON: add the following fields to metadata section:
[_] issue URL
[X] authors
[X] title
[X] name
[_] BUG: 3 fingers+ do not work on android...
[_] 70% build a custom scroll lib...
[X] 100% features:
[X] drag/scroll
[X] inertial
[X] snap
| if enabled, on release, detect nearest snap-point and scroll to it.
[X] 100% tragets
[X] smooth scroll on devices (iscroll)
| adaptive transitions, etc.
[X] snap scroll to markers (a-la iscroll)
[X] snap align
[X] left (iscroll)
[X] center
[X] right
[X] flexible event system
[X] pre/post events
[X] ability to cancel current action
| like stop scrolling at a given point.
[X] both x and y axis support (x is a priority)
[X] scroll phases
[X] user scroll phase
| from mousedown/touchstart and to mouseup/touchend
[X] auto scroll phase
| from mouseup/touchend and untill scrollend
|
| must account for speed...
[X] momentum
[X] snap
[_] 0% actions
[_] 0% .scrollTo(target)
| must accept:
[_] element
[_] px
[_] name
[_] 50% events
basic anatomy
|
| user scroll +-------------------+
| +-------------------------+ auto scroll
|
| touchstart touchend
| | |
| scrollstart userscrollend scrollend
| userscrollstart | |
| | | |
| v v v
| o----+--+-+-+--+-+---+-+--o----+--+-+-+---+---+
| ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^
| +-----------------+ +----------+
| scroll scroll
|
[X] 100% scroll
[X] scrollstart / userscrollstart
| on mousedown/touchstart
[X] scroll
| mousemove/touchmove
|
| also triggered by lib on auto-scroll...
[X] userscrollend
| on mouseup/touchend
[X] scrollend
[_] 0% snap
[_] snapped
[_] 0% EXPERIMENT: Try using scroll instead of left of .magazine....
[_] try and get rid of .scroller
[_] try using the scroll event to see of we reached the limit...
| and move the limit accordingly
[_] BUG: scrool seems to do odd things on refresh...
[X] BUG: new pages do not get focus/blur event handlers...
| ...avoid ALL local handlers within the .magazine structure
[X] BUG: tab navigation will scroll the view...
| need to either prevent tab nav or control it so as not to get off page...
|
| now tabs switch pages.
[X] Editor: add toggleEditiorMode to all editables in all versions...
| text areas, inputs, ...
[X] add global credits and copyright page...
| list and link all the used software and authors...
[X] Editor: add basic control toolbars...
[X] 100% Editor version 1.0 checklist
[X] editor toolbar
| this can take two forms:
| - global
| - relative to page
| - mixed (preferred)
[X] save/load JSON
[X] BUG: full-page-view-mode class does not apply to some elements...
| - toolbars
| - bookmarks
[X] JSON load/save
[X] BUG: navigator indicator does not scroll
[X] check if scrollTo knows about element scaling...
| if not update the code....
[X] Editor: make the editor switchable...
| if it is imported it should be able to switch on and off on demand...
[X] BUG: togglePageView results in jumpy animation if USE_REAL_PAGE_SIZES is set
| this does not happen if USE_REAL_PAGE_SIZES is set and FIT_PAGE_TO_VIEW
| is unset...
|
| the most likely cause is that there is some time passing between some
| edits to element parameters. these writes must be done in an as compact
| a burst as possible,
|
| see fitNPages(...) for resolution...
[X] 100% add two main page themes (global/local applicable):
[X] light
[X] dark
[X] add transition-duration editors to config page (a-la PAGES_IN_RIBBON)...
| will help tuning the system,,,
[X] BUG: jquery does not set background to none on detached elements...
| use transparent instead!!
[X] 100% add page sets..
[X] general page navigation
[X] serialization
[X] PROBLEM: cover is not found within the page-set
[X] PROBLEM: next/prev article navigation is broken
[X] add option to align page to right or left screen border
| now only centering is possible...
[X] make #URL updates optional...
[X] add click current page to full page view...
[X] 100% templates
[X] page number
[X] current page
| this is not really a template...
|
| XXX should this be a real template...
[X] magazine title
[X] Editor: decide weather to make the editor toolbar oriented or floating bars around context...
[X] add in-page live templates...
| elements that will get generated content, like page numbers etc.
[X] JSON: store format version in the JSON file...
[X] MINOR BUG: on loading a mag from JSON page widths get messed up...
| ...in cases where content elements have explicit widths pages do
| not get stretched, this can be fixed by simply updating the view
[X] magazine loader and data format...
| this is simple, just use a restyled magazine viewer...
[X] localize magazine event handler setup to setupMagazineEvents function...
[X] JSON builder loader...
[X] do a better structure diagram...
[X] BUG: initial load on android does not center on the correct page...
| for some odd reason only one of the first and second pages are opened
| correctly, any other page results in showing the second page and any
| click focuses the correct page...
|
| CAUSE:
| the cause for this turned out to be the fact that the page is loaded
| allot faster than it is full alligned and rendered on android, so
| a fix for this is to set the page some 300ms later...
|
| XXX find a better solution!
[X] make corners clickable for bookmarking...
[X] bookmark active zone in upper-right corner of page...
[X] SVG icons and logo...
[X] add page numbers...
[X] 100% bookmarks
[X] add next/prev bookmark actions
[X] #bookmark anchor
[X] bookmark indicators in navigator
[X] bookmark indicators in thumbnails
[X] bookmark persistence
[X] set bookmark from keyboard...
[X] set bookmark touch control
[X] vanquish opacity effects
| they slow everything down considerably!
[X] add keyboard navigation...
[X] navigator -- indicate position in thumbnail mode...
[X] test for stability
[X] cleanup code
[X] add history #URLs..
[X] BUG: something odd going on with window.onResize event...
| on android it sometimes fires and sometimes does not -- rotating
| the screen does not always scale things correctly...
[X] examples for links and anchors...
[X] BUG: unstable page fitting.
| also broken for portrait layouts...
[X] try a slightly different layout...
|
| +-page--------------+
| |+-content---+ |
| || | |
| || |<---->|
| || | |
| |+-----------+ |
| +-------------------+
|
|
| Thumbnail view
| +------------+------+
| +------------+\ - - + \ \
| \ \\ \ \ \
| \ \\ \ \ \
| \ \+------------+------+
| +------------+------+
| ^
| +--- margin-right: -X
|
| Full page view
|
| +-screen------------+ +----
| \ +------------+---\--+\
| --\-+\ \ \ \\
| \ \\ \ \ \\
| +-------------------+ \+----
| \+------------+------+
| ----+
|
| NOTE: this is not a good idea if not all the pages have the
| same BG...
|
|
| Here is another approach:
|
| Thumbnail view
| +-page--------------+
| |+-content---+ |
| || | |
| || | |
| |+-----------+ |
| +-------------------+
|
| Full page view
| +-page--------------+
| | +-content---+ |
| | | | |
| | | | |
| | +-----------+ |
| +-------------------+
|
|
[X] add two finger swipes to navigate between articles...
[X] add pinch events...
[X] #URL "layers"
| navigation to a hidden layer will show the layer, any other
| navigation will hide it...
[X] something made phonegap version unhappy...
| likely the URL logic...
|
| try and make it optional...
[X] add page urls
[X] add state saving to local storage
[X] use modes (CSS) for thumbnail/page views...
[X] 100% stage 1 - basic features
[X] global navigation bar
[X] real magazine structure
[X] 100% basic article navigation
[X] next page
[X] prev page
[X] show previews
[X] go home
[X] go to prev article
[X] go to next article
[X] real previews
| use zoom to show a ribbon...
[_] 25% stage 2 - templates and examples
[_] 0% default cover templates
[_] 0% default page templates
| a template is a class and predefined content...
[_] template examples
| this should include CSS docs
[_] cover
[_] simgle image with caption
[_] Elements
[_] image fit to screen
[_] caption overlay
[_] grid of blocks
| might be good to use a table here...
[_] Elements
[_] list of blocks
[_] number of columns
[_] block types
[_] text
[_] viewable image
| on click show big version in overlay
[_] page
| a scaled version of a page...
[_] text with title
[_] text with image
[_] plain
[X] 100% default actions
[X] show/hide layer
[_] 33% stage 3 - editor and templating
[_] 0% template engine
[_] 66% edition editor / publisher
[X] create/delete magazine
[X] cover
[_] 33% article
[X] add
[_] delete
[_] move
[X] 100% page
[X] add
| from template
[X] delete
[X] move
[_] 0% fill template field
[_] image
[_] text
[_] 0% stage 4 - issue browser
[_] issue browser structure
[_] 0% issue navigation
[_] issue list
[_] 0% issue download
[_] whole edition dowload and update (primary mode)
[_] seporate issue download (secondary)
[_] 0% TouchSwipe issues...
[_] BUG: swipe-back does not cancel a swipe... (TouchSwipe)
| ...unless the finger is return to within the threshold of the
| touchdown point.
[_] BUG: no drag threshold on excludedElements (TouchSwipe)
| stalled...
[_] 0% Low priority todo
[_] look into HPub ebook spec...
| https://github.com/Simbul/baker/wiki/hpub-specification
| https://github.com/Simbul/baker
| http://bakerframework.com/
[_] vertically scrollable pages....
[_] pages that are wider than the screen (aligned to ribbon)...
[_] make pages of different formats work...
[_] find a passive CSS-only way to size pages in different modes...
[_] time transitions
| the goal is for slow devices to seem not to have animations at
| all and faster ones to seem to have fast animations...
.
| vim:set spell :