Follow the fun An Article by Dave Rupert daverupert.com Another great dissertation from Mark Brown of Game Maker’s Toolkit: The Games that Designed Themselves. It’s the radical idea that designers should ignore their preconceived notions and look to the game itself to find out where the development should lead. How does something design itself? Well… the answer is: Prototypes. A lot of great indie game masterpieces are the result of experimentation and early gameplay demos that changed the course of game’s development. As Brown points out, there’s a whole history of groundbreaking games that were developed “almost by accident” where bugs and glitches were turned into features. The game discovering itselfBuilding is never a straight lineGame feel gamesfun
Game feel An Article by Dave Rupert daverupert.com How do you make a game that’s fun? ...You have to focus on gameplay. In order for the final product to be fun and exciting, the core game play needs to be fun and exciting. The creator of Mario calls this 手応え (tegotae), which is often translated as “game feel”. To find this game feel, you need to build small prototypes around a single idea, play test them, and then follow the fun. Nintendo does this, indie game devs do this; this is the not-so-secret of the gaming industry. Follow the funFollow the brush prototypesmakinggames
Technical debt as a lack of understanding An Article by Dave Rupert daverupert.com "If you develop a program for a long period of time by only adding features but never reorganizing it to reflect your understanding of those features, then eventually that program simply does not contain any understanding and all efforts to work on it take longer and longer.” — Ward Cunningham softwareprocesscode
The Web is Industrialized and I Helped Industrialize It An Article by Dave Rupert daverupert.com In our cultural obsession with billionaire entrepreneurs we laud new features more than the maintenance and incrementalism work of making old features better and more accessible. Maintenance looks like red minus signs in the spreadsheet. New features look like green plus signs. New features look better on our LinkedIn profiles. New features have that pizzazz, baby. When gardening, the building of planters and initial planting is a very short process. The majority of your time is spent nurturing and monitoring growth. I personally feel the struggle between maintainer work and new shiny feature work. I enjoy that new feature smell but I know that my day-to-day is more like a janitor on a boat mopping up someone else’s barf. In terms of metaphors, the gardening metaphor is certainly better, and it acknowledges that design and development still tend to be more creative endeavors. featuresnoveltywww
The small web is beautiful An Essay by Ben Hoyt benhoyt.com 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?Features and complexitySolving the problem of software bloatRaw size isn't enough Rediscovering the Small Web wwwmicrosites
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. performancesystemsconservation
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”. A Plea for Lean SoftwareSpeed is a featureRequirements proliferation featurescomplexity
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. minimalismcontentsize