kevin nørby andersen / projects

Week 17

May 02, 2021

This week I thought I'd share more of the process behind the background graphics of superultra.dk.

The idea came from having some sort of interactive element on the front page which builds on the concept of super ultra. The story behind the name is that it's an ironic take on my design aesthetic. I like simple, minimalistic, understated objects that unfold in use, but I thought it would be fun to use the prefix super ultra for whatever I create - a super ultra toothbrush for example.

To example the idea of unfolding meaning in use, I decided to design something scattered that would form a united whole through interaction. Rhino+Grasshopper are among my favorite tools to sketch in 3D, and I love oscillating between sketching in parametry design, hand drawn CAD, and a physical notebook. I started out by generating "super ultra" as curves, and then used that as the input for my grasshopper sketch. The three versions display the process: curves -> dividing into fragments using a voronoi pattern -> extrusion to give it a third dimension.

curves -> fragmentation -> extrusion

curves -> fragmentation -> extrusion

Getting it properly into THREE.js was the biggest challenge, but eventually got it working by exporting to a DAE-format and generating a GLB-file. This allowed me to take each fragment in THREE.js, and scatter them along the Z-axis. I built the scroll-mechanism to assemble the fragments. To encourage interaction and create some ambient motion, I built a timer that starts scattering the fragments even further when not scrolling for a while.

timer

After 3 seconds, the fragments will start moving by themselves

At this point I was happy with the scattered logo, but still felt the site could use more life. One of the main messages of super ultra is designing for life away from screens, so I want the site to feel spatial. I decided to create a particle system that would create the feeling of an atmosphere with dust and debris in it.

The final result can be seen at superultra.dk. At the time of writing, it doesn't work well on mobile, but I hope to address that in the future.

final

When scrolling on the website, the pieces come together

Week 16

April 25, 2021

I missed a couple of weeks there! The weather has been excellent here in Denmark, and I've spend the last couple of weeks in Copenhagen enjoying the sights and good company of friends.

Recently, I gave a talk about 'innovation in practice' to a Danish tax audit company, which reminded me that I should have a company to refer them to, so I'm spinning up my old company that barely ever existed: superultra.dk.

I really want to do something fun with the site, and with my newly acquired THREE.js skills, it seemed like the perfect opportunity. I spent a couple of hours Saturday creating the company, setting up domain and email hosting, but also snuck in some time to fiddle around in rhino and grasshopper with the 3D objects that I want to use in THREE.js.

sketch of fragmented company logo

Sketch of fragmented company logo

Week 13

April 04, 2021

It's Easter holiday and I have prioritized spending quality time with friends and family instead of working on side projects.

I did manage to finish up the last two projects in my Experimental Javascript course! First project is a Google Earth'y project and the second one is a cute poly cat.

Week 12

March 28, 2021

It has been a busy couple of weeks, but I did manage to sneak in some side project time this week. Primarily on the Experimental Javascript course where I played around with THREE.js: https://tiny.kevinandersen.dk/project4/

I have also been working on an open call application for a 20" container at Institute for X - a creative enclave in my hometown. I'm hoping to get a space where I can work on my side projects and have all my tools and materials immediately at the ready.

This also marked the final week of the Sun of Denmark project this time around. Last night we changed the clock and moved to Daylight Savings Time. It's been fun and challenging doing a side project revolving around writing on social media. Although I didn't reach a big audience, it was a fun exercise trying to make each daily tweet interesting and significant.

Week 10

March 14, 2021

Light week this week. Spent most of my side project time continuing my Experimental JavaScript course.

I completed a lesson using PIXI.js to play with WebGL. See demo of lesson over at https://tiny.kevinandersen.dk/project3/.

I also completed a lesson using matter.js to play with physics. See demo of lesson over at https://tiny.kevinandersen.dk/project2/.

As usual, I also wrote weekly tweets for @SunOfDenmark. I realized that this is the second to last week before going over to standard time, which ends the stream of tweets. It has been a fun experience writing daily tweets and trying to find creative and appealing twists on the emergence of daylight, but to be honest also has become a bit trivial here at the end.

I had hoped to work on Project Caramel this week, but only did a light bit of reading. I happened to stumble upon a thread mentioning that MicroPython's built-in ADC only reads in the 0.1MHz range, which might be one of the reasons why I'm not seeing enough data. I need much faster data than that, so I will investigate whether I can build my own MicroPython module in C to gain the required speed. Otherwise, I'll have to move into building my own C application.

Week 9

March 07, 2021

Project Caramel

I received components for Project Caramel this week:

  • STM32F411 Nucleo board (but ended up using a pyboard running MicroPython instead)
  • Passive components (resistors, caps, diodes)
  • LM358 opamp

I followed a microphone amplifier guide and used MicroPython's built-in ADC module.

components

Breadboard amplifier circuit and piezo disk connected to pyboard

I'm getting readouts, but it seems the amplifier circuit needs more work. For some reason there's a high "ambient" value (noise?) but I have to actually tap the piezo itself to get peaks, but I should only need to knock on the table. As usual with this project, I will keep oscillating between prototyping and reading theory.

Experimental JavaScript course

Recently, I have been doing weekly work sessions with Alexis Hope (check out her site, she does cool stuff). She gave me a tip on some cool courses offered by SuperHi and I fell for the Experimental JavaScript course. It goes into using canvas, three.js, matter.js, and PixiJS, which are all libraries I have wanted to learn more about. Here is a quick sketch from the first lesson:

One of the projects I would like to do is make a fun 404 page using some of these technologies. Maybe interactive headlines as well, we'll see.

Updated Portfolio

