Back to the schedule
Previous: Building reproducible Emacs
Next: Orgmode - your life in plain text

On why most of the best features in eev look like 5-minute hacks

Eduardo Ochs

Download video
Download subtitles
Download compressed .webm video (43.9M)

In the last months there were several hundreds of messages in emacs-devel in threads with names like "A proposal for a friendlier Emacs", "How to make Emacs popular again", and "Interactive guide for new users". On the one hand I am absolutely sure that eev is very good answer to all these themes; on the other hand I know that eev is based on some design decisions that offend most people used to modern, "user-friendly" interfaces - and I feel that at this moment mentions to eev in those discussions in emacs-devel would not be welcome.

In this talk I will start by presenting very quickly the main "killer features" of eev - namely:

  1. Elisp hyperlinks,

  2. interactive tutorials that can be navigated with just three keys,

  3. non-invasiveness - people can easily turn eev on for only five minutes each week, play with it a bit, and then turn it off,

  4. high discoverability factor,

  5. a way to create "hyperlinks to here",

  6. hyperlinks to specific points in PDF documents and video files - i.e., to specific pages, strings, and timemarks,

  7. a way to control shell-like programs ("eepitch"), and

  8. an Elisp tutorial,

and after that I will present the design decisions behind eev, in two parts:

  1. eev is a very thin layer above Emacs-the-Lisp-environment; it is as simple as possible, but in the sense of "simple" that was used in Forth, and that is not very familiar today.

  2. Very often when I am using Emacs - which is my main interface with the system - I realize that I can automate some task that I just did by hand twice of thrice; and that I should do that, because automating that would be both easy and fun. Over the years I experimented with several ways of automating tasks, refined some of these ways a lot, and found a certain "best" style that, again, usually offends people who are accustomed with the modern ideas of user-friendliness. In this style, used in most template-based functions in eev, both textual documentation and error-handling are kept to a minimum. I will show how, and why, eev makes this style works so well, and how users can create their own templated functions very quickly - as "5-minute hacks".

  • Actual start and end time (EST): Start: 2020-11-28T11.45.20; End: 2020-11-28T12.26.00


Is eev like GNU hyperbole? (from karthink in #emacsconf)

[rswgnu] I know Eduardo is exploring using Hyperbole with eev and we will work with him to help him integrate its features.

Are there variants of pos-spec-list that aren't search based? E.g., find buffer + run some other command + copy results?

I guess this is partly answered, with Xpdf example.

Take a look here:

I didn't quite follow the find-here-links demo, can you describe that once more slowly?

I just added links to the tutorials about find-here-links and refining hyperlinks to the bottom of this page: - hope that helps!

What are the books/readings that inspired you about usability again?

Here are some: "Software Tools" by Kernighan and Plauger, the article about "Little Languages" in Jon Bentley's "More Programming Pearls", a commercial Forth called HS-Forth, and "Exploring Expect" by Don Libes.


Saturday, Nov 28 2020, ~11:47 AM - 12:27 PM EST
Saturday, Nov 28 2020, ~ 8:47 AM - 9:27 AM PST
Saturday, Nov 28 2020, ~ 4:47 PM - 5:27 PM UTC
Saturday, Nov 28 2020, ~ 5:47 PM - 6:27 PM CET
Sunday, Nov 29 2020, ~12:47 AM - 1:27 AM +08

Back to the schedule
Previous: Building reproducible Emacs
Next: Orgmode - your life in plain text