Июльские релизы: Leaflet

Весь цивилизованный мир празднует выход Leaflet 0.4 (олимпиада? какая олимпиада?), в котором появилось так много всего, что проще дать ссылку на хабр, нежели перечислять (также, четыре багфикса за неделю). Опубликовано несколько приложений новым возможностям: кластеризация, раскрашивание областей и «карта здоровья США». Все они показывают, что пользователям оперы на сайтах с лифлетом ничего не светит. Хотя минимальной версией заявлена 11.11, на .61 хорошо, если карта рисуется. Если раньше мы праздновали, когда Leaflet отвоёвывал сайты у OpenLayers, то сейчас обратная ситуация: пользователи оперы радуются эволюции последнего и надеются, что он вернёт часть сайтов.
Поделиться
Отправить
2012   javascript
7 комментариев
Mourner
Что за загоны по поводу Оперы? Вот нет, чтобы хоть один из этих «пользователей Оперы» зарепортил багу, надо вместо этого сразу ворчать в блогпосте про превосходство OpenLayers... Обидно :(

Не знаю, что там в 11.61 поломалось, но беглый осмотр сайта и примеров в 12.01 не показали никаких отклонений — все слои рисуются, маркеры, попапы, карта драгается и зумится, все анимации работают.
Илья Зверев
Ну, опера — постоянный источник головной боли как для лифлета, так и для плагинописателей :) В примере с choropleth-ами обводка не пропадает, и выглядит всё страшно, если подвигать мышкой. Американский сайт просто пуст. А на openstreetmap.ru нажатие на +/- с Shift так и уносит карту в неизвестном направлении. Наконец, мне, как пользователю планшета wacom без колёсика, очень сложно изменять масштаб (для чего тот shift был и нужен) без линейки, которая по умолчанию включена в OL, но ни разу не встречалась на сайтах с Leaflet.
Mourner
Обводку в примере с хороплетами я пофиксил. Американский у меня на 12.01 работает отлично. Насчёт клика с шифтом по +/- и неудоств с wacom’ом без колёсика — и это ты называешь «пользователям оперы на сайтах с лифлетом ничего не светит»? Херасе обобщение. Очень толсто.
Илья Зверев
Пофиксил, но не до конца: пунктир на обводке то рисуется, то нет, и нельзя выбрать штаты в нижней части карты, слева от легенды.

Клик с шифтом — это самое большое неудобство из десятков прочих мелочей, с которыми я сталкивался. Вон, даже для обводки приходится немало поправлять, и большинство авторов плагинов просто забивает на отладку скриптов под этим браузером. Я на openstreetmap.ru, в итоге, просто не хожу, потому что там лифлет.
Mourner
Оказывается, в дурацкой Опере в отличии от нормальных браузеров контейнер контролов в правом нижнем углу крадёт ивенты мыши, хотя заметно это только с такими большими контролами, поэтому не было замечено раньше.

Клик с шифтом исправляется элементарно. А ты, вместо того, чтобы банально зарепортить интересующие тебя баги на https://github.com/CloudMade/Leaflet/issues, молчишь, а потом поливаешь в блоге мою библиотеку говном. Очень некрасиво и неправильно с твоей стороны, к тому же неожиданно как для активного участника открытых сообществ.
Илья Зверев
Конечно, любой пользователь оперы к этому моменту знает, что она себя ведёт несколько иначе, чем остальные браузеры. Если бы не умопомрачительное удобство оперы и не уродство остальных браузеров в сравнении, давно бы уже сбежали на какой-нибудь популярный хром. Но суть в том, что «война браузеров» не закончилась, но вышла на новый уровень. И всем авторам браузерных приложений приходится всё так же отлаживать код в нескольких программах.

Заметка же не про то, как плох лифлет. Напротив, я считаю его отличной библиотекой, всем рекомендую и с интересом слежу за развитием. В первой половине я даю все необходимые ссылки, а хвалебных реплик и без меня вывалили сполна за минувшую неделю. Даже, наверное, излишне: по-моему, ты несколько от них засахарился :)

