In Search of Organic Software An Article by Pirijan Ketheswaran pketh.org Two different kinds of farms can grow vegetables. One is a factory farm built for scale, and the other takes the time to grow more expensive but healthier plants without pesticides. Will everyone appreciate the difference? Of course not, but the latter plants are labelled ‘organic’ to give us the information and the choice, so that those of us who do care can make better decisions. So maybe we should have ‘organic’ software as well, made by companies that: Are not funded in such a way where the primary obligation of the company is to 🎡 chase funding rounds or get acquired (so bootstrapping, crowdfunding, grants, and angel investment are okay) Have a clear pricing page Disclose their sources of funding and sources of revenue softwarebusinessfarming
How I Build An Article by Pirijan Ketheswaran pketh.org In 2014, I wrote about my belief that design and engineering are best when tightly woven together. That’s truer now than ever. If I’m feeling confident, I’ll jump right into my text editor…From here, more functionality is added and the code is tweaked until the feature looks and feels right to me. Whether it’s something simple like this, or prototyping a new interaction like multi-connect, there’s no substitute for designing with real code. In rare cases when I have ideas or plans that I’m less confident about, it’s time to break out the paper, pens, and markers, Because the Kinopio interface elements and aesthetic are full-grown, I almost never use traditional design software anymore. makinginteractioninterfaces
Why Software is Slow and Shitty An Article by Pirijan Ketheswaran pketh.org Roman empire militaryBuilding is never a straight lineConversations, not commandments Planning doesn't make for better software softwareperformance
Painting With the Web An Article by Matthias Ott matthiasott.com So much about [Gerhard Richter's painting process] reminds me of designing and building for the Web: The unpredictability, the peculiarities of the material, the improvisation, the bugs, the happy accidents. There is one crucial difference, though. By using static wireframes and static layouts, by separating design and development, we are often limiting our ability to have that creative dialogue with the Web and its materials. We are limiting our potential for playful exploration and for creating surprising and novel solutions. And, most importantly, we are limiting our ability to make conscious, well-informed decisions going forward. By adding more and more layers of abstraction, we are breaking the feedback loop of the creative process. A constant dialogueConstant reflection and refinement How do you know when your paintings are finished?Designing with code artwwwcreativityprocesscode
A constant dialogue Have you ever seen Gerhard Richter painting? It is phenomenal to watch. He might start one of his large, abstract paintings by carefully applying oil paint to the canvas with a thick brush. Then, he begins to scrape, smear, or add new layers of paint with a large, home-made squeegee. After each change, Richter pauses, takes a step back, and looks at the result: What did just happen with the picture? What composition has come about? Where have interesting parts emerged? What is the next move that might bring the piece one step closer to completion? And which action would be a mistake? There is a lot of intention and carefulness in this process, yet Richter equally respects the results of accident and chance. He lets go of a certain kind of control to let things happen that are surprising and exciting. But at the same time, Richter always exerts enough control to influence the result. He decides what to keep and what to destroy. It is the ultimate creative process: a constant dialogue. chance
Constant reflection and refinement Ask any artist, musician, or writer and they might tell you that this conversation at the heart of the creative process is what makes their work special and so fulfilling. No piece of art exists in its final form in the head of the artist before the first brush stroke is put on the canvas. No musician has a full piece of music in her head without a conversation with instruments or the score. And no novel is done before the first word is put on paper or a computer screen. Constant reflection and refinement are key to creating any piece of work. This is what lets creators of any profession learn and grow, and, ultimately, achieve mastery. And the same is true for any user interface, design pattern, piece of code, or content on the Web.