Poster Design in a Vision Pro World

I’ve spent a lot of my idle moments lately thinking about the follow-on effects of a new platform emerging around the Apple Vision Pro. There is, of course, huge upside potential for existing platforms, software developers, and services. I think the platform is likely to impact lots of other things in more subtle ways.

One of those things that I think is ripe for re-imagining is the humble poster.

The earliest lithographs by Cheret and Toulouse-Lautrec, rock posters of the 60’s and 70’s and the iconic IBM rebus by Paul Rand in 1981 all have one thing in common: a single plane of content1. Of course posters and modern day graphics software have the concept of a “z-order” so that one piece of content can exist in front of or behind another. As of this writing however, vector software such as Illustrator and Figma don’t have the concept of a z-depth. The same goes for vector file formats such as PDF and SVG: z-order: check. z-depth: not so much.

Of course on a platform such as the Vision Pro, you could create a z-depth aware rendering of vector art by rendering each layer of vector art from back to front, placing a fixed (or configurable) z-depth between each layer. You can also build a poster from scratch using SwiftUI code by manually setting z-depth of individual content with .offset(z:<CGFloat>).

That’s a start, but it’s not ideal. This allows individual pieces of content to render on different planes, but it doesn’t allow content to mix and mingle on the z axis. In order to truly accomplish this, you would need to employ a true 3D format such as USDZ, authored by native 3D tools such as Maya or Blender. One could, with relative ease, construct a series of 3d objects that are sandwiched closely together in a way that mimics a 2D poster but allows for commingling of content between planes.

Another way to approach the creation of poster-shaped content on this new platform would be to approach it programmatically via 3D turtle graphics. This would be similar to the 2D capabilities of something like a pen plotter to simulate 2D turtle graphics. By adding the third dimension, it would be more akin to directing a 3D extruder of filament that hovers in space. This would allow, for example, the creation of a line or a curve that begins its life at point (x,y) on the z origin, but ends in front of or behind that plane at + or - z.

Taking the turtle graphics 3D extruder example to its logical conclusion, one could construct something that looks like a traditional pen plot when viewed head-on but looks quite different when viewed form the side. An example algorithm:

distance = 1
set_depth_angle(5) # Aim 5 degrees forward in the z-axis
				   # so that each line moves further away
				   # from the z-origin.
while distance < 100:
	left(90) # Turn left 90 degrees each time
	distance += 1 # increase the distance for next time through the loop

Of course at some point work in this direction ceases to be a two dimensional poster and begins to be a three dimensional object. But I think there is room to explore, rethink, and reimagine what a poster can be inside a spatial computing environment.

  1. I didn’t go down the anaglyph rabbit hole but I’m sure there are things to learn there. 


Notes mentioning this note

Here are all the notes in this garden, along with their links, visualized as a graph.