Author Topic: 1.6.0-14-dev1 - Conversation View - Группировка сообщений  (Read 33455 times)

Kostya Vasilyev

  • Hero Member
  • *****
  • Posts: 12740
http://www.aqua-mail.com/download/AquaMail-market-1.6.0-14-dev1.apk

---

*** Conversation view:

- Overall approach:

There are different ways to present threads (conversations) in the UI.

I deliberately did not do it "like in Gmail" -- had comments from users who don't like it, and then what's the point.

I did not do it "like in K9 Mail or iPhone Mail" -- where you first "tap into" a thread and then tap again to open a message.

And then there is what Samsung does in their email app -- in my opinion, worst I've seen.

Turned out, the approach I came up with is used in Sony's mail app (I have an Xperia Z2).

- Swiping between messages will only go though at most 3 messages per thread (settings -> message view -> navigation).

- Messages are linked by message headers (Message-ID, In-Reply-To, References) *only*.

No linking by subject or sender alone when those header are absent. This is intentional:

I really hate it how some mail apps combine distinct unrelated messages like forum notifications ("A new reply has been posted") or messages with subjects like "Question" or "Order" (coming from different people, even).

- Linking across folders (incoming vs. sent) is not enabled by default, please see app settings -> message list if you need it.

- Needs more work on message list jumping up or down sometimes, needs animations too, and "customize color" settings.

- Widgets have their own "threaded or not" setting, app settings -> widgets.

- Not sure if I got per-message contact images and/or recipient name right for the threaded view, can be fine-tuned based on feedback.

- Probably needs to not expand really large threads (say past a dozen or two messages) upon single click, may be better to only show say a dozen, then have a place to tap "show xxx more messages from this conversation".

*** Added "one month" time period in Smart Folder

*** Added "mark read upon" - "when closing a message" (settings -> message view) for those who like to use "sort by unread first"

---

*** Группировка сообщений по переписке:

- Общий подход:

Есть разные способы показывать цепочки в интерфейсе.

Я специально не стал делать "как в Gmail" -- мне писали что "не нравится", и потом это бессмысленно (есть же Gmail, ну и).

Не стал делать "как в K9 Mail и iPhone Mail" -- в их подходе надо сначала открыть цепочку, затем нажать ещё раз чтобы открыть  сообщение.

И не стал делать как в почте Самсунга, мне кажется там хуже всего.

В итоге оказалось, что тот же подход используется в почте Sony (у меня есть Xperia Z2).

- Пролистывание между сообщениями "смотрит" только на 3 самых новых сообщения из каждой цепочки (настройки - отображение сообщений - навигация).

- Сообщения связываются *только* по заголовкам (Message-ID, In-Reply-To, References).

Связки только по теме или отправителю в отсутствие данных заголовков нету. Это намеренно:

Мне совершенно не нравится как некоторые почтовые программы могут объединить сообщения не являющиеся цепочкой, например уведомления с форумов ("В теме размещен новый ответ") или такие темы как "Вопрос" или "Заказ" (даже от разных людей).

- Связывание между папками (входящие - отправленные) отключено по умолчанию, см. настройки - список сообщений если Вам это нужно.

- Нужно ещё поработать над списком сообщений, сейчас он может "прыгать" при раскрытии цепочек, наверное нужна анимация, настройки цветов.

- В виджетах "список сообщений" цепочки включаются отдельно, настройки - виджеты.

- Не уверен что всё сделал правильно с картинками и именами контактов при отображении цепочек, доработаю если предложат идеи.

- Вероятно очень большие цепочки лучше не раскрывать сразу польностью, а скажем 10 писем а остальные "нажмите здесь чтобы отобразить ещё ... столько-то".

*** Добавил "один месяц" в настройках умной папки.

*** Добавил "помечать прочитанным" - "при закрытии" (настройки - отображение сообщений) для фанатов сортировки "непрочтенные сначала".

Уффф. Мы писали, мы писали, наши пальчики устали.
« Last Edit: November 04, 2015, 06:17:41 pm by Kostya Vasilyev, Aqua Mail »
Creating debug logs for diagnostics: https://www.aqua-mail.com/troubleshooting/

The official FAQ: https://www.aqua-mail.com/faq/

Лог-файлы для диагностики: https://www.aqua-mail.com/ru/troubleshooting/

Вопросы и ответы: https://www.aqua-mail.com/ru/faq/

StR

  • Hero Member
  • *****
  • Posts: 1558
Kostya,

Congrats!
Even though message threading is not a necessity for me, I've been curious to see "what's cooking". I don't have long threads at the moment (only 2-3 messages), so, I cannot evaluate this to the full extent, but it seems to work.
I think some time is needed to get a real feel of it.

In the mean time, I wanted to share one thought.
Once I installed the new apk and opened the app, it offered me to index the messages. I agreed, and then Aquamail went into thinking... I didn't time it, but I think it took at least 5 minutes... The phone (XT-907) was only semi-responsive during that time. (At the moment, I have 4 IMAP accounts in Aquamail, of which only one has "high traffic". The rest receive 1-5 messages per day.)
Aquamail indicated that there were close to 1400 messages that it indexed.
Fortunately, I was not in a big rush... If I were, I would've been mad.

So, my suggestion: the same way as some programs do, add a warning to that confirmation (index?) that it may take several minutes to complete. This way you may save some unhappy minutes to some Aquamail users.

julio66

  • Jr. Member
  • **
  • Posts: 70
