graphics
Truchet Tiles
The basic course
The Basic Course was a general introduction to composition, color, materials, and three-dimensional form that familiarized students with techniques, concepts, and formal relationships considered fundamental to all visual expression, whether it be sculpture, metal work, painting, or lettering. The Basic Course developed an abstract and abstracting visual language that would provide a theoretical and practical basis for any artistic endeavor.
A universal correspondence
In 1923 Kandinsky proposed a universal correspondence between the three elementary shapes and the three primary colors: the dynamic triangle is inherently yellow, the static square is intrinsically red, and the serene circle is naturally blue.
The series ▲■● represents Kandinsky’s attempt to prove a universal correlation between color and geometry; it has become one of the most famous icons of the Bauhaus. Kandinsky conceived of these colors and shapes as a series of oppositions: yellow and blue represent the extremes of hot/cold, light/dark, and active/passive, while red is the intermediary between them. The triangle, square, and circle are graphic equivalents of the same polarities.
BeOS Icons
The Art of Looking Sideways
A Book by Alan FletcherCover art for Alan Fletcher's wonderfully expansive commonplace book.
Interaction of Color
A Book by Josef AlbersWhat shape is the internet?
A Gallery by Noah VeltmanAccording to patent drawings, it's a cloud, or a bean, or a web, or an explosion, or a highway, or maybe a weird lump.
narrowdesign.com
A Website by Nick JonesDesign
Prototype
CodeAPL386 Unicode
A Font by Adám BrudzewskyAPL font based on Adrian Smith's APL385 font with a fun, whimsical look, inspired by Comic Sans Serif.
APL (named after the book A Programming Language) is a programming language developed in the 1960s by Kenneth E. Iverson. Its central datatype is the multidimensional array. It uses a large range of special graphic symbols to represent most functions and operators, leading to very concise code. It has been an important influence on the development of concept modeling, spreadsheets, functional programming, and computer math packages. It has also inspired several other programming languages.
butdoesitfloat
A BlogThe Tiling Patterns of Sebastien Truchet and the Topology of Structural Hierarchy
A Research Paper by Cyril Stanley SmithA pattern of tiles illustrated by Douat in 1722.
A translation is given of Truchet's 1704 paper showing that an infinity of patterns can be generated by the assembly of a single half—colored tile in various orientations.
Reading Design
A WebsiteReading Design is an online archive of critical writing about design. The idea is to embrace the whole of design, from architecture and urbanism to product, fashion, graphics and beyond. The texts featured here date from the nineteenth century right up to the present moment but each one contains something which remains relevant, surprising or interesting to us today.
The small web is beautiful
I believe that small websites are compelling aesthetically, but are also important to help us resist selling our souls to large tech companies. In this essay I present a vision for the “small web” as well as the small software and architectures that power it.
Why aim small?
Why aim small in this era of fast computers with plenty of RAM? A number of reasons, but the ones that are most important to me are:
- Fewer moving parts. It’s easier to create more robust systems and to fix things when they do go wrong.
- Small software is faster. Fewer bits to download and clog your computer’s memory.
- Reduced power consumption. This is important on a “save the planet” scale, but also on the very local scale of increasing the battery life of your phone and laptop.
- The light, frugal aesthetic. That’s personal, I know, but as you’ll see, I’m not alone.
Features and complexity
Niklaus Wirth of Pascal fame wrote a famous paper in 1995 called A Plea for Lean Software. His take is that “a primary cause for the complexity is that software vendors uncritically adopt almost any feature that users want”, and “when a system’s power is measured by the number of its features, quantity becomes more important than quality”.
Solving the problem of software bloat
But instead of just complaining, how do we actually solve this problem? Concretely, I think we need to start doing the following:
- Care about size: this sounds obvious, but things only change when people think they’re important.
- Measure: both your executable’s size, and your program’s memory usage. You may want to measure over time, and make it a blocking issue if the measurements grow more than x% in a release. Or you could hold a memory-reduction sprint every so often.
- Language: choose a language that has a chance.
- Remove: cut down your feature set. Aim for a small number of high-quality features. My car can’t fly or float, and that’s okay – it drives well.
- Say no to new features: unless they really fit your philosophy, or add more than they cost over the lifetime of your project.
- Dependencies: understand the size and complexity of each dependency you pull in. Use only built-in libraries if you can.
Raw size isn't enough
A few months ago there was a sequence of posts to Hacker News about various “clubs” you could post your small website on: the 1MB Club, 512KB Club, 250KB Club, and even the 10KB Club. I think those are a fun indicator of renewed interested in minimalism, but I will say that raw size isn’t enough – a 2KB site with no real content isn’t much good, and a page with 512KB of very slow JavaScript is worse than a snappy site with 4MB of well-chosen images.
...[Instead, it's about] an “ethos of small”. It’s caring about the users of your site: that your pages download fast, are easy to read, have interesting content, and don’t load scads of JavaScript for Google or Facebook’s trackers.