emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: What is the most useful potential feature which Emacs lacks?


From: Christopher Lemmer Webber
Subject: Re: What is the most useful potential feature which Emacs lacks?
Date: Thu, 14 May 2020 12:35:47 -0400
User-agent: mu4e 1.2.0; emacs 26.3

Karl Fogel writes:

> If the proposed starter pack is going to mitigate effects like that
> for newcomers, it can only do so by making the keybound functionality
> space sparser -- which of course then lowers the reward-for-investment
> rate as the user gains expertise.  How do you propose solving that?
> Do we make an explicit "I'm ready to leave newcomer mode now" command?
> But that requires the user to make a guess about the moment of their
> graduation from newcomer to non-newcomer -- and this moment is
> mythical, since the learning is a continuous process with no discrete
> boundary.

I've talked about this with a friend who is a prominent Blender user;
the program Blender has a similar issue where it has a perceived amount
of UI complexity; a lot of it also because things were foreign.  (It
also has not quite as much but a similar-ish level of extensibility.)

Users for years complained that the program is inaccessible.  Apparently
they did go through many UI improvements and eventually the UI did get
much easier to use (last time I opened it up though, since my experience
was from much older versions, *I* was confused... eg they switched the
order of right and left mouse buttons to be what other programs do).

For years, many of the suggestions for improving it though were around
changing or removing features.  It seems that recently they have made
many changes and managed to not remove features... I wonder how they did
it?  New users seem to be increasingly happy with the changes.  But of
course, some still complain that it's "too complicated", but a certain
amount of this is a domain problem: Blender chooses to be a powerful 3d
tool, and to a certain degree there will always be a certain amount of
overwhelmingness to it that's unavoidable.  Notably, this is also true
with the command line, which is also something that many have to become
convinced to become unafraid of.

Here are two lessons that I've thought about since those Blender
conversations though:

 - One thought is: you can change the defaults to be not what the
   current group is familiar with, but what matches the
   mainstream... and do compatibility in the *opposite* direction.  What
   if instead of turning on cua-mode, you turn on legacy-mode?

   I know this won't be a popular choice here, but it's worth proposing.
   When I opened Blender again, I reversed the mouse buttons because it
   was more "what I was used to from the old days" since Blender (like
   Emacs) made some convention decisions before there was a "mainstream
   choice".  But I could set it back.

   Notably this happened in a small way in emacs already: the scrollbars
   moved from the left to the right by default.  Well!  I rebound them
   back.  But I'm glad they're in the right by default now: that's the
   right decision.

   Still, this is maybe a harder sell for eg many of Emacs' keybindings,
   and the history list is very long on things like "kill"... I suspect
   the current community would be up in arms too much to accept such
   change.  But it's worth proposing the complete alternative.

   Let's not forget: some ideas in emacs are the way they are because
   they're more powerful.  Some of them are the way they are because
   Emacs predates modern UIs.  Maybe the result for what we choose to
   (not) do is the same.  But we shouldn't forget that these are
   (sometimes, not always) two different things.

 - An alternate line of thinking mentioned by my friend, frustrated by
   the calls to "streamline Blender", was to bring up a talk or paper or
   something they heard about Super Mario Bros being an excellent first
   UI: the game has a significant amount of complexity, but that
   complexity is *gradually introduced to the player*, and in an
   intuitive way.

   I don't know what talk or paper or article they were talking about,
   but this article has some degree of summary:

     
https://medium.com/swlh/the-perfect-game-tutorial-analyzing-super-marios-level-design-92f08c28bdf7

   You enter the world, you find out you can move to the right.  But you
   keep moving to the right, you run into your first enemy and die.

   You discover jump.  You try to jump, you accidentally hit this block
   above you, it does something interesting.

   You get far enough along in the level, you've absorbed those patterns
   already... so now you get to encounter new challenges.

   Eventually new game elements being introduced becomes more rare, and
   instead you reach the level of combinatorial introduction of elements
   together.

What I like about the latter approach is it doesn't suggest needing to
switch between a binary transition point of "beginner mode" and "expert
mode".  Instead, you have a gradual "just in time" introduction of
complexity.

Now, how to map that to Emacs?  I'm not sure yet... but maybe it's a
perspective worth starting from that allows for easing in newcomers
without throwing out expressive power.

Or maybe I just play too many video games, and that's why I appreciate
the analogy. :)

 - Chris



reply via email to

[Prev in Thread] Current Thread [Next in Thread]