Напишите мне email
2015-12-28 16:26Повадились тут интернет-провайдеры звонить мне в телефон.
Интернет-провайдеры, Карл, в телефон!
Я допускаю, что мой интернет-провайдер может позвонить мне в телефон в трёх случаях:
- Моё оборудование, подключённое к сети провайдера, своим действием или бездействием наносит ущерб ему или другим пользователям.
- Другие пользователи наносят ущерб моему оборудованию.
- Я заранее договорился с провайдером о каких-либо работах, где требуется моё присутствие.
По всем остальным вопросам, уважаемые интернет-провайдеры, пишите мне на email. В том числе с предложениями перейти на более выгодный мне, вам или нам обоим тарифный план. Я визуал и для принятия решения мне нужно видеть глазами имеющиеся и предлагаемые условия. Не говоря уже о том, что как моя работа, так и мои хобби требуют концентрации, а ваши звонки её разрушают.
( картинка )Или о бесявости отсутствия таковых.
Альфа-Клик, интернет-банк Альфа-Банка. Чтобы сделать перевод между счетами, приходится (1) навестись на «Переводы» в строке меню, (2) в попап-меню ткнуть в «Между своими счетами», выбрать в выпадающих списках сначала (3) счёт Откуда, потом (4) счёт Куда, потом (5) ввести сумму. Именно в этом порядке, потому что преждевременная валидация ввода.
Как должно быть: В списке счетов вижу название и текущий остаток. Дальше несколько способов.
- Способ А: (1а) Дрэг-эн-дроп из текущего остатка на другой счёт открывает форму перевода, заранее заполненную исходным и целевым счетами, остаётся только (2а) ввести сумму.
- Способ Б: (1б) Клик в название открывает выписку. На экране выписки должна быть (2б) кнопка «Перевести отсюда», открывающая ту же форму с предзаполненным исходным счётом, остаётся (3б) выбрать целевой счёт и (4б) ввести сумму.
- Если переводим не между своими счетами, то сценарий (б) тот же самый, только в (3б) указываем счёт получателя не выбором из списка своих счетов, а каким-то другим способом (выбор из закладок или, на худой конец, заполнение формы с опциональным созданием закладки).
Zabbix, система мониторинга с веб-мордой. Вижу график трафика по семи серверам. Хочу добавить к нему недавно развёрнутый восьмой. Для этого приходится: (1) в строке меню навестись на Configure; (2) вспомнить, определён ли график для какого-то Хоста или в каком-то Шаблоне; (3) ткнуть соответственно в Hosts или Templates; (4) найти нужный хост или шаблон в двухстраничной таблице; (5) ткнуть в ссылку Graphs в его строке; (6) в открывшемся списке графиков этого хоста ткнуть в нужный график.
Как должно быть: На странице с графиком должна быть кнопка «Конфигурировать это».
Outlook Web Access, веб-морда к корпоративной почте. Чтобы подписаться на рассылку, приходится: (1) в меню опций ткнуть в Options; (2) ткнуть в Groups; (3) нажать кнопку Join; (4) в открывшемся диалоге ткнуть в нужную группу; (5) в окне информации о группе нажать кнопку Join.
Как должно быть: (1) На вкладке People или на главной можно поиском найти нужную группу. (2) В панели информации о группе должна быть кнопка «Вступить в это».
Gajim, jabber-клиент. Чтобы добавить контакт, нужно: (1) выбрать в меню Actions | Add contact | (нужный jabber-аккаунт); (2) в диалоге ввести JID; (3) в выпадающем списке выбрать группу.
Как должно быть: Ростер уже сгруппирован сначала по аккаунтам, потом по группам. (1) В контекстном меню группы должен быть пункт «Добавить сюда». Остаётся (2) в диалоге ввести JID.
Magit, git-фронтэнд для Emacs’а. Чтобы создать новую ветку от текущего коммита, нужно: (1) нажать b B (
magit-branch-and-checkout
); (2) ввести хэш или имя ветки начального коммита или согласиться на предлагаемый по умолчанию; (3) ввести имя новой ветки.Как должно быть: (1) В графе коммитов навести курсор на нужный коммит; (2) дать команду «создать ветку отсюда»; (3) ввести имя новой ветки.
Jenkins, инструмент для continuous integration. Чтобы склонировать задачу, нужно (1) ткнуть New Item, (2) выбрать радиокнопку Copy existing item, (3) выбрать клонируемую задачу из комбо-списка.
Как должно быть: В контекстном меню задачи должен быть пункт «Склонировать это».
Правило: Пользователь, видящий в интерфейсе объект, должен мочь непосредственно с него отдавать команды, принимающие этот объект в качестве любого параметра.
Положительные примеры: на картах в карточке здания «Проехать сюда» и «Проехать отсюда». В почтовиках «Filter messages like this».
Первое время Inbox работал только в Chrome. Это было достаточным поводом не принимать его всерьёз.
Потом они поддержали Firefox и что-то там ещё. Для активации требуется поставить и запустить Android-приложение. Немножко bullshit’но. Но ok, поставил в виртуалке, активировал, удалил.
Ну и таки вот что я имею сказать по всему этому поводу.
- Недостатки внешнего оформления
- Небесно-ярко-голубой фон пустого инбокса — вырвиглазен.
- Ярко-красная кнопка «Compose» — тоже вырвиглазна.
- По умолчанию используется немоноширинный шрифт, даже для plain text писем.
- Функциональные недостатки
- Горячие клавиши. Разработчики веб-приложений, запомните: у Firefox’а есть фича «Find as you type». Когда она включена, все события ввода символов после обработки страницей проваливаются в браузер, где приводят к поднятию строки поиска по странице. Если только страница не сделает
event.preventDefault()
. И вот Inbox это делает только для основных двух шорткатов — n и p, а про остальные забывает. - Слева есть список лейблов. Но они все отрисовываются bold’ом, независимо от того, в каких из них есть непрочитанные сообщения. Факт наличия и количество непрочитанных сообщений определить никак нельзя. Предполагается, что все непрочитанные сообщения лежат либо в Inbox’е, либо в Snoozed, а потом ты их прочитываешь, отмечаешь Done и они архивируются. То есть, переезжая с Gmail на Inbox, нужно во всех фильтрах снять флажок «Skip Inbox», и панель настройки лейблов позволяет это весьма нетрудозатратно проделать. (Для этого нужно прокликать переключатель Bundled in Inbox для всех лейблов в положение On.)
- Ну окей, после всего этого читать даже приятно. Все непрочитанные сообщения — в одном списке, причём сгруппированы по лейблу. Это хорошо и примерно соответствует обычному сценарию «тыкаем в первую папку, где есть непрочитанные, прочитываем их все, тыкаем в следующую». Но кроме читать, иногда бывает нужно писать. И тут всё резко плохо.
- Панелька, в которой предлагается писать, узкая и сбоку. Вместо того, чтобы занимать всё доступное пространство в окне. В заголовке панельки есть кнопки «_» и «×». Кнопки «развернуть» нет.
- И главный блокер. Инбокс не даёт писать plain text. Каждое сообщение отсылается как
multipart/alternative [ text/plain; text/html ]
. То есть, натурально, у почтового приложения отсутствует* функция написания сообщений. Какого хрена, Гугл?
- Горячие клавиши. Разработчики веб-приложений, запомните: у Firefox’а есть фича «Find as you type». Когда она включена, все события ввода символов после обработки страницей проваливаются в браузер, где приводят к поднятию строки поиска по странице. Если только страница не сделает
- А теперь на сладкое. Чтобы вернуться обратно на Gmail и чтобы непрочитанные сообщения с проставленными лейблами не светились в инбоксе, нужно пойти в настройки фильтров и там прокликать их все по более длинному маршруту: edit, Continue », [x] Skip Inbox, Save. А у меня их там около сотни, например.
В вебфорумостроительстве есть типичная холиварная тема: Плоские темы vs Древовидные темы. У того и другого подходов есть свои плюсы и минусы, мы их здесь обсуждать не будем.
Почти все почтовые клиенты сходятся в том, что email относится к Древовидным. (Единственное известное мне исключение — Gmail, который считает, что к Плоским.)
Далее, почти все клиенты, умеющие группировать письма, отображают их в виде, натурально, леса. Где сообщения — вершины, а рёбра выражают тот факт, что одно сообщение является ответом на другое (в терминах заголовка In-Reply-To
).
Внимание, вопрос! Что не так на этой картинке?
( Read more... )Воистину, подписка на комментарии в блогах — вопрос, который незаслуженно обходят вниманием разработчики блог-движков.
Вот, например, «Эгея» Ильи Бирмана форматирует рассылаемые сообщения так:
Subject: имя комментирует топик
From: blog@ilyabirman.ru
Казалось бы, максимум информации в сабжекте, хорошо. Но к чему это ведёт?
А ведёт это к тому, что в почтовом клиенте комменты к одному посту группируются в треды по ключу (автор, топик). Когда разные комментаторы начинают друг другу отвечать, то следить за дискуссией становится невозможно.
В ЖЖ/DW письмо выглядит так:
From: ник - LJ Comment <lj_notify@livejournal.com>
Subject: Reply to (your entry|(your|a)comment in) "топик"
In-Reply-To: comment-#######-######@livejournal.com>
References: <entry-#######-#####@livejournal.com> <comment-#######-######@livejournal.com>
Message-Id: <comment-#######-######@livejournal.com>
- Что хорошо: ник комментатора унесён в From, где ему логически и следует быть. И иерархия сообщений явно прописана.
- Что недостаточно хорошо: вариация сабжектов в пределах одного топика мешает GMail’у поддерживать эту иерархию.
- Что плохо: к сабжекту добавляется большой хвост в начале.
Как надо делать:
- Все комменты в один топик должны иметь по умолчанию один сабжект. (Допустимо, но, вероятно, нежелательно отражать в сабжекте оповещений изменение сабжектов комментов, если движок это позволяет.)
- Этот сабжект должен быть насколько возможно коротким и при этом однозначно связываться с постом. Например: «Re: топик». (Если движок допускает неозаглавленные посты, заглавием считать первое предложение.)
- Если движок реализует линейные комментарии, то следующий комментарий должен становиться
In-Reply-To:
к предыдущему. Если древовидные, то дочерний комментарий должен становитьсяIn-Reply-To:
к родительскому. (Для этого движок должен сам раздаватьMessage-Id
’ы, а не полагаться на систему доставки почты.) - Текст того, на что отвечают, не должен автоматически цитироваться в оповещении. (Rationale: длинный пост в ЖЖ.)
- Ссылки на исходный пост, коммент, родительский коммент, отписаться, отмодерировать — должны быть в «подвале»/подписи. Или, если получатель предпочитает HTML mail, то ссылками в шапке: ник replied to (your|a) comment to “название поста”.
Прошу совета у опытных людей.
Вот есть аккаунт на корпоративном IMAP-сервере. В него сыплются письма по разным проектам, иногда много. Если за этим не следить, то скоро они перемешиваются и хрен что найдёшь. Даже с message threading’ом.
Хочется мочь из всей этой помойки выбрать письма, относящиеся к конкретному проекту, по следующим правилам:
- Письмо, имеющее в сабжекте имя проекта, относится к этому проекту. (Это идеальный, но недостижимый случай — реальные люди не пишут точное машиночитаемое имя проекта в сабже.)
- Письмо, которое я пометил руками, относится к проекту. (Это видится как необходимый и достаточный ручной труд.)
- Ответ на письмо, относящееся к проекту, также относится к проекту. (Вот это хочется энфорсить автоматически.)
Механизм сознательно не фиксирую. Это могут быть IMAP-серверные папки, IMAP keyword’ы, клиент-сайд-тэги и т.п. Допускаю переезд с Thunderbird’а на другой клиент, работающий под X11/GNU/Linux.
Хм, нашёл похожую на нужную функциональность в Evolution’е, хоть он монструозен и гномообразен. Держим всё в Inbox’е, создаём лейблы для всех проектов, создаём поисковые фолдеры с условиями «Include threads: All related», «Label is имя проекта» и «Search Folder Sources: Specific folders: Inbox».