On Wed, Aug 26, 2015 at 11:45 PM Ben Coman <[email protected]> wrote:

> So morphic has a Z-order but I think not a Z-depth. Is that be
> something we should be aiming for?
>

In HTML5, Z-depth is pretty exclusively used as a mechanism to determine
Z-order in the HTML / CSS separation. Normally, the order of HTML
determines the Z-order. But, Z-order is really a style thing, rather than a
composition thing. So, specifying the Z-depth allows you to override
standard behavior in the style sheet. This is not necessary in a true
object-based GUI where graphical objects are more self contained and can
easily determine their own Z-order.

I doubt we will see general purpose adoption of any 2D interface that will
rely on Z-depth for anything besides determining Z-order. For instance, the
example of shadow size seems interesting but runs into usability problems
quickly. Let's say that you have element A with a larger shadow to indicate
that it is above element B with a smaller shadow. That seems great. What
happens if element B is selected and brought to the forefront? Does A's
shadow go down in size? If so, that breaks the normal shadow analogy. If
not, it would seem that the shadows would just keep growing bigger each
time a new element is brought to the front. For limited general-purpose
applications (e.g., a larger shadow for an object currently being dragged),
you don't need Z-depth info. For specialized applications where a Z-depth
might make sense (I can't even think of one), there's little problem adding
such functionality to custom widgets. So, my recommendations is to stay
away from trying to implement Z-depth as a fundamental component of a 2D
interface. The benefit is minimal and largely theoretical.

Cheers,

Jeff

Reply via email to