netch80: (bird)
[personal profile] netch80
Вот у меня открыта лента FB, вот ткнул в ссылку, оно перешло на неё. Жму back - и как понять, где я был, и продолжить чтение дальше? А если переход был случаен?

Дурнейшее поветрие современного web 2.5 (или как там его назвать, потому что 2.0 уже было) - отсутствие чёткого понятия, что такое показываемая страница. В общем случае тебе покажут что угодно, приблизительно совпадающее с тем, что ты хотел. А особенно "лента", которую начал, может быть, тот же facebook, но поддерживают все (ладно там flickr, который 90% кошки и трамваи в тумане, но уже и itc.ua!) И вот я куда-то перешёл... скорее всего, случайно. Ибо:

1. Одни олигофрены от интерфейсостроения решили, что можно совместить полностью противоположные(!) функции на одной кнопке, если они не могут быть выбраны одновременно. Например, в Firefox - остановить загрузку и перезагрузить страницу. В результате жму на долго не грузившейся странице... привет, race condition: пока палец тратил миллисекунды на нажатие кнопки на мышке, страница успела "докачаться". Точно так же средняя кнопка мыши: пока курсор на ссылке, это open in new tab, а когда нет - это go to link from clipboard. Спасибо, это хоть можно в about:config зарулить нормально, в отличие от предыдущего. Но боюсь, скоро и это уберут.

2. Другие такие же недержатели IQ, начиная с facebook, не могут внятно показать, это ссылка или нет. Ещё неделю назад было, что "Показати більше..." это открыть кат в том же окне (а средняя кнопка открывает ещё одну ленту), а "Читати далі..." это полноценная ссылка, которую лучше открыть в новой вкладке. Но сейчас это не так - кучу раз наткнулся уже, что "Показати більше", но открывает другую страницу (в той же вкладке). Прощай, лента. Так читать её больше трёх последних котиков нельзя. Что, на каждом подозрительном объекте щёлкать правой и искать, нет ли там open in new tab, и сравнивать URL с текущим? Так тоже могут обхитрить, диверсанты.

В ЖЖ это сделано более разумно. Все кнопки типа "развернуть комментарии", "открыть подкат" имеют две реакции - при обычном нажатии JS разворачивает, а при средней кнопке (или правой плюс open in a new tab) - делает показ в ограниченном виде (только подветка, только один постинг). Это даже после последних переделок. Видно, что там ещё сохранились остатки здравой технической мысли. И лента там показывается почти по-человечески - каждый кусок имеет свой URL.

А почему "почти"? Потому что если я читал первый кусок, потом пошёл на более старые где "?skip=50", а за это время добавилось 10 сообщений, то я увижу 10 уже виденных в начале ленты. Конечно, спасибо, что известили, что есть новые, но это лучше делать иначе - где-нибудь в заголовке выходной страницы.

А ещё они таким подходом убивают сервера базы, и появляются в интернете рецепты типа "страшно тормозит сервер на выборках типа SELECT ... LIMIT 100 OFFSET 100500500? Выберите с offset'ом только id статей подзапросом и затем выберите сами статьи через SELECT * ... in (SELECT id...)". То, что надо было при формировании страницы запомнить timestamp самой старой записи и уже, не задрачивая сервер, спросить просто и эффективно "SELECT * from messages WHERE форум AND ts_updated < ${threshold_from_url} ORDER BY ts_updated DESC LIMIT 50", им, видимо, на ум не приходит уже лет 20, сколько есть эти форумы и ленты.

UPDATE: Почему такой бардак в переключении между частями ленты даже там, где она есть?
У одних в прошлое это "previous page", в будущее - "next page".
У других строго наоборот в прошлое это next page - ну логично же, [censored], начинают-то с самых свежих (а кто не скачет с нами, тот предатель, да).
У хабра к более старым это "туда". To Du.blin. Они считают читателей такими тупыми, что не разберутся, куда же надо листать?
На opennet поставили на этих ссылках "раньше"/"позже" по моей просьбе, но впараллель к невнятному "следующая страница" и "предыдущая страница" соотственно.

UPDATE2: если забанить кого-то в FB, это настолько срывает блюдце скрипту, что лента перерисовывается полностью с нуля. "Семь бед - один Reset" (tm)

"Пробачте за емоції, простите, накипело" ((c) Орест Лютий)

Кстати, у меня на работе FB показывает верхнюю полоску (в которой поиск и нотификации) постоянно, а дома - нет. Акаунт один и тот же, версии FF одинаковые, основные настройки - тоже. Что за ахтунги у них в DevOps?

Date: 2014-05-24 08:37 am (UTC)
From: [identity profile] jerom.livejournal.com
В ЖЖ всё не так хорошо с лентой friendstimes, которая сделана по новомодному и skip не имеет. В результате в некоторых браузерах её читать просто нельзя. При этом, в теории, там есть skip с timestamp, просто он появляется очень-оччень не скоро: http://jerom.livejournal.com/friendstimes?to=p:1400827067:162