It is amazing Kostya.
I get your points of why you did it the way you did, but for my part love the option to be able to tread the messages after contacts not only subject....In my opinion it is nicer to get all the mails from one user/contact treaded, independent of the subject. Ex; If I have 20 mails from you, not all with the same subject, it would be cleaner and more easy to have them all in ONE CONVERSATION (tread).

nadir husain

  • Full Member
  • ***
  • Posts: 107
ok kostya- this is a work of art.  i am not a great fan of " conversation view"  having only seen gmail and k9 but i think i could very easily get used to this.  you really do have that midas touch.  kudos  :)

beerlao

  • Newbie
  • *
  • Posts: 42
Congratulations, that is how threading should be done. Don't group messages by subject, but take care of References Header :-) Very well done and it works great!  Thank you!

Kostya Vasilyev

  • Hero Member
  • *****
  • Posts: 12740
Re:

Quote
The phone (XT-907) was only semi-responsive during that time. (At the moment, I have 4 IMAP accounts in Aquamail, of which only one has "high traffic". The rest receive 1-5 messages per day.)
Aquamail indicated that there were close to 1400 messages that it indexed

An pretty old phone, but that's fine. I'll write it down and maybe will make it possible to cancel the indexing (if I can).

Re: "group by sender not by conversation" -- ummmm... not sure about this...

And to everyone else's very positive comments -- thank you, thank you, thank you!

There is still work to do, now I'm twice as excited about it.
Creating debug logs for diagnostics: https://www.aqua-mail.com/troubleshooting/

The official FAQ: https://www.aqua-mail.com/faq/

Лог-файлы для диагностики: https://www.aqua-mail.com/ru/troubleshooting/

Вопросы и ответы: https://www.aqua-mail.com/ru/faq/

mikeone

  • Hero Member
  • *****
  • Posts: 2762
Quote
So, my suggestion: the same way as some programs do, add a warning to that confirmation (index?) that it may take several minutes to complete. This way you may save some unhappy minutes to some Aquamail users.
Kostya:
I agree with StR"s suggestion to add at least a "warning" that the following indexing will take "some" time to complete (up to several minutes).

In addition:
Conversation view is working fine. Well done, Kostya!
Kind regards
Mikeone

Kostya Vasilyev

  • Hero Member
  • *****
  • Posts: 12740
Re: indexing

It really depends.

On a Sony Z2 (2013 device, IIRC) it takes 12 seconds for 3500 messages.

On a Samsung S4 Mini (2012, low end device), it takes 26 seconds for 3500 messages.

So I added a cancel button -- if the user sees it actually is taking too long, he/she can just cancel and do it later.
Creating debug logs for diagnostics: https://www.aqua-mail.com/troubleshooting/

The official FAQ: https://www.aqua-mail.com/faq/

Лог-файлы для диагностики: https://www.aqua-mail.com/ru/troubleshooting/

Вопросы и ответы: https://www.aqua-mail.com/ru/faq/

mikeone

  • Hero Member
  • *****
  • Posts: 2762
On my phone (Sony Z3) the app had to indexing round about 9000 messages. It takes more than 30 sec. to count up. Then the progress bar stucks at 99% for a while... I think also more than 30 sec. until indexing was completed.

Kostya Vasilyev

  • Hero Member
  • *****
  • Posts: 12740
12 sec for 3500 for me -> yes, makes sense it would take longer than 30 seconds for you.

And yes, there is a mass update at the end of the process.
Creating debug logs for diagnostics: https://www.aqua-mail.com/troubleshooting/

The official FAQ: https://www.aqua-mail.com/faq/

Лог-файлы для диагностики: https://www.aqua-mail.com/ru/troubleshooting/

Вопросы и ответы: https://www.aqua-mail.com/ru/faq/

mikeone

  • Hero Member
  • *****
  • Posts: 2762
In total: 8520 messages

2nd turn (New version wizard - debug):
after 15 sec: 41%, 30 sec: 82%, 45 sec: 100%
...and NO mass update at the end now (in contrast to the 1. pass)
« Last Edit: November 03, 2015, 12:55:12 am by mikeone »

Kostya Vasilyev

  • Hero Member
  • *****
  • Posts: 12740
Yes, the mass update is done incrementally -- so if already done once, it updates just a few messages or none...
Creating debug logs for diagnostics: https://www.aqua-mail.com/troubleshooting/

The official FAQ: https://www.aqua-mail.com/faq/

Лог-файлы для диагностики: https://www.aqua-mail.com/ru/troubleshooting/

Вопросы и ответы: https://www.aqua-mail.com/ru/faq/

pyler

  • Sr. Member
  • ****
  • Posts: 412
Indexing process was interesting btw :D firstly it was at 0% for maybe 15 seconds but I kept it as is. Then progress bar started doing something after 10 seconds everything was ok.
Do you want to use the latest AquaMail version?
Try AquaMail Updater!

Kostya Vasilyev

  • Hero Member
  • *****
  • Posts: 12740
15 seconds ???

How many message was it showing - approximately, if you remember?

And what's the phone?
Creating debug logs for diagnostics: https://www.aqua-mail.com/troubleshooting/

The official FAQ: https://www.aqua-mail.com/faq/

Лог-файлы для диагностики: https://www.aqua-mail.com/ru/troubleshooting/

Вопросы и ответы: https://www.aqua-mail.com/ru/faq/

mikeone

  • Hero Member
  • *****
  • Posts: 2762
Kostya:
Thanks for your explanations.

Nevertheless I think it would be helpful if the user will get a note beforehand that the following indexing will take some time. This could avoid some uncertainty for users.