Поиск багов как образ жизни


    Разработка статических анализаторов кода и борьба за качество open-source проектов на протяжении более шести лет не могли не сказаться на моём взаимодействии с программами в нерабочее время. К сожалению, мне постоянно встречаются разные баги и, к ещё большему сожалению, повлиять на это почти невозможно. Я решил собрать несколько историй об интересных багах и их исправлении или игноре. Представляю вам альтернативный формат статьи о поиске ошибок в программах, которые обычно наполняют блог PVS-Studio.

    Введение


    В повседневной жизни мы уже чаще пользуемся сайтами и мобильными приложениями, чем прикладными программами для компьютера. В этой сфере проектов с открытым исходным кодом очень мало. Большинство проектов – продукты крупных компаний, имеющих несколько линий поддержки. Сообщить о баге через первую линию поддержки — практически бесполезное занятие. Особенно остро проблема стоит с банковскими приложениями. А сайты? Владельцы сайтов часто вообще не имеют команды разработки. А если через сайт предоставляется какая-нибудь услуга, то общение с менеджерами этих сервисов проходит ещё хуже, чем с первой линией поддержки. Самые интересные истории будут ниже. Надеюсь, они помогут компаниям обратить внимание на качество своих программных продуктов.

    Баги на сайтах


    Телеканал 2x2



    Пожалуй, 2x2 — единственный телеканал, который я смотрю. Никакого телевидения у меня не подключено, и я был очень рад, когда на сайте появился прямой эфир. Имея в наличии телевизор с доступом в Интернет, это было идеальным решением для меня – смотреть телеканал онлайн. Но на деле оказалось всё намного сложнее.

    Прямой эфир через браузер на телевизоре не работал. Т.к. сообщать о багах разработчикам – часть моей трудовой деятельности, я быстро нашёл контакты на официальном сайте и попытался сообщить о проблеме. Почему попытался? За 2 месяца не удалось получить никаких ответов с двух почтовых адресов. И в группе ВК ничего дельного не ответили (маркетологу, раскручивающему группу в соц. сетях, явно было не до меня с неработающим сайтом).

    Но я не отчаялся. Проблема была явно в трансляции и мне удалось её отследить. Она шла с серверов Rutube. Около месяца ушло на попытки связаться с их специалистами. Самое удачное общение произошло с администратором группы Rutube в VK. Мне дали контакты системного администратора. На письмо ему оперативно ответил его коллега, и мы договорились провести подключение, чтобы записать логи. Оказалось, сервер не был настроен для такого подключаемого клиента (телевизор с Tizen). На решение проблемы ушло 2 часа. Спасибо Алексею Лебедеву из Rutube и админу группы в ВК, которые единственные ответственно отнеслись к своей работе во всей этой цепочке «контактов».

    Ресторан MaMa Mia



    На сайте MaMa Mia нельзя оплатить заказ Online. По крайней мере, это не получилось у меня. А причина, как потом выяснилось, низкое качество кода. Но давайте по порядку.

    Когда корзина полностью была сформирована, кнопка «Оформить заказ» не подавала никаких признаков жизни. А потом в почте я обнаружил это:


    Каждый клик по «неработающей» кнопке формировал новый заказ. Как видите, я не отказал себе в удовольствии хорошенько протестировать этот баг :D

    На сайте отсутствует форма обратной связи и какие-либо другие контакты, кроме телефона. Там, конечно же, отвечают менеджеры, далёкие от подобных проблем. С группой ВК этого ресторана такая же ситуация. Более-менее релевантные проблеме контакты мне получить не удалось.

    На самом деле, это серьёзная проблема для бизнеса, когда некоторые недоработки, особенно с финансами (я ведь хотел оплатить заказ, но не смог), остаются незаметными для руководства. Более того, даже мы сами недавно умудрились попасть в подобную ситуацию, когда на пять дней сломалась форма запроса триального ключа. Мы очень сожалеем о потерянных пользователях :( А в ресторане, видимо, нет.

    Не получив никакой отдачи от общения с менеджерами, я открыл консоль браузера и начал смотреть (кстати, в web-разработке я практически не разбираюсь):

    Да это же неперехваченное исключение! Какая красота. Вот тут-то точно статический анализатор мог бы помочь.

    С помощью пары запросов поисковику удалось выяснить, что это счётчик для Яндекс.Метрики. Интерпретация страницы просто прекращается после отказа любого внешнего компонента. Как говорится, на разработку было выделено много рублей… Так почему же кидается исключение? В моём браузере было установлено расширение Kaspersky Protect. Отключение разного рода маячков и счётчиков, видимо, входит в защиту от отслеживания, включенного по умолчанию. Это было причиной проблемы. Заказ еды я потом сделал на другом, более технически продвинутом сайте.

    К сожалению, эта проблема довольно распространена. Только после этого случая я понял непонятное поведение и других сайтов, которые мне встречались. Надеюсь, у web-разработчиков, попавших на эту статью, опыта прибавится.

    ЛК Ростелеком




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

    Скриншот из моего личного кабинета:

    Что же такое «n» в инициалах? Правильно, это NULL!.. Т.к. не у всех есть отчество, его можно не указывать:

    В базе данных хранится значение NULL, представители Ростелекома считают нормальным выводить это значение на экран. По-моему, это совсем ненормально. Возможно, я просто мыслю как C++ программист, и меня настораживает это значение :D

    Мобильные приложения


    РЖД Пассажирам



    В мобильном приложении РЖД встретилась интересная ошибка.

    Скрин из мобильного приложения:

    Я читал ответы на вопросы и ничего не понимал. Тексты были абсолютно несвязными. Но после одной странички всё стало понятно:

    Параграфы документации хранились в массиве и выводились на экран в обратном порядке. Разработчик что-то напутал с сортировкой или счётчиками циклов в коде. В последней версии приложения этот баг исправлен.

    ВТБ-Онлайн



    Это был прекрасный банк с удобным приложением. Но летом 2019 года, видимо, в команду пришёл «эффективный» менеджер, и приложение испортилось. Самым большим преимуществом для меня была удобная и быстрая поддержка. Но летом 2019 года начались эксперименты с ботом в чате поддержки. Этот бот был очень сильно забагован. Как минимум на протяжении 3-х месяцев в чате поддержки был жёсткий рассинхрон. На сообщения никто не отвечал, чат пустовал, а после перезагрузки приложения выяснялось, что чат наполнен сообщениями бота, но они выводились только после перезагрузи. Но тогда сеанс уже закрывался, и со следующим сообщением повторялся тот же самый баг. По электронной почте поддержка ВТБ всегда быстро реагировала, но ничего не делала по существу.

    Последней каплей для меня стал ещё один баг в чате поддержки, который до сих пор не исправлен:

    Приложение тупо не загружает скриншоты с телефона, на котором работает приложение. Это Epic Fail. Я отказался от карт банка и свёл оставшиеся активности в банке к минимуму.

    Сбербанк Онлайн



    Возможно, самый забагованный банк в России. Среднее время исправления подтверждённого бага по моей многолетней практике – 1 год.

    Вот самый вопиющий, на мой взгляд, случай.

    При передаче показаний приборов учёта для оплаты жилищно-коммунальных услуг (далее ЖКУ) вас ждёт неприятный сюрприз:

    Сразу возникает вопрос, почему мои данные не принялись, но взгляд на следующий скриншот всё объясняет:

    Поясню дополнительно: показания ПУ принимаются с точкой, а для ввода на клавиатуре есть только символ «запятая».

    Этот баг откровенно мешал пользоваться приложением, и я часто обращался в поддержку за его исправлением. С момента обнаружения баг просуществовал 6 месяцев (февраль-июнь). После чего, в июльском обновлении, его исправили, включив стандартную клавиатуру. Но это не конец истории! В следующем же месяце (август) в очередном обновлении приложения вернули клавиатуру без нужного символа! Я не знаю, что могло произойти в команде разработки, что пришлось делать такой откат изменений, но банком я пользоваться перестал. Это был один из многочисленных багов, и они практически не исправляются.

    Связь с поиском ошибок в коде


    Появление описанных проблем и ошибок имеет определённые причины. Это недочёты в процессе разработки программ, а также в организации работы сотрудников в целом. От написания кода до доставки приложения пользователю проходит несколько этапов.

    Выявленные проблемы – это, в первую очередь, допущение отделов тестирования. В крупных компаниях это обычно большие команды, занимающиеся только тестированием. Но их эффективность может страдать от разных факторов.

    Один из важных факторов, ухудшающий работу тестировщиков, – ошибки, которые можно было исправить ещё на этапе написания кода. Обработка найденных багов отнимает время нескольких людей. Но некоторые из них могли бы и не дойти до тестировщиков, что, в свою очередь, сэкономило время тестировщиков. Они бы потратили его на более продуктивное и высокоуровневое тестирование.

    Так, наша команда разработчиков анализатора кода PVS-Studio продвигает методологию статического анализа. Это этап разработки программного обеспечения, который стоит перед передачей приложения в отдел тестирования. По нашему опыту, большинство ошибок являются недочётами этапа разработки. И их можно исправить на раннем этапе, сэкономив время и деньги.

    К сожалению, в отличие от программ с открытым исходным кодом, тут у меня нет возможности самостоятельно проверить код на наличие ошибок. Но если код написан на C, C++, C# или Java, то этим командам было бы полезно зайти на сайт и прогнать анализатор на своём коде. Для программ с открытым исходным кодом делается очень большой вклад этим инструментом.

    Заключение


    Замечать баги в используемом программном обеспечении я уже не перестану. Наверное, это не самое страшное, что могло произойти. У меня есть знакомые, которые работают в кинематографе (мультипликация). Так вот они замечают баги при просмотре мультиков, и это доставляет неудобство. По-моему, это даже хуже. Программы хотя бы можно доработать, в отличие от отснятого материала.

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

    Если вам понравится новый формат обзоров багов и историй с ними, то я продолжу в том же духе.

    Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

    Разбавить проверки проектов такими статьями?

    • 96,5%Да139
    • 3,5%Нет5
    PVS-Studio
    Static Code Analysis for C, C++, C# and Java

    Комментарии 55

      +2
      Вы настойчивый. Мои попытки сообщить разработчикам о багах обычно заканчиваются в том месте, где для такого сообщения нужно зарегистрироваться.
        0
        Одна из причин настойчивости — слабая конкуренция. Приходится пользоваться тем, что есть. Все так делают. Но с некоторым мириться невозможно, приходится вкладываться в доработку)
          0

          Присоединяюсь к похвалам в настойчивости, вы добились ответа от администрации рутуба))) Я правда и не сильно пытался, когда совершенно случайно узнал, что в течении последнего года (я не знаю сколько, не выходил с аккаунта год), они закрыли авторизацию по почте на территории РФ. Узнал я об этом когда вышел из аккаунта, и не смог в него зайти… Так как list (который рутуб, кто их разберет) решил, что, это хорошая практика давать на ввод только номер телефона.
          Аккаунт был на нескольких устройствах, поэтому я захотел ввести и подтвердить номер телефона, но увы такого поля в ЛК нет. В поисках связи с администрацией нашел почту в ВК (очень удобно, примерно так же как у МТС после закрытия чата в ЛК, через твиттер), написал туда 30 ноября того года, ответ НЕ получил 14 января, но что радует, в начале января они наконец дали установить номер телефона, если ты АВТОРИЗОВАН на сайте конечно же, как это делать если нет авторизации с молчащей поддержкой, шут его знает. Все же, было приятно заходить на рутуб через тор.
          А и да, с недавнего времени пропала возможность просматривать видео со встроенного плеера на другом сайте без регистрации в листе) Я бы хотел спросить у них, это их новая политика или баг, но памятуя о том, что они не ответили на предыдущий запрос… Прощай рутуб, ты больше не нужен)

            0
            А и да, с недавнего времени пропала возможность просматривать видео со встроенного плеера на другом сайте без регистрации в листе
            С недавнего времени там надо тесты после просмотра рекламы проходить)
        +3
        Мобильные приложения это вообще отдельная тема, если покопаться как следует, то в каждом втором можно найти явные баги.
        К сожалению, данным приложениям уделяется относительно мало внимания. У меня конкретные ошибки были в чате Сбербанк онлайн, когда ответы от поддержки отображались выше чем мои вопросы, и то, что они не могут открыть скрины, которые я им присылал.
        Не тестировал на XSS уязвимости, но уверен, что и с безопасностью при таком подходе к разработке у них есть проблемы.
        Особенно в таких случаях «радует» тех. поддержка таких крупных компаний(привет EA и hh), тратишь кучу времени, чтобы зарегистрировать для них ошибку, проходит неделя — смотришь баг, смотришь обращение — все осталось на своих местах.
        Так что продолжайте — может хотя бы здесь компании будут реагировать быстрее, если им важна репутация
          +1
          Замечать баги в используемом программном обеспечении я уже не перестану.
          Да уж, это просто бичь: нарываться на баги везде, чем бы ты не пользовался.
          Но главное, это наплевательское отношение ко всему со стороны компаний зачастую…
            +2
            Блин… самое интересное не добавил. На хабре же тоже был интересный баг в редакторе и в поддержке не торопились его исправлять. Возможно, он ещё остался.
            0
            Если бы Вы поработали в или на ВТБ, то поняли, почему всё так плохо. По большому счёту им по барабану на холопов и онлайн-банкинг, у них крупные клиенты, зачем им чесаться из-за нищих физиков?
              0
              Я не работал там, но пообщался с разработчиками. Мне поведали, что много кода пришло с аутсорса и никто за качество и баги не отвечает. И вроде бы только сейчас они решили пойти по пути Сбертеха: формировать свои команды и переписывать старые компоненты.
                0
                Ну тут вы сами даете, зачем передавать данные счетчиков через Сбербанк, если нужно через mos.ru. И кстати, вводить можно только целое число, не парясь о цифрах после точки. Я вот не парюсь.
                  +1
                  зачем передавать данные счетчиков через Сбербанк, если нужно через mos.ru
                  За МКАД'ом тоже есть жизнь!!! И она не сладкая :D
                  Я вот не парюсь.
                  Передавать холодную воду у нас с июля можно двумя способами: звонить оператору или через Сбербанк. Эта конторка отделилась от рассчётного центра не имея для работы ничего…
                    0
                    При чем здесь рассчетный счет? У меня рассчетный счет тоже не совсем белый, он не в Единой системе (миграция все еще не завершена, смотрите dom.gosuslugi.ru ). Но! По закону, оператор ЕПД является единственным приемщиком показаний в Москве. Попробуйте зайти на mos.ru www.mos.ru/pgu/ru/services/link/2022
                    Вообще это очень странно))
                      0
                      Я говорил про рассчётный центр (местная конторка), а не счёт. ГИС ЖКХ — дохлый и забагованный сервис. Меня хватило на месяц репортить баги, из-за которых в принципе не работало ничего. Я не верю в его развитие. И периодические расследования счётной палаты по поводу гигантских расходов на эту систему только закрепляют моё отношение.

                      На mos.ru мне нет смыла заходить, т.к. у меня другой регион. ГИС ЖКХ должен был всех объединить, но получился типичный российский гос. сервис.
                        0
                        Ну может uslugi.mosreg.ru? Но вообще, другой регион ничего не значит, я, например, там тоже зареган, хотя я вообще не разу в жизни (sic!) не был в МО.
                        ГИС ЖКХ — дохлый

                        Для Москвы. И он вообще только для ЮЛ (несмотря на некоторые услуги для физиков). Они должны были еще в 07.2019 полностью быть в системе, ну ничего теперь количество штрафов по КаАП РФ будет просто ого-го. Хех.
                          0
                          Ну может uslugi.mosreg.ru? Но вообще, другой регион ничего не значит, я, например, там тоже зареган, хотя я вообще не разу в жизни (sic!) не был в МО.
                          Зарегаться не проблема. Будут ли услуги? Эта сфера погрязла в бюрократии. Каждое поле ввода прописано в договорах между сервисами, поставщиками, и не пойми с кем ещё. Между областями взаимодействие точно не налажено.

                          ГИС ЖКХ — дохлый
                          Для Москвы.
                          Это технически дохлый проект, значит для всех. Я слежу за ним с 2017 года. Существуют 2 основных рычага управления — распил и штрафы. Вот и результат.
              +1
              С помощью пары запросов поисковику удалось выяснить, что это счётчик для Яндекс.Метрики. Интерпретация страницы просто прекращается после отказа любого внешнего компонента. Как говорится, на разработку было выделено много рублей… Так почему же кидается исключение? В моём браузере было установлено расширение Kaspersky Protect. Отключение разного рода маячков и счётчиков, видимо, входит в защиту от отслеживания, включенного по умолчанию. Это было причиной проблемы. Заказ еды я потом сделал на другом, более технически продвинутом сайте.

              К сожалению, эта проблема довольно распространена. Только после этого случая я понял непонятное поведение и других сайтов, которые мне встречались. Надеюсь, у web-разработчиков, попавших на эту статью, опыта прибавится.


              Интересный градус лояльности, когда даже после такого случая, вы уверены, что это проблема веб-разработчиков, а не разработчиков конкретного Kaspersky Protect.
                +2
                Сайт может состоять из внешних ссылок, надо это учитывать. Это точно не проблема Kaspersky Protect, что разработчики не обеспечили отказоустойчивость. Я точно также могу заблокировать серверы Яндекса файерволом и их маячки откажут. Первые блокировки Telegram выявили похожую проблему. Кто-то её учёл. Кто-то, к сожалению, переждал и не вникал в подробности.
                  +2
                  Конечно, в данном конкретном случае веб-разработчик просто мог перенести вызов функции reachGoal вниз, после всех тех интерфейсных реакций, но в целом это не всегда возможно.
                  А вот Kaspersky Protect вполне мог бы и убедиться, что раз уж он блокирует создание объекта yaCounter, то и дальнейшие обращения к нему тоже, по-хорошему, должны быть заблокированы. Или создавать свою заглушку вместо него тогда уж.
                  Просто я считаю, что если уж хочешь защищать пользователя — убедись, что эта «защита» не принесёт ему больше вреда, чем пользы.
                  В итоге получается ситуация, когда у всех пользователей Kaspersky Protect с дефолтными настройками возникают проблемы с работой некоторых сайтов, при этом у самих этих сайтов это лишь, условно, 0.1% пользователей.
                  Как в такой ситуации можно утверждать, что сайты должны прогибаться под 0.1% пользователей, а Kaspersky Protect может дальше продолжать ломать работу реально существующих сайтов — загадка сия велика для меня.
                    0
                    Я полагаю, что сбор статистики не должен ломать сайт. Когда ввели европейские требования к обработке данных, сайты стали терять статистику, если пользователь не даёт согласие на обработку данных. Но это не стало поводом «выгонять» пользователей с сайтов.
                  +1
                  А что клиенты не могут использовать всякие гхостери и прочие расширения против отслеживания? Или заказчикам сайта не нужны деньги таких клиентов? Не, если не нужны, то действительно, это не проблема вебразработчиков, клиент найдёт где заказать ещё.
                    0
                    Обратный пример тоже верен — если с одним расширением безопасности у пользователя ломается 10% сайтов, а с другим — только 1%, то выбор будет очевиден. Особенно, если при этом уровень безопасности будет одинаков.
                      0
                      Обратный пример чего? Если сайт ломается от того, что пользователь против шпионажа за ним, то это проблемы сайта, особенно, если он при этом надеялся получить деньги с клиента. И уж последнее дело клиенту подбирать защиту, которая меньше ломает недружелюбных сайтов, потому что это можно сделать только методом тыка. Извините, но какую я (как клиент) выгоду получу от того, что буду вот так тыкать и искать, какая защита меньше ломает данный сайт? Так что никакого обратного примера — нет.
                        0
                        Обратный пример чего?

                        Обратный пример того, что разработчики расширений безопасности тоже должны следить за тем, что они не ломают сайты. И в тех случаях, когда это возникает сравнительно часто и это легко исправить — исправлять. А данный случай как раз такой.
                        Иначе они (расширения безопасности) будут терять пользователей. Пользователи будут уходить на другие расширения безопасности, потому, что там меньше сайтов ломается.

                        Ну, то есть, это я думал, что будут уходить. Оказывается не все. Автор статьи, похоже, не допускает даже мысли, что с Kaspersky Protect что-то может быть неидеально.

                        Извините, но какую я (как клиент) выгоду получу от того, что буду вот так тыкать и искать, какая защита меньше ломает данный сайт?

                        В случае данного сайта — возможность пользоваться данным сайтом. В общем случае — широта выбора и экономия времени.

                        Так-то да, вы не останетесь голодным без сайта конкретного ресторана, точно так же как и конкретный ресторан не обанкротится, если их сайт потеряет условные 0.1% пользователей Kaspersky Protect и пр. Тут ещё даже не известно, выгодно ли им вообще оплачивать услуги тестирования и исправления таких редких кейсов.

                        А вот конкретный Kaspersky Protect уже может потерять значительную часть пользователей, если за ним закрепится репутация «он часто ломает сайты».

                        Так что тут, по-моему, вполне очевидно, «чья» это проблема.
                          +1
                          Автор статьи, похоже, не допускает даже мысли, что с Kaspersky Protect что-то может быть неидеально.
                          Тут не соглашусь. Я как раз не допускаю мысли, что софт может быть идеальным.

                          Kaspersky, кстати, наши клиенты. Отправлял ли я им баги, как пользователь?) В моём личном кабинете закрыто 19 обращений.
                            +2
                            конкретный ресторан не обанкротится, если их сайт потеряет условные 0.1% пользователей
                            А как же другие сферы? Точно такую же проблему я видел на сайте по заказу пластиковых окон. Ни одна форма не отправлялалась, а ведь там совсем другие суммы уже…
                              +2
                              Обратный пример того, что разработчики расширений безопасности тоже должны следить за тем, что они не ломают сайты. И в тех случаях, когда это возникает сравнительно часто и это легко исправить — исправлять. А данный случай как раз такой.
                              То есть это не на сайтах должны использовать бестпрактики, это разработчики всех средств защиты должны подстраиваться под говнокодеров всех разработчиков мира, использующих не лучшие практики?
                              Иначе они (расширения безопасности) будут терять пользователей. Пользователи будут уходить на другие расширения безопасности, потому, что там меньше сайтов ломается.
                              В мире розовых пони — возможно. В реальном мире вы всерьез считаете, что мне, как пользователю, не будет плевать на сайт, на котором что-то не срабатывает и это его проблемы?
                              С какого момента я должен начать понимать, что это, оказывается виноват какой-нибудь адблок или гхостери, потому что люди очень жаждут моих персональных данных и ломают свои сайты ради этого?
                              Автор статьи, похоже, не допускает даже мысли, что с Kaspersky Protect что-то может быть неидеально.
                              Проблемы кое кого шерифа не волнуют, ага. Пользователь не будет задумываться, почему глючит. Даже я не буду задумываться почему глючит, у меня в жизни столько всего по жизни глючит помимо того, что в браузере, что разбираться и докапываться кто виноват — моей жизни не хватит, а мне за это не платят. Хотя… яндекс вот уже добился своими усилями того, что я сейчас в серьёз сократил использование его сервисов.
                              конкретный ресторан не обанкротится, если их сайт потеряет
                              Ну да, ведь это не мозила с каждой версией увеличивает приватность? Тот же адблок не ударил по индустрии, так что из незамеченного явления перерос в то, с чем активно борются? Антивирусы всё больше не контролируют странички в браузерах через дополнения? А потом получается, что сайт прибыли не приносит, зачем его вообще держать — ведь не работает, то и фиг с ним, никто особо не побежит жаловаться и точка.
                              А вот конкретный Kaspersky Protect уже может потерять значительную часть пользователей, если за ним закрепится репутация «он часто ломает сайты».
                              Нет, потому что все знают бренд касперского, как защиту. Если сайт поломался из-за него — воспримется как то, что сайт делал что-то нехорошее и только, максимум.
                                –1
                                То есть это не на сайтах должны использовать бестпрактики, это разработчики всех средств защиты должны подстраиваться под говнокодеров всех разработчиков мира, использующих не лучшие практики?

                                Современные браузеры, например, именно так сейчас и работают с html. Они не падают с ошибкой при первом незакрытом или устаревшем теге, дубликате id или некорректном атрибуте. Они продолжают обрабатывать html, даже если он явно написан с ошибками.
                                Почему они это делают? Почему бы им просто не сказать, что пускай кривые сайты идут лесом и сами у себя всё исправляют? Я уже ответил выше, почему. Потому, что им (браузерам) нужны пользователи.

                                И уж тем более, если речь идёт о разработке средств защиты, их разработчик должен в первую очередь стремиться не навредить комфорту пользователя. Потому что результат защиты от трекинга заметить крайне сложно, а вот сломавшиеся сайты — легко.
                                С какого момента я должен начать понимать, что это, оказывается виноват какой-нибудь адблок или гхостери

                                Примерно с того же момента, что и автор статьи. По его словам это уже был не первый проблемный сайт. А уж если это повторяется из раза в раз, и когда у других людей сайты явно работают, пользователь начнёт задумываться. Может, в итоге будет брешить на браузер, старый компьютер, медленный интернет или что-то ещё придумает. Но в итоге проб и ошибок таки найдёт конфигурацию, которая работает лучше. И в этой конфигурации уже не будет Kaspersky Protect.
                                Тот же адблок не ударил по индустрии, так что из незамеченного явления перерос в то, с чем активно борются?

                                Кто активно борется? Владелец самой большой рекламной сети — Google? Который распространяет его в своём собственном Chrome Store? Или Яндекс? Который сам учит людей, как ставить такие расширения на Яндекс.Браузер? Да никого это не волнует, по большому счёту.
                                Проблемы кое кого шерифа не волнуют, ага. Пользователь не будет задумываться, почему глючит.
                                Нет, потому что все знают бренд касперского, как защиту. Если сайт поломался из-за него — воспримется как то, что сайт делал что-то нехорошее и только, максимум.

                                То есть ваш аргумент, что основная причина, почему Kaspersky Protect не должен исправлять эту ошибку — безнаказанность?
                                Так в таком мире, где пользователю абсолютно без разницы, что происходит «под капотом» существовало бы и лучшее решение — просто создать расширение, которое ни от чего не защищает, а лишь показывает пользователю значок с буквой К где-нибудь в интерфейсе.
                                Обычный пользователь никогда не заметит разницы, защищает его там что-то или нет. Достаточно в рандомное время сообщать, что «угроза остановлена» и он будет доволен. И разработка такого плагина занимает в тысячи раз меньше времени. И сайты никакие не поломает.
                                Идеальный продукт, не так ли? Или всё-таки лучше бы им разрабатывать хороший продукт, в расчете и на тех пользователей, которые и «под капот» тоже заглянут? Определитесь.
                                  +1

                                  Пользователи, которые заглядывают "под капот", будут ругать автора сайта, который сделал сторонний, не связанный с функционалом сайта компонент (метрику) де-факто обязательным.

                                    0
                                    Пользователи, которые заглядывают «под капот», будут ругать автора сайта

                                    Ругать-то будут, и есть за что, но в итоге им будет проще отключить плагин и заказать снова или позвонить по телефону, а не оставаться с плагином и искать другой сайт, а затем те же самые блюда на нём.
                                    0
                                    То есть ваш аргумент, что основная причина, почему Kaspersky Protect не должен исправлять эту ошибку — безнаказанность?
                                    В том, что невозможно создать защиту и при этом обеспечить совместимость с говнокодом плохими практиками написания сайтов для всего.
                                    Цель защиты какая? Отбить навязчивое нарушение конфиденциальности пользователя. Это было сделано? Да. Всё.
                                    Проблемы тех, кто живёт нерефелексируя незадумываясь и вставляет в подобные места обязательные анальные зонды — это их проблема. А каспер в данном случае всё сделал правильно, ибо он не обещал беспроблемной работы интернета, он сделал защиту от навязчивых нехороших людей.
                                      0
                                      В том, что невозможно создать защиту и при этом обеспечить совместимость с говнокодом плохими практиками написания сайтов для всего.

                                      В том-то и дело, что возможно, я уже писал выше. Вместо блокировки запросов к Yandex просто перенаправить их на свой сервер, с которого бы создавался yaCounter-пустышка, который ничего не отправляет.
                                      Цель защиты какая? Отбить навязчивое нарушение конфиденциальности пользователя. Это было сделано? Да. Всё.

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

                                      Нет, вашу-то позицию понять несложно.

                                      Сайт ресторана — плохой, он из племени тех, кто использует метрику.
                                      Касперский — хороший, он против метрики.
                                      Давайте очень-очень постараемся придумать будущее, в котором хорошим будет хорошо, а плохим — плохо.

                                      Вот только в реальности так не работает.
                                        +1
                                        В том-то и дело, что возможно, я уже писал выше. Вместо блокировки запросов к Yandex просто перенаправить их на свой сервер, с которого бы создавался yaCounter-пустышка, который ничего не отправляет.
                                        И так на все 100500 вариантов в мире!
                                        Я уже писал, что цель защиты — делать всё это, не ломая сайты.
                                        Нет. Цель защиты, что характерно — защита. Сайты могут быть и вредоносные, если что. Она их тоже ломать не должна по вашему?
                                        Если у пользователя не работает куча сайтов — это проблема.
                                        Создателей сайтов. Не надо использовать хуки и хаки.
                                        Вот только в реальности так не работает.
                                        В реальности, посетитель сайта уйдёт, ругая дураков разработчиков-сайта. Он даже копать не будет.
                            +1
                            С другой стороны, компонент вмешивается в работу веб клиента. По факту он берет и запрещает создавать экземпляр определенного класса. Если взять любое приложение, и проделать то же самое с любым классом, которое оно использует. То ничего удивительного, что приложение перестанет работать. Или разработчики должны перед каждым обращением, методам и свойствам любого объекта проверять его на null, да же если строкой выше был создан этот объект, а вызов любого метода оборачивать в try/catch и прорабатывать сценарии, как продолжить работу, если любой из методов отвалился.
                            Можно вообще отключать выполнение js и удивляться, что половина веба не работает
                              0
                              Если взять любое приложение, и проделать то же самое с любым классом, которое оно использует. То ничего удивительного, что приложение перестанет работать.

                              Если класс используется самим приложением — безусловно. А если плагином (а аналитика — это, по сути, именно оно) — так пусть отваливается только плагин, основное-то приложение почему от этого ломаться должно?

                                0
                                А ещё можно делить на рандом(0...10^6). Оно будет даже в большинстве случаев работать. Станет ли от этого применение данной практики — правильным и хорошим?
                                Или таки, если пользователь захотел сохранить свою персоналку за собой, то может уже надо перестать втыкать везде зонды слежения и завязывать на них основной функционал, который от них на самом деле никак не зависит.
                                Кстати, в обычных договорах, если вам навязывают что-то, что не требуется для него — это вполне себе регулируется законами и запрещено. Ну там навязывать страховку с покупкой и т.п. Но почему-то следилки навязывать при покупке в интернете — это нормально… Где логика?
                                  0
                                  Причем тут договора, статья не об этом и мой коммент тоже. Никто не запрещает вам блокировать, все что угодно на своем компьютере, в том числе и веб клиент, который пришел с удаленного сайта. Но не стоит сетовать на нерадивых разработчиков. если вы пропатчили их приложение и оно оказалось неработоспособным.
                                    0
                                    Ещё раз, это их проблема, если они хотят получать чужие деньги.
                                    Навязывание шпионажа под предлогом необходимости для оплаты — это как раз навязывание услуг. И да, жаль что мы не в ЕС, а то бы вдруг оказался сайт подобных компаний как способ убить свой бизнес.
                            0
                            Даже у Microsoft в Word-е, когда параметры абзаца редактируешь, не сделана автозамена при вводе с клавиатуры точки на запятую для всяких отступов. Хотя чего уж проще. Ещё меня вырубает, когда баг найдёшь, звонишь например в Яндекс или в подобную контору, говоришь — у вас там-то вот такой косяк. А они в ответ — позвоните по другому номеру — мы его сейчас продиктуем. Елки-моталки, я уже позвонил к вам, потратил своё время, а вы внутри фирмы, пусть и большой, не можете передать информацию. И это везде и всюду такая практика.
                              0
                              Последняя часть выглядит как «я рассказываю таксисту/поварихе/доставщику/оператору про ошибку многопоточной синхронизации в приложении, а они даже вникнуть не пытаются, чтобы потом своим там передать».
                                +1
                                Они хоть и операторы, но в Яндексе работают. Должны знать продукты компании на пользовательском уровне. Плюс баги тоже пользовательские — такая-то кнопка не работает или вроде того.
                                  +1
                                  Пожалуй, тут надо от типа сервиса отталкиваться. В Сбербанке поток вопросов «не пришла зп», «как проверить баланс» и т.п. составляет основную массу и для их обработки набирают большой штат без особых навыков. Но вот проблема, что линии поддержки не учат взаимодействовать между собой, действительно остро стоит.
                              0
                              По поводу ВТБ: у них в чате мои сообщения маркировались как «Сообщение не отправлено». Но после перезагрузки они оказывались отправленными, и даже уже с ответами оператора. Поддержка кивала на интернет-соединение, но когда я повторил, что после перезагрузки мне уже и ответы приходят, которые за время перезагрузки операторы успевали дать, согласились оформить заявку.
                              Еще у них был перевод с карты на карту без ввода реквизитов карты получателя — не было такого поля вообще. Тоже заявку оформил, поправили в следующем обновлении.
                              А вот скрины, кстати, у меня загружает. Может, правда, дело в ограничении размера файла.

                              А по поводу Сбера и ввода показаний, у меня такое чувство, что ввод делали по старинке: мол, никто цифры после запятой не вводит, только целые значения показаний.
                                0
                                По поводу ВТБ:
                                А вот скрины, кстати, у меня загружает. Может, правда, дело в ограничении размера файла.
                                Чем больше экран телефона, тем больше скрин будет, да.
                                А по поводу Сбера и ввода показаний, у меня такое чувство, что ввод делали по старинке: мол, никто цифры после запятой не вводит, только целые значения показаний.
                                В плане чисел проблем много: ввод и отображение. Но про целые числа — почему-то всегда контраргумент на эти замечания. Стараюсь объяснять, что исторически оплата ЖКУ была прероготивой старшего поколения, которое с возрастом теряла способность к арифметике, поэтому её упростили округлением. С передачей показаний в электронном виде проблемы подсчёта разницы нет от слова совсем.
                                  +1
                                  Чем больше экран телефона, тем больше скрин будет, да.
                                  Напокупают лопат, а потом скрины в чат не пролезают! :-D
                                    0
                                    Вы просто скриншоты в jpeg делаете, да? А теперь вспоминаем, что с схематической графикой лучше работает png и переключаем на png (раза в 2 меньше получается). Если у вас, конечно, есть такая настройка, ха.
                                      0
                                      Я просто зажимаю 2 кнопки) Не уверен, что такая настройка есть в iOS.
                                        0
                                        А, ну если iOS, то там и так по умолчанию png.
                                          0
                                          А теперь вспоминаем, что с схематической графикой лучше работает png и переключаем на png (раза в 2 меньше получается)
                                          PNG тяжелее JPEG всегда был…
                                            0
                                            Это от количества цветов зависит и присутсвия растрированной графики. Если же векторная графика и цветов немного (и у шрифта субпискеленый рендеринг — оттенки серого (android), а не цветной, как в windows), то png намного выгоднее. А если вспомнить, что он 4:4:4 lossless… ммм…
                                  0
                                  DEL
                                    +1

                                    о, у ВТБ ещё дивно показываются остатки на счётах в случае мультивалюты. Иногда (часто!) он тупо берёт знак последней доступной валюты (это евро) и пририсовывает к числам. Можно на несколько минут почувствовать себя магнатом!

                                      0
                                      У Альфабанка до сих пор есть null вместо отчества в Реквизитах счёта, когда отчества нет.
                                        0
                                        Продолжение: Поиск багов как образ жизни: обзор №2
                                        В этом обзоре будут рассмотрены проблемы на сайтах ОнлайнТрейд и Ростелеком, в мобильном приложении банка Рокетбанк и даже Хабра!

                                        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                        Самое читаемое