Ralph Ammer
Don't think big
An Article by Ralph AmmerOne of the biggest mistakes you can make in your creative project is to pick a topic which is too big. Big topics often lead to small results, small topics foster great results.
And here is why: Your project is limited by the time and energy you have.
These are the boundaries of your project. If you pick a huge topic then there is not much room for your creative efforts. On the other hand, if you pick a small topic you have time and energy to make a great creative contribution.
Is perfection boring?
An Article by Ralph AmmerWe love to see the process, not just the result. The imperfections in your work can be beautiful if they show your struggle for perfection, not a lack of care.
Now I get it
An Article by Ralph AmmerTo design a system means to orchestrate the interplay of its elements.
Such a system is considered “interactive” if it is open, which means that there are ways to engage with the processes that are happening inside of it. There is of course a range of interactivities which spans from very basic reactive behaviour to highly complex conversational interactions.
But what do you want to say?
An Article by Ralph AmmerPablo Picasso famously said:
“The world doesn’t make sense, so why should I paint pictures that do?”
A sensible approach to something that can’t be explained is to express it.
Rather than giving you explanations or “saying something”, most artists are concerned with what I like to call “room for interpretation”. They create platforms that trigger thoughts, feelings, emotions, and ideas.
Instead of trying to explain the inexplicable artists express their view of it. They don’t want to tell you what to think, they invite you to respond.
A lightbulb is not an idea
An Article by Ralph AmmerWith conventional placeholders, such as words, we can describe patterns for a large number of situations. On the other hand it is easy to fool yourself (and others) with words, since you can avoid to be specific. Any business meeting can confirm this.
When you draw something you are forced to be specific — and honest.
Our illustration of an “idea” from above is unconventional in the sense that it conveys specific original thoughts of what an idea is. It adds value to the words.
And that is the catch: The drawing must be unconventional to support the conventional words. We have to make sure not to use “words in disguise”. Take a common illustration for “idea” for example, which haunts flip charts all over the world: the lightbulb.
The lightbulb image works on a purely symbolic level, it only replaces the word “idea”. This image of a household item contains no original thought about what an idea is. While symbols like these work well as international replacements for words or icons to indicate a light switch for instance, they convey no nutritional value as illustrations — they are empty.
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.