Metaphors around Scheme Lassi Kortela 17 Jul 2019 14:10 UTC
So the more design elements that reinforce a particular idea, and the more closely that idea matches the essence of the thing itself, the more powerful the design is. Perhaps the most powerful way to reinforce something is metaphor. Here's one brief and easy-to-read introduction to the topic: <https://www.howdesign.com/articles/metaphor/> In my opinion, before we get to details, we should first think of metaphors - some things that are like Scheme in some way - that function in a smiliar way, evoke a similar feeling or stand for similar values. The first thing about anything is its name. (I mentioned to Arthur earlier that we should aspire to get the domain scheme.org instead of schemers or scheme-lang, because an identical domain name reinforces Scheme's name more strongly than a derived name. But since ownership of scheme.org is unclear, schemers.org is a good substitute.) The first obvious place to look for a metaphor is to think about what the word "scheme" means in English. The negative meaning is well known: "a secret or underhanded plan; a plot". Larceny and Racket exploit this in a tongue-in-cheek way. My dictionary gives the following positive/neutral meanings: 1. a large-scale systematic plan or arrangement for attaining some particular object or putting a particular idea into effect. 2. a particular ordered system or arrangement. 3. phrase "the scheme of things": a supposed or apparent overall system, within which everything has a place and in relation to which individual details are ultimately to be assessed: in the overall scheme of things, we didn't do badly. These are all about a plan that puts something complex in good order. What are some things like that? (They should be non-computer-related, as metaphors work by engaging the imagination. Going from "programming language" to "computer" is so obvious that no imagination is involved.) The first thing that comes to my mind is engineering projects. Since a scheme is an "especially good plan", these should ideally be especially complex or intricate feats of engineering. Some of the most complex engineering projects are chip design, robotics, or particle accelerators. I would probably avoid these, because my first visual ideas have people sitting in front of a computer CAD/monitoring system, and computer use is too similar to programming languages. So we could go with some more "classic" engineering feats. Bridges, dams, old airplanes, helicopters, boats, power stations. Or architecture - impressive buildings. Traffic control systems, etc. Dynamic modeling (weather, fluid flow, economics, etc.) is cool, but I would avoid it because those phenomena are so complex that they are not organized around any "scheme" that humans can comprehend. The lack of a scheme is precisely why supercomputers are needed to deal with them. So from science a better metaphor would be something like classical mechanics, and the more obvious aspects of it - something humans can use to build mechanical objects. OK, so far, fitting visual metaphors might involve technical drawings of: - classic inventions like Archimedes' screw, roman aqueducts, da vinci's sketches, etc. - airplanes/rockets/cars/trains/boats/etc. - bridges - buildings - schematics from notable patent applications? We can connect this "scheme" metaphor to another: Among programming languages, Scheme is considered a "classic". We should be proud of this, and if we use some classic technical drawings, it will reinforce both the "scheme" metaphor and the "classic" association. We can connect even more metaphors. What makes something "classic"? Classics have something timeless that works well. Things that work well for a long time usually work by a simple and efficient principle. See where this is going? Scheme is simple and efficient in expression. What about timelessness? We could emphasize that with the visual metaphor of a clock. We can again combine two metaphors by using _classic_ clocks instead of normal contemporary ones. Further, Scheme achieves much of its simple and efficient operation from the use of recursion. So a multi-level drawing would connect to that. From the above, the ultimate Scheme metaphor could be a technical drawing of the gear system in a classic watch :D This is just to get the ball rolling. Once you get the principle, it's easy and fun to come up with new metaphors for familiar things. I'm interested in hearing which ones you come up with :) Once we have some good metaphors, it's just a matter of adding some "ambience" around them - things that support the metaphor but don't steal attention from it. For example, if we have classic technical drawings as a metaphor, then using a paper-like color for the page background (white, beige, etc.) will re-inforce that metaphor. See how racket-lang.org already has a bit of a "technical drawing" vibe (though I wouldn't hesitate to execute it even more explicitly) and uses a "blocky" font similar to block-printing in technical drawings. Ideas?