Комментарии 90
НЛО прилетело и опубликовало эту надпись здесь
да, все гениальное просто!
+3
Ну как сказать «просто». Попробуйте с нуля реализуйте.
Колесо — просто, поэтому и гениально, а это просто отличное юзабилити, реализация которого необязательно должна быть простой, лишь бы пользователю было удобно.
Колесо — просто, поэтому и гениально, а это просто отличное юзабилити, реализация которого необязательно должна быть простой, лишь бы пользователю было удобно.
+2
я саму идею имел ввиду
+2
Колесо само по себе бесполезно. Главным изобретением стали дороги общего пользования.
+3
Т.е. человек изобрел колесо, но не понял зачем?
+2
нет, человек сначала освоил подсечное земледелие и вырубил гигантские площади леса. Потом освоил стационарное земледелие (не помню, как называется) — и возникла проблема транспортировки. И только после того, как появилось достаточное количество места для того, чтобы было где катить колесо, оные колёса появились. Заметим, долгое время они конкурировали с волокушами и санями — потому что волокуши по всякой фигне лучше тащатся, чем колесо катится. И только после того, как было осознано, что по ровной поверхности колесо катится лучше, чем тащится, возникло понимание, что нужны дороги. Не себе лично, а всем.
И дороги стали первой настоящей инфраструктурной революцией. Именно дороги, а не колёса, потому что товары тягали на лошадях, на себе, по воде и на санях/волокушах, так что колесо означало лишь количественное улучшение и только в узком спектре условий.
А вот осознание необходимости совместной работы над развитием открытой инфраструктуры и гигантские инвестиции в неё (римские каменные дороги больше тысячи лет пролежали) — вот где главная сложность.
И дороги стали первой настоящей инфраструктурной революцией. Именно дороги, а не колёса, потому что товары тягали на лошадях, на себе, по воде и на санях/волокушах, так что колесо означало лишь количественное улучшение и только в узком спектре условий.
А вот осознание необходимости совместной работы над развитием открытой инфраструктуры и гигантские инвестиции в неё (римские каменные дороги больше тысячи лет пролежали) — вот где главная сложность.
+14
Однако, у майя и ацтеков были вполне инфраструктурная сеть дорог. А вот колеса никакого не изобрели.
+1
Потому что им только тачки с колёсами делать и оставалось. Верховых животных не было, запрягать было некого.
Колесо — это локальная оптимизация волокуши, не более.
Колесо — это локальная оптимизация волокуши, не более.
+1
Запрягать было рабов.
Каменья для пирамид они же таскали как-то.
Каменья для пирамид они же таскали как-то.
+1
Вот как раз таскать камни для пирамид (речь про большие глыбы в многие десятки тонн) можно и нужно без колёс. Каким должно быть колесо, чтобы обеспечить меньшее трение в оси (!) для 10Т глыбы? На деревянных перекаточках самое то.
Для остальных же грузов колёса или не колёса — вопрос числа затрачиваемых усилий.
Качественные (а не количественные) изменения от колеса:
ручная транспортировка тяжёлых объектов (артиллерия, баллисты и т.д.)
скорость движения (в основном военное применение)
самодвижущаяся сила, толкающаяс колёса. А это уже XIX век.
Другими словами, я бы не был столь восторжен относительно значимости колеса в древнем мире.
Для остальных же грузов колёса или не колёса — вопрос числа затрачиваемых усилий.
Качественные (а не количественные) изменения от колеса:
ручная транспортировка тяжёлых объектов (артиллерия, баллисты и т.д.)
скорость движения (в основном военное применение)
самодвижущаяся сила, толкающаяс колёса. А это уже XIX век.
Другими словами, я бы не был столь восторжен относительно значимости колеса в древнем мире.
+1
Каменья для пирамид они же таскали как-то.
Использовали что-то наподобие полимербетона, и никаких глыб никуда не таскали.
+2
НЛО прилетело и опубликовало эту надпись здесь
Как раз реализовать такую идею очень легко. А вот придумать эту идею, видимо, очень трудно.
+1
Нужно отлить этот пост из чугуния и бить им всех, кто не ставит задержку без такого алгоритма. в последний раз с таким столкнулся на сайте какого-то оператора.
+31
В посте нехватает еще информации о том, что на Амазоне невыделеные пункты меню, над которыми находится мышка также получают второстепенное выделение, даже если мышка в «синем треугольнике». По нажатию эта категория становится текущей. Это позволяет избежать эфекта «глючности», когда мышка вроде как уже над другим елементом, а ничего не происходит.
+2
Слава разработчикам, которые думают о пользователях!
+47
Понапихают 100500 Jquery гениальных плагинов на сайт, а потом сами ноют, что у них Хром//ФФ/Сафари/Опера всю оперативку скушали=)
+11
Да Вы не переживайте, года через два поддержку jQuery на аппаратном уровне включат в какой-нибудь чип (в ту же видеокарту — чего в нее еще не пихали?), и все радостно будут говорить, что уж теперь тормозов ждать неоткуда. :)
+3
Но поставить фокус в строку поиска они так и не додумались, и даже более того, если сразу после загрузки ткнуть в поиск и начать набирать текст, фокус может потеряться из поля ввода, и вместо набора текст получим прыжки по всей странице.
+4
Спасибо, найду применение :)
+1
Круто, но не очевидно и иногда дает ложные срабатывания, т.к. настоящие люди двигают мышкой не по линейке. Курсор довольно часто следует за взглядом. Посмотрел на последнее слово в следующей строке — поехал туда курсором.
Можно еще отслеживать скорость курсора. Если он движется в направлении подменю, то можно еще немного потянуть время. Если же курсор почти остановился (даже в пределах фиолетового треугольника), то лучше переключить подменю. Правда, это еще менее очевидно.
Можно еще отслеживать скорость курсора. Если он движется в направлении подменю, то можно еще немного потянуть время. Если же курсор почти остановился (даже в пределах фиолетового треугольника), то лучше переключить подменю. Правда, это еще менее очевидно.
+5
Действительно, я всегда думал почему меню амазона так «лагает» %) Вот сейчас пробую нажать на Watch Now в Unlimited Instant Videos с минимальным путем и не получается.
+3
Так оно так на амазоне и работает. Выбираешь подменю, быстро ведёшь курсор в выпадающий список — подменю не переключаются. Если вести курсор к выпадающему списку медленно, то происходит переключение подменю. Или я Вас не так понял?
+1
Я не настоящий =(
0
Поддерживаю насчёт ложных срабатываний.
А вообще я, как типичный пользователь, не имеющий никакого отношения к веб-программированию, скажу: я бы хотел сам нажимать на каждый из пунктов и спокойно читать подпункты, не переживая за то, что случайно уведу мышку не туда и придётся опять искать этот пункт и место, где я остановился. Новаторство — это хорошо, но зачастую старое лучше и удобней.
А вообще я, как типичный пользователь, не имеющий никакого отношения к веб-программированию, скажу: я бы хотел сам нажимать на каждый из пунктов и спокойно читать подпункты, не переживая за то, что случайно уведу мышку не туда и придётся опять искать этот пункт и место, где я остановился. Новаторство — это хорошо, но зачастую старое лучше и удобней.
+1
Жизнь скоротечна, задержка не нужна…
+8
Значит, кто-то читал Брюса Тоньяццини. А он вроде бы говорил, что меню так ведёт себя в классических маках.
+2
Действительно, так себя и ведет. Только не знаю, можно ли считать Mac OS X 10.8.2 классическим маком.
Кстати, остановка курсора отслеживается, насколько я вижу.
Кстати, остановка курсора отслеживается, насколько я вижу.
+1
НЛО прилетело и опубликовало эту надпись здесь
Идея и суть статьи — прекрасна. Анимированные гифки же заставляют мою голову болеть…
-26
*Картинка с Care-o-meter*
+10
А по мне, так GIF-ки здесь очень уместны.
+15
Да нормально все, просмотрел все гифы, понял все, добавил в закладки на гитхабе. Быстро, удобно, весело.
+1
Яндекс-закладки — поставьте такую штуку! А то сил нет попадать по многоуровневому меню.
+3
Круто конечно, но зачем такое мелькание — если я не могу прочесть контент — зачем мне его показывать?
По-моему зеленое меню (вторая картинка) — работает какраз как надо
По-моему зеленое меню (вторая картинка) — работает какраз как надо
+5
НЛО прилетело и опубликовало эту надпись здесь
Не так как надо. Вам придется очень точно вести мышку к подменю, иначе оно исчезнет. Исчезает-то оно без задержки.
Мелькание мешает, да. Можно поставить небольшую задержку (100 мс), чтобы при уверенном вертикальном перемещении подменю не мелькали с частотой 20 fps.
Мелькание мешает, да. Можно поставить небольшую задержку (100 мс), чтобы при уверенном вертикальном перемещении подменю не мелькали с частотой 20 fps.
+4
Решал такую же задачу несколько иначе, ограничился лишь версткой :).
Принцип: появляющийся блок до какой то степени перекрывает родителя и сестринские элементы родителя.
А значит можно не опасаться, что пользователь будет водить курсор по диагонали.
Но спасибо, вдруг пригодится этот плагин!
Принцип: появляющийся блок до какой то степени перекрывает родителя и сестринские элементы родителя.
А значит можно не опасаться, что пользователь будет водить курсор по диагонали.
Но спасибо, вдруг пригодится этот плагин!
+2
Что за бред про Mac OS? Все прекрасно работает.
+3
Поймал себя на том, что всегда в подобных ситуациях вёл мышью по строке, чтобы не переключить случайно.
+3
Самая большая печаль этого приёма — он где-то будет внедрен, а где-то — нет. И никогда не знаешь, как поведет себя меню на незнакомом сайте: можно ли вести курсор по диагонали или лучше все-таки везде сперва вести мышку вправо, а потом выбирать пункт под-меню.
Но прием классный, возьму себе на вооружение.
Но прием классный, возьму себе на вооружение.
+1
Даешь стандарт!
+1
Spread the world. Чтобы что-то внедрялось, нужно не только внедрять это самому, но и рассказывать другим. Я совершенно уверен, что это будет интересно любому веб-девелоперу, и чем проще будет механизм внедрения, тем чаще эта библиотека будет использоваться. Меня как UI-шника всегда бесили баги дропдаунов — как в веб-, так и в обычных приложениях.
В общем, пост в закладки.
В общем, пост в закладки.
+1
Кстати, это проблема не только выпадающих меню, но и других кастомных контролов. Недавно на хабре обсуждали поведение кастомного Select.
+1
А какой правильный ответ-то на вопрос о эквивалентном сопротивлении? Я завис.
+4
Трудная задача, которая была популярна несколько лет назад среди инженеров-электриков, состояла в следующем: для образования двумерной бесконечной сети с квадратными ячейками соединяют бесконечно большое число одноомных сопротивлений. Следовательно, в каждом узле соединяются концы четырех сопротивлений. Чему равно эквивалентное сопротивление, между узлом и одним из четырех ближайших соседних узлов. Эта задача является удивительным примером мощности принципов симметрии и суперпозиции. Пользуясь внимательно принципом суперпозиции, вы можете решить эту задачу почти в уме.
Ответ: 0.5 Ом
+1
офф. Кстати, интересно было рассмотреть решение этой задачи при предельном переходе — строим последовательность площадок с увеличивающимся диаметром, так чтобы нужные клеммы были в центре. Так вот, оказывается, в пределе можно получить абсолютно любое значение для сопротивления — это зависит от формы границы. Более того, подобное случается не только в вымышленном мире одноомных резисторов — электрические свойства графена также сильно зависят от формы его границы.
+1
Долго вспоминал, где же я столкнулся с такой проблемой как пользователь — и вспомнил, IDE Eclipse! Не раз матерился, как быстро нажать File -> New -> Android Project. Приходилось аккуратненько тянуть курсор.
+1
По крайней мере, в Mac OS 10.8 работает по абсолютно аналогичному алгоритму.
+3
То, что реализовано на сайте академии хана, тоже имеет свою «особенность»: задержка при переходе от одного списка к другому срабатывает, только когда мышь двигается вдоль сторон синего треугольника, то есть по направлению вниз-вправо или вверх-вправо.
Если перемещать мышь вертикально, неизбежно возникают случайные подвижки влево-вправо, и меню может начать вести себя с точки зрения пользователя странно.
Если перемещать мышь вертикально, неизбежно возникают случайные подвижки влево-вправо, и меню может начать вести себя с точки зрения пользователя странно.
+1
А кто-нибудь пробовал пользовать iOS вверх ногами? Попробуйте — забавные ощущения. Тоже, видимо, при обработке касаний учитывают, что пользователь тыкает так, чтобы видеть хоть чуть-чуть куда…
+2
Да, по этому поводу на хабре даже пост был: habrahabr.ru/post/131947/
+1
Парни, вы меня простите, я не веб-программист, и, уверен, не знаю многих деталей.
Но ведь это же очевидно с точки зрения юзабилити.неужели почему только амазон это смог придумать и реализовать?
Помидорами не бросайте, мне интересен конструктивный диалог.
Но ведь это же очевидно с точки зрения юзабилити.
Помидорами не бросайте, мне интересен конструктивный диалог.
+4
В веб-программировании, да и вообще в программировании встречаются люди разной квалификации. А значит и поделки у всех разные. Уверяю вас, что найдется большое количество сайтов, где затронутая проблема вовсе не самая главная. А вообще ниже ответили, что подобное реализовано в GTK.
+1
НЛО прилетело и опубликовало эту надпись здесь
Спасибо, пригодится.
+1
Когда вы, как разработчик, в очередной раз пытаетесь перенести на клиента вычисления (шаблоны, положение мышки и меню и др) подумайте, как долго сможет наслаждаться вашим приложением пользователь, работающий автономно.
Амазон ребята с головой и проделали большую работу в плане оптимизации, чего и вам желаю!
Амазон ребята с головой и проделали большую работу в плане оптимизации, чего и вам желаю!
+1
Не хвастовства ради, но я еще в анчале статьи дагадался о способе решения. Спасибо за статью.
+2
Спасибо за статью. Действительно очень интересный подход.
+1
Только треугольник лучше вычерчивать не по высоте старого меню, а по высоте свежеоткрытого (если под меню находятся другие контекстно-зависимые ссылки, то опять же не по старому меню, а по всему участку справа). Так делают GTK и Unity Globalmenu.
![](https://habrastorage.org/r/w1560/storage2/1f5/443/c72/1f5443c7266331983361712ffa639459.png)
А вот в Qt простая задержка без отслеживания курсора. «Если вы действительно ненавидите кого-то, научите его распознаватьплохой кернинг плохие меню».
![](https://habrastorage.org/storage2/1f5/443/c72/1f5443c7266331983361712ffa639459.png)
А вот в Qt простая задержка без отслеживания курсора. «Если вы действительно ненавидите кого-то, научите его распознавать
+13
Очень жаль, что в борьбе за удобство главной страницы Амазон забыл про все остальные.
Например — раздел Your Kindle Library. При удалении книжки появляется надпись «Всё ок, удалено», но сама книга при этом остаётся в списке. Причём, когда наводишь мышь на её свойства, список внезапно перегружается с потерей страницы в пейджинге.
Ещё можно отметить дикое неудобство справочной системы.
Например — раздел Your Kindle Library. При удалении книжки появляется надпись «Всё ок, удалено», но сама книга при этом остаётся в списке. Причём, когда наводишь мышь на её свойства, список внезапно перегружается с потерей страницы в пейджинге.
Ещё можно отметить дикое неудобство справочной системы.
+3
Разумеется всё это вы уже сообщили в техподдержку Amazon?
+2
К сожалению, ни одно из моих сообщений в техподдержку Амазона не дало положительного результата. Тематика сообщений касалась другого продукта Амазона, однако, факта это не отменяет. Я решил не бороться с судьбой, и теперь, когда я вижу очередной амазоновский баг, я просто посылаю им толстый луч диареи.
Если хотите — можете сообщить.
Если хотите — можете сообщить.
+1
Спасибо, любопытный анализ, но вот подпись под скриншотом с Mac OS неверна.
По приведенной Вами ссыке как раз таки пишут, что путь обозначенный зеленой стрелкой сработает в Mac OS.
По приведенной Вами ссыке как раз таки пишут, что путь обозначенный зеленой стрелкой сработает в Mac OS.
+1
НЛО прилетело и опубликовало эту надпись здесь
Все так, тем не менее скриншот вводит в заблуждение. В статье подпись под скрином говорит, что в Mac OS (классической) зеленый путь сработает, тогда как в OS X (DP) сработает только оранжевый.
Автор же обобщает это до «из-за отсутствия задержки зелёный путь не сработает», что совсем не так. И вообще, какой смысл обсуждать баги developer preview osx пятнадцать лет спустя? )
Автор же обобщает это до «из-за отсутствия задержки зелёный путь не сработает», что совсем не так. И вообще, какой смысл обсуждать баги developer preview osx пятнадцать лет спустя? )
+1
Мда, в Konqueror это меню вообще не работает.
В Opera тоже
Opera
Version
12.16
Build
1860
Platform
Linux
System
x86_64
CSS3 и JS и вещи прекрасные, но участь, скорее всего, будет такая же как у flash.
В Opera тоже
Opera
Version
12.16
Build
1860
Platform
Linux
System
x86_64
CSS3 и JS и вещи прекрасные, но участь, скорее всего, будет такая же как у flash.
-1
даешь статические странички
Мечта.
Мечта.
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Загадка выпадающего списка «Амазона»