Re: [css3-grid-layout] semantic zoom in grid's templates

On Fri, Feb 24, 2012 at 4:21 PM, Tab Atkins Jr. <jackalmage@gmail.com>wrote:

> On Fri, Feb 24, 2012 at 4:13 PM, François REMY <fremycompany_pub@yahoo.fr>
> wrote:
> > Okay, let's say I'm the only alien on earth who thinks like that (or, at
> > least, it seems we're very few to be infiltrated in the human being right
> > now). [;-)]
> >
> > This is not that an issue since I'm not talking about personnal tastes
> here,
> > but about usability and maintainability. My proposal is the only one to
> keep
> > changes in the code small when doing small changes in the layout, and I
> > still think that it's the only one to provide easy grid composition (ie:
> > replace a cell or a group of cells by another grid template), which I
> > believe is an important feature for any grid layout. Another huge win is
> > that it's by far the most condensed way to define things (in terms of
> bytes)
> > which means it will need fewer bandwith to send the CSS over the network.
> >
> > I'm really curious about what kind of solution you have to propose to my
> > 3-steps grid template evolution. To me, it seems the two solutions we can
> > use today aren't that great in such case. Both will require a computer
> work
> > or, worse, many handwork.
>
> I don't believe the benefit of the template is that it keeps code changes
> small.  It's that it makes the gross layout of an element immediately
> obvious from visual inspection.  If this means that it's somewhat more
> difficult to incrementally edit, that's fine.
>
> My solution to your edits would be:
>
> 1)
> "abx"
> "aby"
>
> 2)
>
> "abxr"
> "abxr"
> "abxt"
> "abyt"
> "abyu"
> "abyu"
>
> 3)
>
> "abxrs"
> "abxrs"
> "abxtt"
> "abytt"
> "abyuu"
> "abyuu"
>
> The 1->2 transition requires a bit of typing, but it took me literally
> about 30 seconds to do so.  The 2->3 transition required even less, since I
> was just adding 6 characters.


Sorry, apparently hit Send too soon.

Now, imagine that instead of the 2->3 transition you brought up, you
instead wanted to achieve something like this:

3b)
"abxr"
"abxr"
"abyt"
"abyt"
"abyu"
"abyu"

In the existing template, it's a change of one letter (an "x" became a
"y").  In yours, it's a major change to the template, requiring it to be
rewritten as "ab(xr/y(t/u))" (for reference, the (2) template was
"ab(x/y)(r/t/u)").

Whether a change is large or not depends on the change.  I think both your
2->3 and my 2->3b transitions are plausible.  However, I think that the
"bad" case for the ascii template is better than the "bad" case for your
fraction-bar template.  At the very least, the badness of the fraction-bar
template when doing the 2->3b transition shows that it's not an immediate
sale, even if you think it's readable.

I believe that in *most* simple cases, both systems are about equally easy
to work with.  For the rest of the simple cases, one or the other is better
depending on the details.  In complex cases (where the slots aren't set up
in easy, proportional ways), the ascii template is usually easier.

~TJ

Received on Saturday, 25 February 2012 00:31:51 UTC