А в facebook всё ещё хуже, он после refresh пересортировывает посты иногда. Я уверен, что вот оно было перед глазами... Перезашёл и нет, пропало. Алгоритм так решил.
Edited Date: 2014-05-24 08:39 am (UTC)

Date: 2014-05-24 09:14 am (UTC)
From: [identity profile] netch80.livejournal.com
Пересортировка у него, насколько я понял, по last updated видимых читателем данных (основной текст, комментарии). Это само по себе и неплохо, их можно прочитать в свежей порции. Хуже - когда он начинает скрывать по своему алгоритму; особенно это ситуация, когда "френд" "залайкал" что-то совсем чужое - такие посты иногда интересны, но чуть ниже рейтинг - и его выкидывает из показа.

Date: 2014-05-24 09:17 am (UTC)
From: [identity profile] jerom.livejournal.com
Ну у меня достаточно много раз было, что пост "моргает". Я его вижу один раз и больше не вижу никогда. Бесит невероятно.

Date: 2014-05-24 09:28 am (UTC)
From: [identity profile] netch80.livejournal.com
Это да. Поэтому все хоть как-то интересные посты лучше открывать отдельно. (Ссылка спрятана стандартно для подобных зверей - там, где возраст поста.)

Date: 2014-05-24 10:02 am (UTC)
From: [identity profile] tzirechnoy.livejournal.com
Как хорошо, что у топовых соцсайтов есть ещё версия на m.

Date: 2014-05-24 12:53 pm (UTC)
From: [identity profile] netch80.livejournal.com
Да, в ней листание явное. Но там какой-то безумный URL. И не читать же m.* с десктопа... хотя...
Edited Date: 2014-05-24 12:56 pm (UTC)

Date: 2014-05-24 01:30 pm (UTC)
From: [identity profile] w00dy.livejournal.com
> он после refresh пересортировывает посты иногда

Там жеж можно отсортировать по last updated или что-то типа того. Плюс сторонние клиенты (у меня в смарте и people app из win8) отображают посты по дате создания вроде как. Сделал refresh - получил свежие посты.

Date: 2014-05-24 03:36 pm (UTC)
From: [identity profile] tzirechnoy.livejournal.com
Я, если надо, заменяю www.facebook на m.facebook -- и чаще всего работает.

И да, я с десктопа читаю именно m.

Date: 2014-05-24 09:09 pm (UTC)
From: [identity profile] netch80.livejournal.com
> И да, я с десктопа читаю именно m.

Я попробовал. Не скажу, что не понравилось, но прямо сейчас переключаться на такое не хочется.

Вообще же само использование подобного метода - чёткий признак проблем на их стороне.

Date: 2014-05-24 09:15 pm (UTC)
From: [identity profile] http://users.livejournal.com/_slw/
п.1 в ff нормально рулится

Date: 2014-05-25 02:23 pm (UTC)
From: [identity profile] tzirechnoy.livejournal.com
Но у меня спецыфическая, замечу, ситуацыя -- дефолтный браузер без javascript (links2).

Date: 2014-05-26 09:55 pm (UTC)
From: [identity profile] wom.livejournal.com
и ещё почти везде нужно помнить lastread
и для меня логичнее было бы в ленте более старое наверху

Date: 2014-05-31 06:03 am (UTC)
From: [identity profile] netch80.livejournal.com
1) А как?
2) Я верю, что один отдельно взятый пункт можно разрулить.
Но тут уже вопрос принципа, что таких подлянок сейчас суют везде...

Date: 2014-05-31 06:04 am (UTC)
From: [identity profile] netch80.livejournal.com
> и для меня логичнее было бы в ленте более старое наверху

Вот это совсем необычно. Можно услышать обоснование?

Date: 2014-05-31 06:57 am (UTC)
From: [identity profile] http://users.livejournal.com/_slw/
в редакторе интерфейса между ними палочку ставишь

Date: 2014-05-31 07:05 am (UTC)
From: [identity profile] http://users.livejournal.com/_slw/
при нажатии refresh позиция чтения не сдвигается.
общая хронология полуаяется непрерывной, а не частично-контромотной

Date: 2014-06-01 11:34 pm (UTC)
From: [identity profile] wom.livejournal.com
открыл на месте последнего чтения и пошёл листать вниз к новому.
у меня в rss-reader старое сверху, чтобы в хронологическом порядке новости смотреть.

Date: 2014-06-10 07:39 am (UTC)
From: [identity profile] netch80.livejournal.com
Что-то я не могу найти место для той палочки, и саму палочку.

Date: 2014-06-10 07:53 am (UTC)
From: [identity profile] http://users.livejournal.com/_slw/
палочка -- такая вертикальная хня в панели иконок. для оформления используется. потому не кончается.
место -- между иконками стоп и релоад (в редакторе интерфейса они разделяются)
Page generated Jan. 11th, 2026 07:01 am
Powered by Dreamwidth Studios