Building Software for Lighting

Content-creation software research

Justine
Black Prism Art
6 min readNov 18, 2018

--

Lighting has the power to change the overall atmosphere of a place through colour and movement. Even the difference between a lightbulb with a warm glow to one with a cool glow has a drastic effect.

With the tight deadlines we had created for ourselves with previous light art projects, we didn’t have much time to play around with actual light effects, which is a large part of the whole experience we wanted to create! For our ongoing project, we are building software to design light patterns.

What’s the opportunity?

The current workflow has a barrier to entry for non-programmers, as it requires knowledge of C++. Even having one of us a senior programmer with ten years of experience, we wanted a solution that would enable us to visually create, tweak, and quickly experiment with light patterns in an intuitive way.

Using Particle to code light patterns

Who would use this product?

Looking at our own network of friends and especially to the Burning Man community, there are many artists who build projects incorporating LEDs. Creators are often looking for programmers to help realize their vision with projects because the programming element has a high learning curve.

Ascension was a 2016 Burning Man art project that I volunteered some time in building. It has ~12,000 LEDs built into it.

Ascension by Jeremy Richardson, Photo by Leslie L. Sigala

Content creation software

Designing for content creation software isn’t something I’ve had the opportunity to take on designing before. For the past few years, I’ve been exercising my UX/UI skills predominantly for mobile consumer- and enterprise-facing products. I’m excited to try something new!

We looked at several content creation software of varying domains: Ableton (creating songs), AfterEffects (creating animations), Illustrator (creating illustrations), Cinema4D (creating animations/video), and Resolume (VJing videos). Although these programs were tools for different outputs, a lot of architectural elements used in them would be analogous to what we wanted to create for light patterns.

In Illustrator, there is no motion involved. With AfterEffects, the workflow for creating animations starts with importing assets that were designing in in Illustrator first; unlike Cinema4D, a generative tool with primitives which you can also animate. It’s similar to comparing Photoshop and Illustrator — photoshop is a tool for editing existing photographic data; Illustrator is a tool where you can build graphic data from scratch.

At this point, we only had a basic understanding and skills of C4D. However, recognizing that it was the most similar what we were trying to create, we watched tutorials to understand what features people used and how they were used (it’s also interesting to see what their early versions looked like!). We discussed what we liked and how these components could be translated to our product. Looking at how powerful C4D’s rendering engine is, there is a focus on material, colour, and textures.

Design Goals

  • Build a visual representation the art piece’s LEDs.
  • Create light patterns, playing around with colour, movement and effects.

Initial concept mapping

Before even picking up a pen to sketch out wireframes, I had some learning to do. Kyle taught me some of the theory (which involved a lot of math!) of creating light through code, and schematics which would help us conceptually map all the bits and pieces that would be part of the software.

First iteration of concept mapping

The first iteration of our map was made by thinking through the steps that one might take to create a light pattern. From there, I was able to sketch out some rough wireframes.

Variations for layouts

Developing concepts

After delving further into the nitty gritty details and discussing specifics when it came to things like the Cloner feature and understanding how the feature tree would be made, we modified the architecture.

Second iteration of our concept map

We got rid of several features, figuring that they didn’t belong as a composition element, and that we could save them for a future version. Naming conventions were clarified, helping us solidify components’ properties. “Pattern” was renamed to “Layer”, because the intent of the Layer is to have a path assigned to it. A Pattern references the whole composition of Layers.

We also decided to leave several features and effects out for this first pass. Looking into what their properties would look like and seeing similarities enabled us to cut down on features that were fundamentally similar.

Once we were happy with this architecture, we went through several more examples to see if we’d be able to apply our ideas with the framework that we’d built. Thinking of specific light patterns, we compared notes of how we’d approach creating it.

Wireframes of layout, notes on potential user flow

From there, I was able to further refine our wireframes to become more granular, showing specifics of certain features.

We’re making progress, but there’s still a ways to go! Kyle is currently implementing the backend using the architecture we’ve created. In conjunction, I am further refining the UI and sketching out user flows and interactions.

This is currently a work in progress. Stay tuned to see our lighting software come to life! If you’re an artist and interested in collaborating or have any questions, comments, or want to chat, feel free to reach out.

--

--

Justine
Black Prism Art

Installation artist. Hip hop dancer, studio plant mama, ⌘ keyboard shortcut enthusiast.