“UIAmBored”

or maybe

“Bored UI Buttons Club” 🤔

I am bored so I created an algorithm that destroys the UI of the app I’m supposed to be building.

UPDATES:

2021.09.20 After further educating myself about ArtBlocks and the full process with script integration on the blockchain, etc. I researched ArtBlocks’ supported scripting languages and decided to learn p5js. After getting a solid handle on the language I’ve begun developing this project with p5js + lots of CSS (which I now totally love!). I’ll be updating this page soon, with new images of the project and possibly even a functional playground.

As the chief cook and bottle-washer (sole founder) of my tech startup I am building everything in my MVP for iOS. Although I’m a fairly competent designer, I’m actually an artist first. As such, creating “good” UI design for me is boring at best and soul crushing at worst. So in order to stay spiritually fit from time to time I allow myself to get distracted, rip off my crisp box-fresh designer hat and replace it with my crusty hand-painted artist bandana and just fuck it all up like I’m Jack Nicholson’s Joker at the art museum.

The most colorful result of this practice is a generative algorithm for mangling a button grid interface into some pleasingly abstract compositions. For my app I’ve written my own colorized Neumorphic design API that has a strong OpArt feel. The perceptual nature of this illusory effect of creating form through faking shadows and highlights on solid shapes is quite fascinating and extremely painterly for a programatic design approach. Originally I became curious as to how this would play out on distorted shapes, then what it would look like to overlap shapes, vary the gradient and blur intensities, and down the rabbit hole I fell. As you can see it produces a fairly wide range of interesting aesthetics but there is much more territory to explore.

Although presented above are all screenshots, these are coded in Apple’s Swift + SwiftUI API and they render functional button interfaces… well as functional as you get when they are all rammed together! I realize this is not processing, webGL, .3js, etc… which seems to be part of the mandate for ArtBlocks, but I’m hoping I could either pre-render my collection, bridge from web to a Swift virtual machine via javascript or something, or worst case scenario learn a new web graphics language or hire someone to help me translate to .3js, etc. I’m open to suggestions and discussion.

However I think the conceptual tension between UI design and art would be nice to preserve so if I could produce these without translating out of Swift would be nice. Perhaps for ArtBlocks as well it could be beneficial or interesting to showcase something outside the normal language sandbox?