CSS Paging Breakout, TPAC, Sapporo

28 Oct 2015

See also: IRC log


rossen, daniel glazman (glazou), Shinyu Murakami, Ivan Herman, Fantasai, Alan Stearns, Dave Cramer, Brady Duga, Liam Quin, and some others...
Shinyu Murakami


(Note: the minutes are only partial; we forget to invite rrsagent at the beginning; the participants' list is also very partia;...)

rossen: there are two ways of looking at how frag and pagination can happen
... the automatic way the user or browser agent works for print
... defined in css-page and gcpm
... there are two more specs
... one is css-break
... which is going into CR
... Fragmentation talks about what happens at page boundaries
... if this is a css box generated from a div, perhaps it will break
... maybe its decorations would be preserved or copied

ivan: this is widows, page-break-before, etc

rossen_: yes
... this is where magic happens, where we start fragmenting the content
... there are two more specs that are relevant
... there's CSS Regions
... that is a primitive
... we've thought of it as a basic primitive that lets me create this line
... the other ones are multicol and page
... regions is a primitive applicable to any box
... i want to create the magic line
... so that my content will be fragmented
... css regions is stable
... there's one issue
... with regions you can do primitive templating
... take content from one place and put it somewhere else
... I think that using css regions you can create anything that has to do with fragmentation
... we use regions for all our fragmentation in IE and Edge
... print preview is based on regions
... it's very flexible and easy to use primitive
... a lot of digital publishign views in windows app ecosystem were done using regions
... i mentioned multicol as another way of frag. as if there was a page
... and there's css-overflow
... which was brought up as competition to regions
... similar to regions, its a primitive to create a box that breaks and auto-generates rest of boxes
... one more page, one more page... overflow does it automatically
... it's the repeater template
... overflow had some work in May 2015

ivan: as a user it bothers me that there are two similar things

rossen_: I agree

liam: we spent years in FO working on a slightly more complicated page area
... with page masters which are templates
... lots of difficulty
... we had simple page master
... by taking away all the magic
... a problem we had with page areas
... people may need several hundred master pages
... need one for an odd page, one for even
... one for :first
... so you need to define with conditional content

rossen: did similar stuff with regioins
... for two reasons, I wanted to learn this stuff
... and discover if regions is the most basic primitive we can come up with
... I sympathize with your problem with complex templates
... especially when you do content matching
... [draws at whiteboard]
... you need rules on how content gets placed
... it gets complex quickly
... this is the reason why we looked at pagination and digital publishing presentation as an application model
... we satisfied ourselves with regions based on elements
... and giving people script apis to tell when content is fragments
... and the ability to make more boxes
... so you're exposing the most basic funtionality on the app layer
... I strongly believe we shouldn't do templating in the platform

liam: people at publishers are varied
... most publishers don't have lots of programmers
... we will hope for frameworks
... the problem space is what is the solution for the most degeneate case when you don't control the content
... lots of xml feeds coming into a reader, for example
... going back to the status
... are you missing anything?

ivan: yes, that's good

<kwkbtr> There is IDPF informational document EPUB Adaptive Layout, which defines its own page layout processing model http://www.idpf.org/epub/pgt/

ivan: this last thing bothers me
... this means that publishers has to have the knowledge to add scripting to get pagination
... in my experience, people who work at publishers who know what to do are rare

brady_duga: now that's done by people creating reading systems, shims on top of browsers

rossen: these publishers are not able to handle and present rich media
... in the more modern media, then they'll be lost quickly
... media should be interactive

ivan: if i am a scholar and just want to publish my paper in a professional way
... some need interaction, but most dont
... just want really good looking output which paginates properly in epub
... if even for that I need scripting then I'm dead

rossen: you as author should not care about scripting
... I, as creator of reading system, will need to know scripting
... I'll have to do interactive stuff on top of the scripting

brady_duga: one hole in this world
... we have the power to do these layouts
... but you as the author might want to change something
... if author scripts this, it interferes with reading system scripting
... there's no declarative way for author to describe page

???: if I publish in a journal, i have little say in how the content is presented

ivan: true
... but there's more and more self publishing

???: you said you as provider of ebook reading syastem wants cool output

scribe: it's like publisher, printer, author need to agree
... true for lots of ebook presentation systems

Rossen: I've worked on lots of these
... for a11y reasons and ease of use, end user what to be empowered on presentation
... "i don't want it to be paginated" I want to scroll and read
... I have arthritis and I can't scroll. can you allow auto scrolling
... you have author, publisher, printer, and user
... four people disjointly trying to make the experience a success
... css has a big part of it, but not all of it
... demanding that we cover all of it is too ambitioous

ivan: it's true that you begin to see companies that offer entire publication environment
... behind the scenes they do what you say

glazou: I would like one thing in terms of spec
... what is missing is the @slot rule

rossen: it's creating boxes for regions

glazou: a page is not an element, so you need to make boxes for content to flow into

rossen: this kills the printer; I now can't attach handlers to the pages, etc

brady_duga: as a reading system implentor i want to create and manipulate css boxes

rossen: we're trying to do that in houdini
... that will allow you to interact with visuals just as you interact with dom

<kwkbtr> @slot is defined in CSS Pagination Templates Module (not published) https://drafts.csswg.org/css-page-template/

glazou: you will still need a declarative way of crating boxes

rossen: yes

Sven: will this have css script?

rossen: there's a css object model
... what we were referring to is a targeted effort in extending and describing all of the visuals that are now hidden from the author

brady_duga: if there's an exposed api for manipulating these things it makes it more interesting
... more people will understand

rossen: did we steal too much of your time

murakami: Vivliostyle is now creating a browser-based implemention based on Peter Sorotokin's page templates, we're implemting GCPM
... and paged media features
... I hope the future standards incorporate templates with gcmp features like xref and foootnotes using css regions mechanism
... I think css page templates / gcpm level 4
... I think this will be done successfully

we're exploring using regions to accomplish all the gcpm tasks

???: I have a question about regions

scribe: how to convince other vendors to implement regions

rossen: regions is very hard to polyfill

murakami: vivliostyle is a kind of polyfill
... I hope all browsers get regions
... or houdini allows an easier polyfill of regions

rossen_: fragmentation is mostly implemented
... at start, people told me I was crazy
... it's pulling a lot of legacy behavour that already works
... it was mostly about solidifying the model
... cleaning up the concepts
... I don't think implementations are too far from the spec

ivan: let me put it another way
... is there a commitement of major browser vendors that this will be implemented

rossen_: two implementors in the room have done this

murakami: we're out of time
... one more topic is css page floats

Summary of Action Items

[End of minutes]

Minutes formatted by David Booth's scribe.perl version 1.140 (CVS log)
$Date: 2015/10/31 02:25:53 $