unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
From: Michael J Gruber <git@grubix.eu>
To: Anton Khirnov <anton@khirnov.net>, notmuch@notmuchmail.org
Subject: Re: announce: my fork of alot
Date: Sun, 16 May 2021 13:15:28 +0200	[thread overview]
Message-ID: <162116372803.55588.12574083715280154635.git@grubix.eu> (raw)
In-Reply-To: <162116038546.29687.12722695687857643272@lain.red.khirnov.net>

Anton Khirnov venit, vidit, dixit 2021-05-16 12:19:45:
> Hi,
> 
> Thought I'd share with the people here the fork of alot I've been
> hacking on for the past ~1.5 years, see if there is any interest in it.

Thanks for sharing!

> The code can be found at git://git.khirnov.net/alot.

Any particular reason why this is not a fork where upstream is (GitHub)?
 
> There are many changes in various places, the most user-visible ones in
> the thread view mode. Specifically
> - quoted blocks in the email body can now be colored and folded (this
>   was probably my main motivation for starting all this)
> - in upstream the thread mode shows a tree of messages, each node in the
>   tree is a rendered message, that can be collapsed into a single-line
>   summary;
>   in my fork the thread mode is split-window - upper window for the tree
>   with the thread structure, lower window for the currently selected
>   message; no collapsing of messages
> - attachments can be rendered inline, possibly colored with pygments
> - git patches are colored with pygments
> - all the parts are rendered for multipart/mixed messages, as per the
>   RFCs
> - encrypted/signed parts are now wrapped in a frame that indicates which
>   bits of the message are actually encrypted or signed
> - various architectural restructurings which were needed for the above
>   or to allow for future changes (I have a large TODO list left)

This all sounds like getting closer to mutt's view, which is not a bad
thing at all!

> The code is currently alpha quality - I am using it as my main MUA and
> it works for my workflow, but any features I don't use regularly may be
> broken. There is a general lack of "UX" polish (appearance and
> documentation). I didn't bother updating the test suite to keep up with
> all the architectural changes (plan to get to that once I consider the
> code more stable).

I have to question this strategy. alot (upstream) suffers from a lack of
tests already. There is really no point writing tests after the fact or
once you discover bugs by chance. Especially if you go for "disruptive"
changes it's important to get the new architecture correct right from
the beginning.

> I removed some features which I considered an
> impediment to progress and not worth the maintenance effort - YMMV.
> 
> Why did I not submit all this as PRs to upstream alot? The main reasons
> were my lack of time and disagreement with the upstream about project
> status. From what I can tell, alot maintainers consider the project to
> be mature, so they prioritize stability and small incremental changes.
> From my perspective, alot is lacking some critical features -- some
> implemented in my fork already, some planned -- which makes it
> borderline-unusable for me. As implementing those features required
> large-scale architectural changes and my free time was quite limited, I
> prioritized quickly implementing the things I cared about over
> progressing in small incremental stable easily-reviewable steps.

I have a similar impression about the project status. I'm curious: What
are the architectural changes that you made?

From any notmuch-based MUA I expect a clear correspondence with
underlying notmuch concepts, such as "notmuch search results" being a
set of messages (not threads) and therefore command acting on that set
by default.

alot always confuses me in this regard.

> At this point my tree has over 200 new commits and some ~4k changed
> lines, so it's looking increasingly unlikely that I'll ever find the
> free time and motivation to upstream it -- especially given alot's
> glacial pace of development recently. If people are interested in using
> this, I'll probably fork it "properly" under a new name.
> 
> Any comments or questions are very much welcome. I can also be reached
> on IRC as elenril.

Have you tried raising these concerns with upstream before your fork?
Have you tried gathering a team around an idea and starting something
new together?

Frankly, upstream is borderline small already, and the way you started
your fork probably will not attract a team of people who want to make
that new fork their (common) own or are looking for a stronger team.

Incidentally, just yesterday I looked at neomutt's status, in search of
a substitute for alot with good notmuch support and a stronger devel
community. I suggest you read the most recent posts on their devel list
to see how much the deviating fork has burned out a small team.

Cheers
Michael

  reply	other threads:[~2021-05-16 11:15 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-16 10:19 announce: my fork of alot Anton Khirnov
2021-05-16 11:15 ` Michael J Gruber [this message]
2021-05-16 14:42   ` Anton Khirnov
2021-05-16 15:41   ` Patrick Totzke
2021-05-16 17:47     ` Anton Khirnov
2021-05-16 18:23       ` Patrick Totzke
2021-05-17  7:08         ` Patrick Totzke
2021-05-17  7:33           ` Michael J Gruber
2021-05-17  7:54             ` Michael J Gruber
2021-05-17  8:25             ` Anton Khirnov
2021-05-17  8:19           ` Anton Khirnov
2021-05-17  8:28             ` Patrick Totzke
2021-05-17  8:39               ` Anton Khirnov
2021-05-17  9:02         ` Anton Khirnov
2021-05-16 22:09 ` Johannes Larsen
2021-05-16 22:32   ` Felipe Contreras
2021-05-16 23:13     ` Johannes Larsen
2021-05-17  0:23       ` Felipe Contreras
2021-05-17  8:54   ` Anton Khirnov
2021-05-17 12:32     ` Johannes Larsen
2021-05-17 12:55       ` Anton Khirnov
2021-05-17 19:03         ` Johannes Larsen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://notmuchmail.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=162116372803.55588.12574083715280154635.git@grubix.eu \
    --to=git@grubix.eu \
    --cc=anton@khirnov.net \
    --cc=notmuch@notmuchmail.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://yhetil.org/notmuch.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).