emacs/var/elfeed/db/data/2d/2dcbe80d6becc8f96fab9c2b80b55a86063e9d77
2022-01-03 12:49:32 -06:00

311 lines
17 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<p>What follows is an exchange with <a href="https://podzerek.pl/">Karolus, Frontend developer &amp; UI/UX
designer</a>. I am sharing it with permission, in
the hope that others will find it interesting.</p>
<hr />
<blockquote>
<p>Hi Prot, just wanted to know your mindset behind using Emacs for
almost every task you can possibly imagine. The case you presented in
the video [PROT EDIT: <a href="https://protesilaos.com/codelog/2021-12-09-emacs-org-block-agenda/">About the custom Org
agenda</a>]
can be easily achievable by modern nowadays tools (open source or
not - thats not a point) Those tools usually have nicer visualization
for things like daily agenda, charts etc. They usually have
possibilities to add shortcuts for almost every action, so I believe
they can be as much efective as Emacs is. It seems to me that
incorporating every workflow to Emacs is like building 4 walls around
yourself to feel really comfortable and cossy, but for a cost of not
exploring other interesting modern workflows, tools and places. This
argument is even stronger when it comes to working with others. While
sharing your screen or your workflow with others, good data
visualization and ease of use are getting really important and
crucial. I am fully aware that you may have tackle this topic multiple
times in the past, so feel free to answer or not. Cheers</p>
</blockquote>
<p>Hello Karolus! The reason I am using Emacs for virtually everything is
because it makes the computer easier for me. My whole environment is
consistent, such as my preferred colour theme and key bindings, all my
custom commands, a unified way to customise every aspect of my
computing, etc.</p>
<p>My experience from the days I bought dedicated apps is that (i) they are
not interoperable or they somehow limit you to an environment you cant
really control, (ii) they are not easy/possible to extend and/or
customise to your liking. As for other free and open source solutions,
I think my Emacs setup is better for my needs than what I had before
(namely, Tmux+Vim+CLI tools) because of its uniformity.</p>
<p>Regarding the point of sharing data with others, that can definitely be
an issue in which case your suggestion would be a good fit. Though I do
not collaborate with anyone so I cant solve a problem I do not have.
If, however, I had to make a compromise I would prioritise the needs of
the team over my personal preferences (unless Emacs could be made to fit
into those requirements).</p>
<p>Same principle for syncing data between devices: I only have one
computer and no smartphone.</p>
<p>Concerning visualisation: I am not a visual person as I often prefer
“the thousand words” over the “one picture”, if that makes sense. Not
to imply that visualisation is ineffective and that I never use it—I
am just trying to keep things simple here by stating my preference.</p>
<p>Out of curiosity, which programs do you have in mind? Can you point me
to workflows that demonstrate how one can make them work in a way that
would make an Emacs user happy? In other words, I am interested in (i)
interoperability and sustainability, (ii) customisability and
transparency, (iii) uniform method of extensibility and subsequent
integration of otherwise distinct parts of the workflow.</p>
<hr />
<blockquote>
<p>Thank you for answering so quickly.</p>
<p>Maybe at first let me explain my background and why I am asking this
kind of a question.</p>
<p>Currently I am product designer &amp; developer who uses Tmux + Neovim for
development and Figma for the design. Because of my profession I have
to use and test a lot of products. This helps me to:</p>
<ul>
<li>see how other people tackle &amp; solve certain problems</li>
<li>have a good understanding how different applications works</li>
<li>have a feeling what is currently popular and why</li>
<li>make a research to find out similar solutions/products that client may
expect</li>
<li>learn and evolve (apps from 10 years ago look and feel different than
from now)</li>
<li>inspire myself + many others</li>
</ul>
<p>That being said I am trying to understand what would be the good use
case or scenerio to implement most workflows into Emacs. The idea of
unified and consistent environment with Emacs seems really amazing but
almost impossible to achieve for most people because of the following
reasons:</p>
<ul>
<li>steep learning curve (You mentioned that Emacs made your life easier,
but I am assuming it wasnt always like that 😉)</li>
<li>sharing and modifying data between multiple devices (mobile and
wearable devices use is much higher than PC/laptops nowadays)</li>
<li>more text, less visuals (seems like completely opposite direction when
you observe current software and users needs, visuals are greet and
they have their own uses, i.e Id like to see more visual programming
examples in the future but thats a subject for a different
discussion)</li>
<li>sharing your workflow with others in any way (especially if you
consider they do not know anything about emacs)</li>
<li>often times your environment have to be expanded or modified, so if
any of those cases above appears to be crucial using emacs is no
longer an option.</li>
<li>relaying on one software which handles everything seems to look cool
on paper but in reality its probably not the best option as you can
always lose access to your machine. Sharing and modifying files
without your one and only machine will become a nightmare.</li>
</ul>
<p>It looks like Emacs is suited for really specific and small group of
people (nothing bad about that) but even if you are in that group I can
easily imagine it will go into direction where you have to expand your
environment in a way that emacs will be no longer a good
option. Devoting time to learn something that will become not useful in
the long run can be painful and disappointing especially if its your
whole environment.</p>
<p>Regarding the workflows I found out myself using neovim and terminal
only for working with a text - mainly code. Neovim is quick and snappy,
now have a built-in LSP support, so I dropped vscode completely. But vim
is still only a text editor that can be easily replaced with another one
if there will be urgent need to do so. For any other workflow not
related to coding I use dedicated application. For planning personal
tasks, time boxing, etc. I would personally use app called “tick-tick” -
it also supports markdown syntax (I tried plenty todos/note taking apps,
including taskwarrior and vimwiki, but it doesnt work for me, not
enough media/data visualisation and mobile devices goodness 😃)</p>
<p>Hopefully this conversation wont offend you in any way, I am just
trying to understand a good use case and mindset behind using emacs for
everything. Maybe it will also aspire you to use other softwares than
emacs 😂. All best, Karolus</p>
</blockquote>
<hr />
<p>This conversation does not offend me and your interest is sincere. No
worries! I am well aware of the fact that there is no such thing as a
one-size-fits-all. Different people have needs and preferences that
differ profoundly, so what works for one may be unsuitable for another.
We are at our best when we acknowledge diversity and accommodate it.</p>
<p>I agree that Emacs is not for everyone because its true power or full
potential is only available to those who wish to commit to it in
earnest: to take the time to learn it and extend/customise it with Emacs
Lisp (Elisp). Whether that commitment is worth it is a matter of
subjectivity: again, there is no one-size-fits-all. All I can note is
that Emacs is a perfect fit for my case.</p>
<p>Emacs is not a text editor (check the text of my recent live stream
about Emacs VS Unix:
<a href="https://protesilaos.com/codelog/2021-09-22-live-stream-emacs-unix/">https://protesilaos.com/codelog/2021-09-22-live-stream-emacs-unix/</a>).
It is a Lisp machine with text editing as its primary point of entry.
This is of paramount importance in understanding how Emacs is more like
/bin/sh in terms of the environment it offers for running arbitrary code
(i.e. Elisp) with which to extend/change the functionality of Emacs.</p>
<p>Everything that is implemented in Emacs partakes of the same environment
(see my EmacsConf 2021 presentation:
<a href="https://emacsconf.org/2021/talks/freedom/">https://emacsconf.org/2021/talks/freedom/</a> (I havent posted it on my
website yet)). For example, I handle my to-do list and my email with
Emacs. It is trivial to capture a task that includes a direct link to
an email message/thread/view and have it appear on my agenda: when I
need to check the conversation, I simply follow the link. I also handle
my music with Emacs, so I can, for instance, capture the title of the
currently playing song and store it in a list of “favourite songs” or
“music recommendations” that I might want to share with others.</p>
<p>The linkages between text editing, file management, emails, music, RSS
feeds, and so on, are intuitive to draw once you become familiar with
the “Emacs mindset”. Sure, that will take anywhere between a couple of
weeks to a few months, so again it is not for everyone.</p>
<p>As I noted before, syncing data between machines is not a problem I face
because I only own one computer and have no smartphone. If I were to
acquire another computer though, I would research how best to sync my
data: it should be possible and I would be willing to go to great
lengths to make it happen. (For the record, I am not a fan of
smartphones, but that is another discussion.)</p>
<p>Same principle for relying on Emacs too much: if I lose access to my
computer, I am already in trouble because I do not have another one.
That would be a problem regardless of Emacs or any other app for that
matter.</p>
<p>The point of visuals as opposed to text-centric interfaces is, once
again, a matter of preference. I already stated my inclination for the
latter. I should then add that I actively dislike the wanton use of
iconography, or all those little graphics that have a largely cosmetic
value (and often a subtle counter-productive function). They are not
always as clear as precise typography that is given sufficient spacing
or presented in the appropriate structure.</p>
<p>Lastly, there is the issue of devoting time to something that may not be
relevant in the long run. I think this is actually one of Emacs most
enduring qualities. It has been around for nearly half a century and it
shows no signs of slowing down (continuous improvements in core Emacs,
new and great third-party packages, ongoing refinements to mature
packages, etc.). Investing in Emacs is worth the effort exactly because
one will acquire the requisite skills to adapt their Emacs configuration
to evolving circumstances. When a new need arises, one simply extends
Emacs on their own or relies on the contributions of the community
(i.e. a package). In other words, the customisability and extensibility
of Emacs, combined with its uniformity and introspectability
(transparency), lend to its adaptability.</p>
<p>Since you are a product designer, I suppose you are interested in
gathering feedback on a specific use-case or set of preferences? A
datum you may then consider is that predictability matters greatly: I do
not want my apps to change every few years because that means I have no
control over them and, by extension, my computing environment. The more
control I have, the better off I am. This, of course, relates to
software freedom and concomitant rights (e.g. privacy), but lets not
elaborate on that. I understand the business incentives that underpin
the modus operandi of companies who change/refresh their products every
so often. Its their job and my opinion on it (which you can infer) is
not relevant here. Yet Emacs (and free software at-large) is not a
product—with everything that entails—which is exactly what I want.</p>
<hr />
<p>Can I post this conversation on my website? It might be interesting for
others and it is easier for me to keep a publicly available archive of
it (notwithstanding the memo I stored on my machine). I can keep your
name, if you want, and also include a link to your website. Or I can
keep it anonymous. Whatever works for you. What do you think?</p>
<hr />
<blockquote>
<p>My interest with Emacs started with this channel:
<a href="https://www.youtube.com/watch?v=kRkp-uJTK7s">https://www.youtube.com/watch?v=kRkp-uJTK7s</a> and after a while youtube
algorithms recommend me one of your videos. The idea of having one
ultimate environment intrigued me, but of course nothing seems to be
without flaws. Having those difficulties (even if they can be tackle)
like we mentioned with steep learning curve, multiple device use,
mobile/wearable device use, sharing your workflow with others etc. could
be really a pain points for many.</p>
<p>Personally speaking I am too much into graphics and exploring new
softwares that the proposition of values that emacs has would be enough
to go deep into learning it. I.e having my favourite music album without
the album cover by default would bother me in the long run. For me its
just nice to have that visual representation of things if you know what
I mean. I believe graphics used wisely can also reduce the visual
clutter and help to focus on the right thing at the time. You mentioned
iconography and other graphics as largely cosmetic values, but this
opinion unfortunately doesnt go hand in hand with what is currently
adopted by many softwares and widely used by many people. I think you
can be surprise how many icons like search, save, logout, notification,
play/stop etc. are as much expressive and encoded in our brains as
words. Not to mentioned that graphics have enormous use in marketing,
brand, games and many others, so you cannot denny that the use of
graphics in software can be beneficial and have a really huge impact how
certain software is used.</p>
<p>Lastly, I would like to ask about good comparison to Emacs then. You
presented Emacs as a Lisp machine that you can treat similarly to
/bin/sh. Base on that It looks like the Vim vs Emacs comparison is no
longer valid unless you only compare text viewing/editing
capabilities. So what piece of software could be a good alternative to
Emacs, just out of curiosity is there any similar solution?</p>
<p>Thank you for the insights and thoughtful conversation Prot. You
satisfied my curiosity which is likely related to my professional
deviation😃 Feel free to share it on your website, you can keep my
name or preferable nickname “Karolus”, I dont mind it. Here is also a
link to my website: <a href="https://podzerek.pl">https://podzerek.pl</a> feel free to share it too,
thanks.</p>
</blockquote>
<p>DistroTube has switched to using Emacs which, I think, helps raise
awareness about its potential. David Wilson of the System Crafters
channel is also doing an excellent job:
<a href="https://youtube.com/c/SystemCrafters">https://youtube.com/c/SystemCrafters</a>.</p>
<p>I understand your point of view: Emacs is largely text-centric. Nicolas
Rougier is experimenting with ways to broaden the scope of what Emacs
can do with graphics and, generally, with a more deliberate design:
<a href="https://github.com/rougier">https://github.com/rougier</a>.</p>
<p>I agree that when graphics are used wisely they enhance the experience.
Emacs could definitely benefit from such insights. Perhaps I did not
make myself clear earlier: I am against the exaggerations, the use of
icons everywhere even when they are not needed. I have similar remarks
for typography, such as that we do not need to emphasise something with
bold, italic, underline, and an extra colour, when one or two of those
attributes would suffice. Same principle for themes which often use
complementary colours (e.g. blue and yellow) for patterns that do not
need to have their inter-construct contrast amplified (I am the
developer of the modus-themes, which are built into Emacs 28 (or higher)
and even include a section in the manual about “avoiding exaggerations”,
as well as an explanation of the dominant colours in most contexts).</p>
<p>There are, of course, cases where graphics are vastly superior to terse
text in terms of conveying the underlying information. For example, it
is better to behold a visualisation of the volume of the connections
between nodes than to draw a mental representation of it.</p>
<p>As for a good comparison to Emacs, I am not aware of one. Maybe Neovim
is becoming more Emacs-like in terms of its extensibility, though I have
not used it enough to have an opinion about it. (What I can state with
certainty is that {Neo,}Vim is not the ultra minimilast program that
some people claim as a rebuttal to using Emacs—it still is great in
its own right.)</p>