summaryrefslogtreecommitdiffstats
path: root/2021/captions/emacsconf-2021-design--on-the-design-of-text-editors--nicolas-p-rougier--main.vtt
diff options
context:
space:
mode:
Diffstat (limited to '2021/captions/emacsconf-2021-design--on-the-design-of-text-editors--nicolas-p-rougier--main.vtt')
-rw-r--r--2021/captions/emacsconf-2021-design--on-the-design-of-text-editors--nicolas-p-rougier--main.vtt514
1 files changed, 514 insertions, 0 deletions
diff --git a/2021/captions/emacsconf-2021-design--on-the-design-of-text-editors--nicolas-p-rougier--main.vtt b/2021/captions/emacsconf-2021-design--on-the-design-of-text-editors--nicolas-p-rougier--main.vtt
new file mode 100644
index 00000000..a894741c
--- /dev/null
+++ b/2021/captions/emacsconf-2021-design--on-the-design-of-text-editors--nicolas-p-rougier--main.vtt
@@ -0,0 +1,514 @@
+WEBVTT
+
+00:00.880 --> 00:02.386
+Good afternoon. I'm Nicolas Rougier,
+
+00:02.386 --> 00:04.080
+and today I would like to present some of
+
+00:04.080 --> 00:06.560
+the experiments I've made with Emacs.
+
+00:06.560 --> 00:08.400
+My initial motivation was an
+
+00:08.400 --> 00:09.920
+inner feeling that something was
+
+00:09.920 --> 00:12.559
+wrong with most modern editors,
+
+00:12.559 --> 00:14.559
+and before I show you my experiment,
+
+00:14.559 --> 00:16.004
+I will try to demonstrate
+
+00:16.004 --> 00:17.440
+what I think is wrong.
+
+00:17.440 --> 00:18.720
+Note that this is mostly my
+
+00:18.720 --> 00:20.640
+personal feelings and I did not commit
+
+00:20.640 --> 00:23.279
+any experiment to test is this or
+
+00:23.279 --> 00:25.279
+that choice would be better.
+
+00:25.279 --> 00:26.781
+Of course, some of you might
+
+00:26.781 --> 00:30.480
+legitimately disagree with me.
+
+00:30.480 --> 00:32.399
+Let's start with a short review of a
+
+00:32.399 --> 00:35.160
+modern text editor. I chose Nova editor
+
+00:35.160 --> 00:37.680
+that is only available on OS X,
+
+00:37.680 --> 00:39.920
+but there are actually many other very
+
+00:39.920 --> 00:42.960
+similar editors, such as, for example,
+
+00:42.960 --> 00:45.680
+Atom, Sublime Text, or Visual Studio.
+
+00:45.680 --> 00:47.760
+Now it's quite interesting because I think
+
+00:47.760 --> 00:50.239
+it manages to gather everything what is
+
+00:50.239 --> 00:53.120
+wrong in this single screenshot that is
+
+00:53.120 --> 00:55.920
+also the teaser image on their website.
+
+00:55.920 --> 00:58.160
+So let me now review it according to my
+
+00:58.160 --> 01:01.039
+personal biases and for further analysis
+
+01:01.039 --> 01:02.667
+I can only recommend to attend
+
+01:02.667 --> 01:05.680
+David Wilson's talks tomorrow.
+
+01:05.680 --> 01:07.360
+The most (inaudible) thing that really
+
+01:07.360 --> 01:11.583
+bothers me is the actual area dedicated
+
+01:11.583 --> 01:13.504
+to the editing. When you measure
+
+01:13.504 --> 01:15.553
+this editing area as I did on the
+
+01:15.553 --> 01:19.112
+screenshot, you'll find an impressive 35%,
+
+01:19.112 --> 01:22.316
+which is ridiculously small
+
+01:22.316 --> 01:24.240
+compared to the side of the window.
+
+01:24.240 --> 01:26.320
+This means that two-thirds of the window
+
+01:26.320 --> 01:30.079
+area is dedicated to peripheral information
+
+01:30.079 --> 01:32.079
+that you don't look so often
+
+01:32.079 --> 01:34.159
+when writing code or prose.
+
+01:34.159 --> 01:36.560
+This results in the main editing area to
+
+01:36.560 --> 01:39.119
+be reduced to one third even if we tend
+
+01:39.119 --> 01:42.040
+to have larger and larger monitors, I think
+
+01:42.040 --> 01:45.600
+this is wrong to lost so much of space.
+
+01:45.600 --> 01:47.759
+If we now look closer at this peripheral
+
+01:47.759 --> 01:49.920
+information, we can immediately see that
+
+01:49.920 --> 01:52.079
+there is a lot of redundancy.
+
+01:52.079 --> 01:53.617
+For example, on the screenshot,
+
+01:53.617 --> 01:55.709
+I highlighted the information related
+
+01:55.709 --> 01:57.759
+to the file name being edited.
+
+01:57.759 --> 02:00.640
+Unless I missed, some this file name
+
+02:00.640 --> 02:02.320
+is displayed four times.
+
+02:02.320 --> 02:04.399
+This is way too much even if it
+
+02:04.399 --> 02:06.320
+displayed for different reasons
+
+02:06.320 --> 02:08.959
+in different contexts, but still I think
+
+02:08.959 --> 02:10.720
+you have a design problem if you need to
+
+02:10.720 --> 02:14.560
+repeat an information up to four times.
+
+02:14.560 --> 02:15.947
+If we now look at colors,
+
+02:15.947 --> 02:18.160
+you can count 15 different colors,
+
+02:18.160 --> 02:20.560
+such that it is impossible to guess
+
+02:20.560 --> 02:22.959
+which color indicates what.
+
+02:22.959 --> 02:25.440
+Such colorization based on syntax is
+
+02:25.440 --> 02:28.720
+actually quite widespread in code editors
+
+02:28.720 --> 02:30.959
+including Emacs, unfortunately.
+
+02:30.959 --> 02:32.640
+The problem is that we still don't know
+
+02:32.640 --> 02:34.319
+whether it helps or not.
+
+02:34.319 --> 02:36.780
+Some studies say yes, some others say no,
+
+02:36.780 --> 02:38.239
+and in the end the conclusion
+
+02:38.239 --> 02:40.080
+is not yet settled.
+
+02:40.080 --> 02:41.840
+Furthermore, there is another problem
+
+02:41.840 --> 02:43.663
+because there is no scientific method
+
+02:43.663 --> 02:46.080
+on how to enforce colonization.
+
+02:46.080 --> 02:48.800
+Should it be based on syntax, or semantic,
+
+02:48.800 --> 02:51.519
+or context, or something else?
+
+02:51.519 --> 02:53.599
+Developers are actually pretty free to do
+
+02:53.599 --> 02:56.400
+whatever they want, a lot of them will
+
+02:56.400 --> 02:58.879
+use syntax based colorization because it
+
+02:58.879 --> 03:01.280
+is the most simple to write.
+
+03:01.280 --> 03:03.280
+In the end, most of them achieve a
+
+03:03.280 --> 03:06.080
+Christmas tree effect.
+
+03:06.080 --> 03:08.189
+We know however, how to use colors
+
+03:08.189 --> 03:10.560
+to drag attention to a specific position
+
+03:10.560 --> 03:13.920
+as it is shown on the screenshot.
+
+03:13.920 --> 03:15.760
+This is called the pop-out effect,
+
+03:15.760 --> 03:18.080
+which is quite well known in neuroscience.
+
+03:18.080 --> 03:20.000
+Here, the media keyword has been
+
+03:20.000 --> 03:23.120
+made very silent just by setting
+
+03:23.120 --> 03:25.760
+the color in red while all other
+
+03:25.760 --> 03:28.080
+elements are desaturated.
+
+03:28.080 --> 03:30.480
+It literally pops out from the screen
+
+03:30.480 --> 03:33.680
+and point attention toward it.
+
+03:33.680 --> 03:35.360
+Finally, if we look at the overall
+
+03:35.360 --> 03:36.879
+structure of the Nova editor,
+
+03:36.879 --> 03:39.353
+we can characterize structural elements
+
+03:39.353 --> 03:41.840
+that are also present in a large number
+
+03:41.840 --> 03:44.029
+of modern editors namely,
+
+03:44.029 --> 03:46.400
+a file browser, a gutter, a mini map,
+
+03:46.400 --> 03:47.844
+a tab bar, a toolbar,
+
+03:47.844 --> 03:49.920
+and some versioning tools.
+
+03:49.920 --> 03:52.477
+I think this is too much information,
+
+03:52.477 --> 03:54.879
+and can lead to cognitive overload
+
+03:54.879 --> 03:57.725
+such that you end up to not pay attention
+
+03:57.725 --> 03:59.599
+to important information.
+
+03:59.599 --> 04:02.720
+So definitely more is not always better,
+
+04:02.720 --> 04:05.280
+and to paraphrase Edward Tufte in his book
+
+04:05.280 --> 04:06.780
+The Visual Display of
+
+04:06.780 --> 04:08.720
+Quantitative Information,
+
+04:08.720 --> 04:12.560
+"Above all else show the data."
+
+04:12.560 --> 04:14.640
+This is a reason that led me to
+
+04:14.640 --> 04:16.720
+experiment alternative design,
+
+04:16.720 --> 04:18.079
+and of course, to do that with
+
+04:18.079 --> 04:19.840
+the total freedom I didn't have
+
+04:19.840 --> 04:24.080
+much choice but to use and hack Emacs.
+
+04:24.080 --> 04:27.001
+My first iteration was called Elegant Emacs,
+
+04:27.001 --> 04:29.271
+and I try to enforce a few principles
+
+04:29.271 --> 04:31.759
+that I will detail into the next slide.
+
+04:31.759 --> 04:33.919
+But roughly, my idea was to
+
+04:33.919 --> 04:35.857
+enforce a radically different design
+
+04:35.857 --> 04:38.320
+by simply removing as much
+
+04:38.320 --> 04:40.080
+information as I could.
+
+04:40.080 --> 04:42.240
+Even so, vanilla Emacs is
+
+04:42.240 --> 04:44.000
+already quite simple.
+
+04:44.000 --> 04:45.759
+You can see the result on the screen,
+
+04:45.759 --> 04:47.759
+and I'm practically happy with the third
+
+04:47.759 --> 04:50.240
+screenshot that mimics the PDF layout of
+
+04:50.240 --> 04:53.120
+a scientific article by Stefan Monnier
+
+04:53.120 --> 04:55.360
+and Michael Sperber but rather
+
+04:55.360 --> 04:58.160
+fully inside Emacs.
+
+04:58.160 --> 05:01.080
+The second iteration is called NANO Emacs,
+
+05:01.080 --> 05:03.680
+and it is a version I try to maintain
+
+05:03.680 --> 05:05.592
+with a set of standalone packages
+
+05:05.592 --> 05:07.759
+that you can test individually.
+
+05:07.759 --> 05:09.271
+It is based on a set of
+
+05:09.271 --> 05:11.919
+a few principles, namely
+
+05:11.919 --> 05:14.677
+large margins, reduced number of faces,
+
+05:14.677 --> 05:17.360
+a simplified and contextual header line,
+
+05:17.360 --> 05:19.280
+and a default aspect ratio that
+
+05:19.280 --> 05:21.759
+mimics the A4 ISO format.
+
+05:21.759 --> 05:24.240
+I've been using this layout for a
+
+05:24.240 --> 05:26.720
+year and so far I'm quite happy with it.
+
+05:26.720 --> 05:29.440
+I know this is quite an opinionated
+
+05:29.440 --> 05:31.680
+design and some of you may totally
+
+05:31.680 --> 05:34.240
+disagree with me.
+
+05:34.240 --> 05:36.630
+Lately I've been experimenting
+
+05:36.630 --> 05:38.682
+with some special modes where
+
+05:38.682 --> 05:41.919
+the header line is made even simpler,
+
+05:41.919 --> 05:44.080
+this is the case for org-agenda,
+
+05:44.080 --> 05:46.720
+mu4e, deft, and elfeed.
+
+05:46.720 --> 05:48.560
+This worked reasonably well
+
+05:48.560 --> 05:50.952
+because these modes are search based,
+
+05:50.952 --> 05:54.720
+and it was easy to unify their design.
+
+05:54.720 --> 05:56.960
+I've also integrated some dynamic tags
+
+05:56.960 --> 06:00.484
+and icon in my agenda using svg-lib,
+
+06:00.484 --> 06:02.400
+which is available on ELPA.
+
+06:02.400 --> 06:04.960
+And for example, you can see the
+
+06:04.960 --> 06:08.560
+pie progress that help to show
+
+06:08.560 --> 06:11.440
+some incoming deadlines.
+
+06:11.440 --> 06:13.261
+There are still ongoing development
+
+06:13.261 --> 06:15.120
+to develop new packages to give
+
+06:15.120 --> 06:17.280
+a unified look and feel.
+
+06:17.280 --> 06:18.792
+I got a lot of feedback from
+
+06:18.792 --> 06:20.768
+the Emacs community,
+
+06:20.768 --> 06:22.288
+mostly in Reddit and GitHub,
+
+06:22.288 --> 06:24.319
+and I would like to thank them here
+
+06:24.319 --> 06:26.880
+because this is incredibly useful.
+
+06:26.880 --> 06:29.039
+If you want to follow or support my work,
+
+06:29.039 --> 06:31.600
+best place is probably GitHub.
+
+06:31.600 --> 06:33.099
+Thank you for your attention.
+
+06:33.099 --> 06:34.479
+I will be happy to answer
+
+06:34.479 --> 06:36.874
+any questions you may have.
+
+06:36.874 --> 06:38.520
+[captions by bhavin192 (Bhavin Gandhi)]