2023

Quay Code

Overview

A custom format 2D matrix code, with dynamic error correction and dual-bit encoding for double data handling.

The Project

This self guided project started simply with a fascination for data encoding. After learning how much QR codes can do, I wanted to develop a custom format that I could incorporate into varying niche use cases.

At the time, I was working with access and ID cards, so the initial idea was to create a custom matrix format so I can streamline the process of creating, renewing, and verifying IDs. Although this never came to fruition, I am immensely proud of the product I did develop.

Initially I wanted to pursue a triangular matrix code, but seeing as I wasn't as familiar with programming as I am now, it seemed a bit too ambitious. Instead, I started studying the structure of QR codes determined by ISO regulations, and modelled the Quay around that.

I wanted to treat it like a product as opposed to simply a project from the start, so I began working on selling points for the code, and produced some marketing materials to advertise the application that I made to generate and read the codes themselves.

The Code

I didn't quite anticipate the scale of the project when I first started. I was still very much an amateur programmer, so this really was a trial by fire. Though putting together the core features of the application itself was fairly simple (i.e. drawing the code, adding button and text input functionality) the maths required in the background was staggering.


I implemented dynamic Reed-Solomon error correction, so that depending on the size of the code you're making, any left over space will be taken up by specific characters that can serve to rebuild the final message if the physical code gets damaged. This is an improvement on the existing QR standard and seems to function as anticipated.

I also tried working in the Huffman compression algorithm, but the requirement for a relatively extensive header in order to decode the message meant it was not worth while for messages as small as those in this format.


On top of this, I also wrote my own binary decoder for binary pairings, designed a code header to efficiently transfer information about the message, worked with OpenCV libraries to write a custom script to read the codes from a camera, and gradually built up identical infrastructures across Windows, macOS, iOS, and Android.

Off White

HEX:

RGB:

HSL:

CMYK:

#F5F5F5

245,245,245

0,0%,96.1%

0,0,0,4

Off White

HEX:

RGB:

HSL:

CMYK:

#F5F5F5

245,245,245

0,0%,96.1%

0,0,0,4

Off White

HEX:

RGB:

HSL:

CMYK:

#F5F5F5

245,245,245

0,0%,96.1%

0,0,0,4

Q-Cyan

HEX:

RGB:

HSL:

CMYK:

#14C8E6

20,200,230

188.6,84%,49%

91,13,0,10

Q-Cyan

HEX:

RGB:

HSL:

CMYK:

#14C8E6

20,200,230

188.6,84%,49%

91,13,0,10

Q-Cyan

HEX:

RGB:

HSL:

CMYK:

#14C8E6

20,200,230

188.6,84%,49%

91,13,0,10

Q-Yellow

HEX:

RGB:

HSL:

CMYK:

#FFDC14

255,220,20

51.1,100%,53.9%

0,14,92,0

Q-Yellow

HEX:

RGB:

HSL:

CMYK:

#FFDC14

255,220,20

51.1,100%,53.9%

0,14,92,0

Q-Yellow

HEX:

RGB:

HSL:

CMYK:

#FFDC14

255,220,20

51.1,100%,53.9%

0,14,92,0

Q-Magenta

HEX:

RGB:

HSL:

CMYK:

#FF2D8C

255,45,140

332.9,100%,58.8%

0,82,45,0

Q-Magenta

HEX:

RGB:

HSL:

CMYK:

#FF2D8C

255,45,140

332.9,100%,58.8%

0,82,45,0

Q-Magenta

HEX:

RGB:

HSL:

CMYK:

#FF2D8C

255,45,140

332.9,100%,58.8%

0,82,45,0

Q-Black

HEX:

RGB:

HSL:

CMYK:

#141414

20,20,20

0,0%,7.8%

0,0,0,92

Q-Black

HEX:

RGB:

HSL:

CMYK:

#141414

20,20,20

0,0%,7.8%

0,0,0,92

Q-Black

HEX:

RGB:

HSL:

CMYK:

#141414

20,20,20

0,0%,7.8%

0,0,0,92

User Research

Insight: Users generally preferred the CMYK QR code format over black and white, finding it more interesting and satisfying to create. However, they perceived it as an unnecessary distraction in certain contexts and found it difficult to implement into design.

Impact on Users' Lives: Users indicated that QR codes didn't usually have a significant impact on their daily lives. They expressed uncertainty about QR codes and felt inadequately informed on the matter.

Implications for Design: Designers should consider the balance between user preference for CMYK codes and the potential distraction they may pose in certain contexts.

Takeaways

The world is ever changing, and development of existing ideas is always a necessary consideration. Although QR codes already do much of what is required of them, and ultimately serve their purpose very well, the Quay code targets a different market and aims to satisfy the ever growing demand for attractive design and innovative repurposing.

home

projects

about

Copyright © 2024. Ryan Appleyard. All Rights Reserved

home

projects

about

Copyright © 2024. Ryan Appleyard. All Rights Reserved

home

projects

about

Copyright © 2024. Ryan Appleyard. All Rights Reserved