Open shaunlebron opened 7 years ago
Cubism can be defined as:
an early 20th-century style and movement in art, especially painting, in which perspective with a single viewpoint was abandoned ...
It was an overwhelming conflation of separate perspectives into one:
Lisp is almost cubist, in that it takes what is essentially a 3D object and flattens it in a way that violates perspective. What was natural in two perspectives becomes lost when combined.
Two famous scientists once debated over the core philosophy of education (excerpt on youtube)
Lisp's culture, by default, is inline with the philosophy Richard Dawkins cited. The goal of this project is to explore the application of Neil Degrasse Tyson's.
A well-designed game can teach you without you noticing. (on youtube)
How could a Lisp editor guide your natural actions toward learning the unfamiliar?
Focus + Context is a design principle:
The main problem of information visualisation is the insufficient space, which restricts the user in showing detail and context contemporaneous, is called “presentation problem”. The Focus+context system allows the user to show detailed informations linked with the context, by also having the possibility to focus on other informations by interacting with the system.
Aesthetics are paramount to this working-- not just in a static screenshot sense, but in motion since code is constantly changing in ways that might be naturally learned through animation.
Soft boundaries that may help w/ static aesthetics (e.g. scope regions):
And in motion taking hints from principles (e.g. when scope boundaries change in response to indentation via parinfer):
Solid-filling colors could give shape to expression blocks.
Four-color theorem may help us keep a simple palette in spite of deep-nesting.
For a zoomed-out, form-first view, explore expressions as code-less legos (pastel colored on manilla):
shirt.codes uses spaced color blocks from syntax color themes:
"The content of communication is the response you receive". If we tell people that Lisp has "no syntax", but the response is "all we see are parens", then the response proves that we are not communicating correctly.
Lisp's "no syntax" principle must be understood in concert with what they understand, not in conflict to it. We must meet them where they are. If the problem is visual, we need to fix the visual.
A picture is worth a thousand parens
Coding without syntax
"Lowest common denominator" as a pejorative when companies attempt accessibility.
In the gaming world, the fruits of experience become tantamount over accessibility. In this way, we see a tendency towards exclusion, since it is the natural mechanism for preserving a thing you fall in love with.
Some game companies on the other hand prefer to reach larger audiences by modifying the nature of the game to improve the accessibility for beginners. This causes a natural loss aversion among those passionate about the original.
There are two very good video essays on this topic below:
The controversial "auto-steering" feature in the latest Mario Kart was added to the dismay of many vocal players. But it was balanced such that it wouldn't give people who needed it an advantage over serious players who didn't.
This continues Nintendo's commitment to accessibility in an industry that thinks shockingly little about the unique needs of different groups of people.
The latest addition of quake does away with a lot of the core principles in favor of contemporary mechanics--to entice new players. It also preserves some mechanics of the previous iterations for competitive/experienced players.
We've struggled to have a big community since Counter Strike came out. Quake simply isn't holding the attention of new players. Or it just isn't reaching new players. To make it worse, when new players do come, they get completely destroyed by new players, or even abused for being new.
I feel some similarities to the Lisp community, except there is currently no organization that is trying to grow its audience with the same fervor for accessible design as the game companies mentioned above.
Appeal to the familiar so you can show something different. The first Bioshock had a cover that showed figures of the game in order to create a representation of the game. Their next game, Bioshock 2, went with a generic cover that fans complained did not represent the game well at all.
bioshock 1 (beloved cover) | bioshock 2 (generic cover) |
---|---|
![]() |
![]() |
Ken Levine explained his reasoning.
People are drawn initially to the familiar. Like, look at the Matrix poster, for instance. It's not like, about cyberspace. It's about cool looking dudes with guns, you know? But then when you watch the movie, it takes you to a whole nother place, and it's incredibly bold and ambitious.
So, the price that I think I'm asking people to pay is—the cover you pick up off the shelf may not be your favorite cover in the universe. Hopefully that will mean that the cover helped make this game successful, and we can keep making more of them, and not compromising, you know, in any way [for the game's actual content].
I just wanted to comment that lispy parens were sexy to me when I first saw them in The Little Schemer. I still love 'em. The parens give lisp a haunting aura. But I appreciate your efforts.
What Parinfer did for writing, Locus will try to do for reading. Low odds for success, but some research in this space could at least help describe the problem of lisp adoption.
Problem: Lisp is immediately ugly
Hypothesis: a UX solution is waiting to be discovered
It may be possible to build a technology to meet people where they are. There may be a way to apply design principles to facilitate natural discovery.
Solution Constraints