I have probably redesigned my portfolio once a year for the past 5-6 years, but never published it. I always get stuck re-writing my portfolio entries or with the website itself. But with my recent success building this website using Gatsby, I felt like I could use the same structure and have it be a small project. I have been unhappy with my current portfolio for a while because of the design and using wordpress which feels clunky and slow.

I ported all my content to the new structure, made necessary design changes, and published it in a couple of days. Available here: portfolio.kevinandersen.dk. I also switched from Google Analytics to Panelbear, a cookie-less alternative that is also free and much simpler to use.

As you'll notice, my portfolio and this website look eerily similar, and that's something I will be thinking about how to address. One thought I had is to have the header gradient be sunrise-colors for this site and sunset-colors for the portfolio. Sunrise to represent what's ahead for me, and sunset to represent my past.

Week 8

February 28, 2021

I spent most of my spare time this week working on this site - and publishing it! Also wrote more project pages, like Sun of Denmark and Wall Art.

I should have received components for Project Caramel, but since that didn't happen there will not be any progress on that project this week.

Project Cocoa

Instead, I started Project Cocoa. I thought the name would be appropriate since the idea is to design a heater cover for friends of mine that renovated their apartment recently. The intention is to design it in laser cut MDF and paint it afterwards, and a fun way of playing with parametric ideas. I got measurements from them, and started drawing up some pencil sketches, and then moved into Grasshopper to try some out.

First Sketches

Building up a sketching workflow in Grasshopper

With people for scale

Including people for sense of scale

In place

Rough placement in context

Next step is to flesh out more sketches. I'm curious about exploring other, less purely geometric principles like magnet fields or physics.

Frequency and refinement

I think about frequency a lot. In preparation for Project Caramel, I read The Scientist and Engineer's Guide to DSP. Specifically, about Fast Fourier Transforms and how you can use it to go from looking at a signal in time-space to frequency-space.

In the context of interaction design, I think about the frequency of prototype iterations and product releases. During my first five years at LEGO, I have launched two products. In my experience, 2-3 years for product development isn't unreasonable when developing something that's both physical and digital. Say I have 30 years of career left, that's 10-15 products I have left, a frequency around 9 nHz, or 0.28 cycles per year.

One of my hobbies is coffee brewing, and most of the baristas I have met say they serve hundreds of cups of coffee in a single day. As frequency of iterations, that's 3,170,979 nHz, or 100,000 cycles per year. Not sure what this means or how to think about it, but it's on my mind.

Site

I have extended the structure so that beyond this blog, but also project pages that I can create for each project. Did lots of styling, built first mobile support, and streamlined the look on the different parts of the site.

Week 7

February 21, 2021

First week with this new site. I've spent a couple of evenings setting up the site, my github repo, and modifying the site theme and writing these articles.

Project Caramel

The first side project I want to start writing about is Project Caramel. Why Caramel? Working on confidential projects in my dayjob, I'm used to working with codenames. Besides being a fun way to reference what you're working on, I think it gives freedom to allow the thing you're working on to develop independently of it's name. In blogging, I've seen it used by Tom Armitage, who I think uses it because of client confidentiality. For these personal non-confidential side projects, it's about having a way of referencing a project while the idea is still developing.

Concept

Project Caramel is an old idea I had while studying. I was curious about creating more sensuous interfaces that allow for expressivity and mastery. Think about how a piano or keyboard key has the notion of velocity and even aftertouch, while a keyboard key is binary. What if the keyboard keys were sensitive to the way you strike the key? Like typing harder would switch to caps?

I want to explore ideas of having interfaces be a natural part of a surface rather than something that's mounted onto it. Like if the wood itself was the interface rather than a button coming out through it.

Components

First iteration of the prototype I'm building to explore the concept consists of:

Principle sketch of Caramel components

My thinking is, by picking up the audio signal from a surface as I interact with it and performing signal processing, I should be able to quantify interactions.

There's a lot going on here. Electronics, designing and developing the circuitry needed to properly pick up the audio signal. Firmware development, developing the DSP algorithms needed to qualify the signal. When electronics and firmware is up and running, I will move into the industrial design, designing and prototyping the surfaces that explore the design space that I suspect the sensor opens.

What's the end-game? the output? I belong to the school of Researching Through Design / Thinking Through Making, where the meaning is something that emerges as you actually start developing and embodying the idea. The answer for now is, I don't know.

This week

For this week, I researched amplifier-, limiter-, and filter-circuitry, and attended a HackChat Event on signal conditioning with Jonathan Foote. It informal yet informative. The format invited a lot of sharing from everyone present, and after the event I had purchased two new books and had 10+ new tabs open with subjects to research.

I also purchased components for prototyping the above circuitry, which should arrive next week.

Day 1 - Introduction

February 17, 2021

Hi, welcome, you made it. And since that's the case, so did I! I'm Kevin, and I work as an Interaction Designer at LEGO.

This isn't my portfolio. This is where I display and blog about my side projects. Since leaving the Scratch Team and the Media Lab last summer to go back to Denmark, I miss being part of a community that's interested in the intersection between art, design, and technology. And living in COVID-19 lockdown for months, I am feeling even more alienated but also exhausted. Since my day job is mainly working on confidential future products, I can only share it with a small circle of people. Working remotely, that circle is even smaller.

This site is an attempt to increase the size of my circle by making it revolve around a thing - either physical, digital or both.

Blogging

Since my side projects, like my day job, are often a mix of physical and digital components, and often require me to learn a new skill, they take longer to develop.

The primary inspiration for making this site was Matt Biddulph who I met at a conference last year. He runs the hackdiary, but also launched an instagram profile for his side projects. It got me thinking, that a space dedicated to side projects might be what I need.

Inspired by Tom Armitage, I'm planning to use codenames for some projects. Partly, to be able to talk about them while keeping them private until they're ready to show, but also perhaps to talk about them before I understand what they are.