yurikhan: (Default)
[personal profile] yurikhan

В вебфорумостроительстве есть типичная холиварная тема: Плоские темы vs Древовидные темы. У того и другого подходов есть свои плюсы и минусы, мы их здесь обсуждать не будем.

Почти все почтовые клиенты сходятся в том, что email относится к Древовидным. (Единственное известное мне исключение — Gmail, который считает, что к Плоским.)

Далее, почти все клиенты, умеющие группировать письма, отображают их в виде, натурально, леса. Где сообщения — вершины, а рёбра выражают тот факт, что одно сообщение является ответом на другое (в терминах заголовка In-Reply-To).

Внимание, вопрос! Что не так на этой картинке?

Проблема в том, что в реальном мире никто не называет множество связанных сообщений «деревом». В английском языке это thread, в русском — цепочка. И то, и другое суть структуры линейные.

И действительно, среднее количество непосредственных ответов на письмо где-то в районе единицы.

Выглядит всё это типично вот так:

−⃞ Отображение цепочки ответов
└─−⃞ Re: Отображение цепочки ответов
  └─−⃞ Re: Отображение цепочки ответов
    └─−⃞ Re: Отображение цепочки ответов
      ├─−⃞ Re: Отображение цепочки ответов
      │ └─−⃞ Re: Отображение цепочки ответов
      │   └─−⃞ Re: Отображение цепочки ответов
      │     └─  Re: Отображение цепочки ответов
      └─−⃞ Re: Отображение цепочки ответов
        └─−⃞ Re: Отображение цепочки ответов
          └─−⃞ Re: Отображение цепочки ответов
            └─  Re: Отображение цепочки ответов

Это ведёт к тому, что, когда у тебя в почтовом клиенте какая-нибудь достаточно оживлённая переписка, то к концу третьего дня уже либо горизонтальный скроллинг на две страницы, либо просто сабжекта не видно. (Не то чтобы в нём что-то полезное когда-нибудь было написано, но всё же!)

Как надо делать:

  • Основной кейс: Сообщения, составляющие цепочку без разветвлений, должны отображаться вертикальным списком.
    • Но только начиная со второго. Чтобы первое позволяло свернуть всю цепочку.
  • Fallback: Если у сообщения более одного ответа, то тогда отображаем его родителем, ответы — дочерними строчками, и далее к ним применяется предыдущее правило.

Примерно вот так:

−⃞ Отображение цепочки ответов
  ├ Re: Отображение цепочки ответов
  ├ Re: Отображение цепочки ответов
  −⃞ Re: Отображение цепочки ответов
    ├─−⃞ Re: Отображение цепочки ответов
    │   ├ Re: Отображение цепочки ответов
    │   ├ Re: Отображение цепочки ответов
    │   └ Re: Отображение цепочки ответов
    └─−⃞ Re: Отображение цепочки ответов
        ├ Re: Отображение цепочки ответов
        ├ Re: Отображение цепочки ответов
        └ Re: Отображение цепочки ответов

Ну и далее нужно, если сабжект ответа более чем на 90% совпадает с сабжектом исходного письма, то вместо него показывать первую значащую строчку. (Это, правда, потребует уметь автоматически отличать и игнорировать приветствия.)

(will be screened)
(will be screened if not validated)
If you don't have an account you can create one now.
No Subject Icon Selected
More info about formatting

Profile

yurikhan: (Default)
Yuri Khan

August 2018

S M T W T F S
   1234
567891011
12131415161718
19202122232425
26 2728293031 

Links

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated 2025-06-27 18:17
Powered by Dreamwidth Studios