Дело в том, что когда я встречаю лифлет на сайте, издаю тихое «блин, опять» и ищу для сайта альтернативу. Потому что хоть библиотека красива изнутри и минималистично изящна снаружи, ясно видно, что в разработке не участвовал ни один специалист по юзабилити, или хотя бы человек, ежедневно пользующийся картами. С мышкой банально перемещать и масштабировать карту медленно, значительно медленнее, чем в OpenLayers, а если мыши (или колеса на ней) нет, то проще бросить и уйти. Слой сменить с первого раза смогут только самые меткие, остальным приходится бороться со списком, исчезающим от неловкого движения. Пермалинки через хэштег — вообще за гранью: выглядит красиво, мысль понятна, но поведение в разных браузерах разное, и редко где удобное (очень часто после нажатия просто ничего не происходит). Дальше, по опыту использования сайтов со множеством слоёв (типа того же openstreetmap.ru), постоянно всплывают проблемы с растущей строкой копирайтов и наложением слоёв друг на друга. Если есть полупрозрачные слои, то после нескольких минут использования могут быть интересные спецэффекты: где-то тайлов наложено больше, где-то меньше. И вот так всё по мелочам собирается. При этом я понимаю, что половина таких замечаний к тебе не относится, потому что плагины пишут другие люди (которые уже устали от отладки для оперы, как бы я их ни пинал), а другая половина слишком абстрактна, чтобы быть оформленной в тикеты. Поэтому, пожалуй, и приходится ругаться про себя, раз в месяц — в чатике, а раз в год случайно обмолвливаться в штосме.
AlexTheTux
Согласен со Zverik относительно процитированного:
Конечно, любой пользователь оперы к этому моменту знает, что она себя ведёт несколько иначе, чем остальные браузеры. Если бы не умопомрачительное удобство оперы и не уродство остальных браузеров в сравнении, давно бы уже сбежали на какой-нибудь популярный хром.
Mixaill
А вот можно для пользователей Opera, которые используют мышь с колёсиком, зачем нажимать шифт при клике на +/-
Илья Зверев
Это должен быть zoom in/out на три шага разом. Обычно, ведь, какой алгоритм перемещения по карте: быстро перейти на общий план (z=3..6), затем двумя-тремя прямоугольниками (shift+drag, в лифлете работает без нареканий) приблизить нужное место. Затем снова раззумиться и далее по списку. В OpenLayers и других API достаточно кликнуть в нижнюю часть полосы масштабирования. Но в Leaflet способа быстро отобразить карту мира нет.
Hind
> умопомрачительное удобство оперы
Дело привычки. Я когда-то и сам пользовался ей, версиями этак с 6 до 8.
Mourner
Окей, я расскажу, что бы я предлагал делать на твоём месте при обнаружении вышеописанных проблем:

«С мышкой банально перемещать и масштабировать карту медленно, значительно медленнее, чем в OpenLayers, а если мыши (или колеса на ней) нет, то проще бросить и уйти»
Зарепортить две отдельные проблемы. В первой объяснить, что у Лифлета не так с перемещением карты. Во второй объяснить use case’ы, засчёт которых Лифлетом неудобно масшитабировать, аргументировать добавление нормального юзабельного слайдера для zoom’а, которое я рассмотрю и вполне возможно выполню (скажем, для меня как любителя мыши и колёсика проблемы вакомовцев с зумом незнакомы, поэтому я не подозревал, что этот слайдер может быть кому-то особо нужен).

«Слой сменить с первого раза смогут только самые меткие, остальным приходится бороться со списком, исчезающим от неловкого движения.»
Если имеется в виду то, как это происходит на осм.ру (а там совсем не так, как в дефолтном Лифлете), зарепортить багу туда. Если же встроенный контрол для слоёв в Лифлете — зарепортить багу и объяснить особенности текущего поведения, которые делают работу с ним неудобным (лично у меня никогда проблем тоже не было, но на то и есть опен сорс, чтобы на проблемы смотрели с другой стороны и сообщали об этом).

«Пермалинки через хэштег — вообще за гранью: выглядит красиво, мысль понятна, но поведение в разных браузерах разное, и редко где удобное (очень часто после нажатия просто ничего не происходит)»
Зарепортить соответственно баги автору плагина (уточнив, какой имеется в виду — https://github.com/mlevans/leaflet-hash или https://github.com/shramov/leaflet-plugins).

«постоянно всплывают проблемы с растущей строкой копирайтов»
Такой баг у Лифлета давно зарепорчен — https://github.com/CloudMade/Leaflet/issues/151, планирую исправить. Может добавить комментарий, какое именно поведение строки копирайта тебе хотелось бы видеть.

«Если есть полупрозрачные слои, то после нескольких минут использования могут быть интересные спецэффекты: где-то тайлов наложено больше, где-то меньше.»
Зарепортить багу, приаттачить скриншоты, описать шаги для воспроизведения.

«а другая половина слишком абстрактна, чтобы быть оформленной в тикеты»
Вот это самое ошибочное утверждение. Любые проблемы можно оформить в тикеты, надо только приложить немного усилий.

«ясно видно, что в разработке не участвовал ни один специалист по юзабилити, или хотя бы человек, ежедневно пользующийся картами»
Ну, не участвовал человек, который отказывается пользоваться мышкой с колёсиком. Я отношусь к юзабилити очень серьёзно, и многое сделал для того, чтобы в Лифлете оно было на высоте. И если оно еще не идеально в каких-либо условиях — вина тут на людях, которые не хотят репортить проблемы.