Дурной пример заразителен, и одновременно с Google Mozilla объявила, что очередная версия её браузера — номер 116 — под Windows 7 работать не будет. Если вы попытаетесь скачать и запустить инсталлятор FF под этой ОС, он пожалуется на необходимость обновления. Можно ли это как-то предотвратить? И насколько сложно это сделать по сравнению с Google Chrome? Судите сами.
- Скачиваем полный установщик последней версии FF. Я сделал это по ссылке https://download-installer.cdn.mozilla.net/pub/firefox/releases/116.0/win64/en-US/Firefox%20Setup%20116.0.exe, но вы можете поменять, например, язык. Эту ссылку мне сгенерировала страница https://www.mozilla.org/en-US/firefox/all/#product-desktop-release.
- Открываем скачанный файл с помощью WinRAR, содержимое папки Core распаковываем в папку, где установлен Firefox (у меня это C:\Program Files\Mozilla Firefox). Естественно, перезаписываем.
- Пьём чай с конфетами. (Да, это всё. Никаких ассемблеров, хуков, Dependency Walker, LoadLibrary).
Самое время переходить к дискуссии об острой технической необходимости, заставившей Mozilla решиться на изменение системных требований.
Комментарии (108)
fedorro
06.08.2023 09:35+14Самое время переходить к дискуссии об острой технической необходимости, заставившей Mozilla решиться на изменение системных требований.
Возможно вы узнаете об этой необходимости чуть позже, когда что-то не будет работать или работать со сбоями, а может и не узнаете, чертыхнетесь на криворуких разработчиков сайта ил блокировки, и будете ломать голову почему так, или жить с этим ????
ImagineTables Автор
06.08.2023 09:35+7Возможно. Но пока что всё, что я делал в FF 115, я продолжаю делать в FF 116. В частности, опубликовал этот текст и пишу этот комментарий.
metric_ghost
06.08.2023 09:35+4Но фф 115 официально поддерживается ещё год на вин7. Как минимум дыры в безопасности мозилла будет закрывать. Разве уже есть серьёзная необходимость пытаться обновиться на новый 116 с esr, там изменения относительно небольшие. Понятно, что когда-то она появится, но к тому времени мало ли что произойти успеет, может, и от 7 придёт время отказаться.
Einherjar
06.08.2023 09:35+21об острой технической необходимости, заставившей Mozilla решиться на изменение системных требований
Если бы вы хоть раз участвовали в разработке десктопных программных продуктов, то знали бы что поддержка любой major версии ос это время и деньги, даже если вам как пользователю кажется что код там будет работать без изменений. Это и при разработке надо внимательно следить что где то случайно не затесалось использование АПИ которое там не поддерживается, или что не вылезает какой то баг отрисовки UI например, и потом городить костыли вокруг этого, и при тестировании настраивать +1 окружение. Ибо что то отвалиться может в самых внезапных и неожиданных местах. Запариваться с этим для ОС которая уже три года как никем и ничем не поддерживается занятие довольно странное и бесполезное.
MTyrz
06.08.2023 09:35+13(Вздыхая)
Честно говоря, иногда хочется продолжать пребывать в наивных мечтах о том, что продукты делаются ради пользователей. Так вот о пользователях.
Windows 7 использует 3.7% пользователей. Гуглохром от их поддержки отказался довольно давно. Это аудитория либо мозиллы, либо тех форкоделов (например, Vivaldi), которые не поленились поддерживать устаревшую систему.
Всего Windows использует около 1.6*10**9 пользователей. Иначе говоря, общая оценка численности семерочников — порядка шестидесяти миллионов. Год назад число пользователей ФФ составляло 215 миллионов человек. Разговор примерно о четверти аудитории (на самом деле чуть меньше трети).
Не, не надо? Лень париться с поддержкой?
Ну ок. Хороший был браузер, жаль менеджмент говно.Einherjar
06.08.2023 09:35+7Мне сложно придумать хоть какие то обоснованные причины использовать сейчас windows 7 как основную рабочую ОС. Если кто то и использует устаревшие и небезопасные ОС, то зачем им современный браузер? Можно использовать также устаревший, а то двойные стандарты какие то.
MTyrz
06.08.2023 09:35+4Извините, но ограниченность вашей фантазии к делу отношения не имеет. Есть аудитория, минимум четверть от уже имеющейся. Не первые десятые процента, а четверть. На фоне стонов о том, что у браузера аудитория падает: вот вам аудитория. Ее можно охватить — или на нее можно наплевать. Вы выбираете наплевать: окей.
Einherjar
06.08.2023 09:35+6А где вы увидели четверть аудитории на Windows 7? А то моя ограниченная фантазия этих цифр не позволяет увидеть.
MTyrz
06.08.2023 09:35+3В своем предыдущем комменте, с числами и ссылками. Оценка аудитории ФФ, оценка аудитории Вин7, простая арифметическая операция...
UPD. Увидел другую оценку численности ФФ-юзеров. Ну ок, тогда не четверть, тогда шестая часть. Действительно, ради шестнадцати процентов (aka шестидесяти миллионов юзеров) отрывать афедрон от кресла никакой необходимости.
dartraiden
06.08.2023 09:35+6Оценка аудитории ФФ, оценка аудитории Вин7, простая арифметическая операция...
Mozilla сама предоставляет статистику. Причем, их статистика самая точная, т.к. это статистика собирается на основе телеметрии Firefox.
Доля обладателей Windows 7 среди пользователей Firefox составляет менее 13 процентов и неуклонно снижается с каждым годом. При этом, Firefox 115 ESR будет поддерживать Windows 7 ещё год.
Так что, через год, когда поддержка всех версий Firefox в Windows 7 прекратится, останется, в лучшем случае, 8%. Причем, окончание поддержки означает лишь отсутствие исправлений безопаности, сам браузер не перестанет же работать. А к тому времени, когда веб в своём развитии уйдет вперед настолько, что Firefox 115 станет трудно пользоваться, доля пользователей вообще будет мизерной.
nick758
06.08.2023 09:35Однако, пользователей с Linux'ом сильно меньше 8%, и тенденции к росту не видно, но его поддержку не дропают.
0xd34df00d
06.08.2023 09:35+1Надо ещё добавить оценку, сколько людей из этих готовы и хотят обновлять браузер. Ну и если другие браузеры тоже не обновляются, то отрывать афедрон действительно смысла нет.
rg_software
06.08.2023 09:35+8Ну тут аргумент в том, что не совсем корректно этих людей записывать в свою аудиторию. Они сидят на старой ОС со старым браузером, и всё у них хорошо.
MTyrz
06.08.2023 09:35+2Да, за любую аудиторию приходится бороться, даже за эту. Но тут есть существенный момент: на этом поле ваших конкурентов уже нет. А вы есть.
Завтра Js обновится до очередной версии, послезавтра новая фича будет в продакшне и половина помоечных сайтов скажут вашей аудитории фи, замените ваше старое говно на новый браузер. Это ваша ниша… была бы ваша ниша. Если бы вашим разработчикам было бы не лень настроить при тестировании еще одно окружение.
rg_software
06.08.2023 09:35+3Боюсь, мне не удалось донести мысль: если вы, предположим, обновляете свой продукт, и все ваши юзеры переезжают с версии на версию, то отказываясь от поддержки какой-то платформы вы действительно теряете аудиторию, тут вопросов нет.
Но теперь представьте себе, что есть какие-то ребята, которые сидят на Windows 7 и браузере, скажем, пятилетней давности. Это уже не ваша аудитория, даже если на браузере стоит ваш логотип. Они уже пять лет не качают ваши обновления, и поддержка вами их платформы для них абсолютно ничего не значит.
Причём это же не абстрактное рассуждение: половина компьютеров на Windows 7 стоит где-нибудь на предприятиях, и браузер там нужен для хождения строго по определённому списку сайтов (и если что-то ломается, то вопрос к сайту, а не к браузеру). С этого компьютера никто не будет смотреть вашу рекламу и что-то покупать, поэтому "аудитория" тут чисто виртуальная.
MTyrz
06.08.2023 09:35+2Вам удалось донести мысль, но.
Ситуация, когда администратор принудительно отключает обновления, скорее нештатная. Обычно браузер обновляется сам. Да, ФФ в том числе. Т.е., пользователю W7+FF по умолчанию, чтобы оставаться аудиторией ФФ в вашем смысле, не надо делать ничего. Где-то тут (лень смотреть, выше или ниже) приводили статистику, порядка 12% аудитории ФФ использует Вин7, и порядка 75% использует последнюю версию. Если предположить, что эти параметры не зависимы, то 9% аудитории вот этим отказом в поддержке как раз и станут "не вашей аудиторией" в вашем смысле.rg_software
06.08.2023 09:35-1Да, понимаю. Но всё же аудитория вам нужна для чего-то, а не просто так, ради цифр в отчёте. Файрфокс обновляется сам, говорите? Ну так и Windows обновляется сам тоже. Если юзер сидит до сих пор на Win 7, с большой степенью вероятности это всё же какая-то офисная машина для очень конкретных нужд. Зачем вам эти юзеры с точки зрения бизнеса? (Какой-то процент сидит по любви, конечно, но записывать все указанные 9% в "любителей" точно нельзя, так что их гораздо меньше).
saege5b
06.08.2023 09:35+3Есть железка, и дрова в десятке либо криво, либоникак.
Софт в десятке работает "странно": например в новой версии добавили "визуала" и убрали функционала, а может разработчик вообще забил на 10ку, и новых версий нет и не обещают. Или апгрейд по полной стоимости, и платежи наружу не проходят никак.
AlexanderS
06.08.2023 09:35+3Например, у человека есть принтер и сканер времён Windows XP, и дорогое звуковое оборудование, которое и на Windows 7 с трудом завели. Вы предлагаете ему менять всю периферию? А зачем если его окружение и так прекрасно выполняет свои функции, позволяя ему зарабатывать. И ладно бы таких было 2,5 маргинала, что с поддержки снимать. Но, как выше писали, таких десятки миллионов! Может бы компаниям стоило бы всё же поддерживать этих людей? Да это стоит денег. Но находятся же немалые средства на постоянные ребрендинги, устраиванию шикарных раутов и прочую менеджерскую благотворительность.
Einherjar
06.08.2023 09:35+5А браузер то ему обновлять зачем раз все устраивает и позволяет зарабатывать?
AlexanderS
06.08.2023 09:35А что делать, если какой-нибудь вконтакт человеку даже заходить не даёт?
Einherjar
06.08.2023 09:35+2Firefox 115 ESR не дает входить во вконтакт? Давайте все таки на реальные факты опираться, а то какие то разговоры в пользу бедных получаются.
AlexanderS
06.08.2023 09:35Так я просто привёл "обоснованные причины". Причины придумать несложно — от специфического оборудования, до привычной среды от которой пользователь просто не хочет отказываться потому что к ней привык. Понятное дело, что с ESR проблем ещё несколько лет не будет.
Einherjar
06.08.2023 09:35Ну так к тому времени и дорогое звуковое оборудование сгорит, и картриджей на принтер не будет. В общем проблемы надо решать по мере их поступления. То что новый релиз firefox не поддерживает windows 7 на данный момент не является проблемой ни для кого вообще.
AlexanderS
06.08.2023 09:35У меня есть знакомые, которые до сих пор на Windows XP сидят по примерно тем же причинам. Вот где боль-то. По сравнению с ними у тех кто на 7-ке проблем вообще нет.
Didimus
06.08.2023 09:35А ведь ещё год назад все выли, какое г эта десятка с тормозами, уродским интерфейсом, неотключаемой телеметрией и дырами. А нынче «десятка хорошо, семёрка плохо»
Wesha
06.08.2023 09:35+5Мне сложно придумать
Возможность отключить телеметрию и ничего не потерять? Отсутствие лезущего во все
дыотверстия Microsoft Account?Клёпаная Cortana?Ну, по крайней мере одной причиной меньше.Мне нужна клёпаная операционная система — прокладка между железом и софтом, а не многогигабайтный комбайн, который сам по себе умеет всё (примерно как утка) — а кроме того ещё и утверждает, что я срочно должен выбросить не особо давно купленное железо.
Einherjar
06.08.2023 09:35примерно как утка
И что конкретно Windows 11 делает хуже чем 7?
Возможность отключить телеметрию и ничего не потерять? Отсутствие лезущего во все
дыотверстия Microsoft Account?Клёпаная Cortana?И что это вам даст? Windows 7 без вышеперечисленного быстрее работает? Нет. Стабильнее? Нет. Безопаснее? Нет. Разве что плацебо потешить. Наличие вышеперечисленного никак не влияет на ваш user experience. Ненужными лично вам функциями можете не пользоваться, все остальное то же самое и работает как минимум не хуже.
LAutour
06.08.2023 09:35Не знаю на счет 11, но летом я на 10 ставил драйвера для старого лазерного самсунга, соместимого с HP (для дома в самый раз: недорогие совместимые расходники без всякого чипирования). Официально работающие дрова вставали, но НЕ РАБОТАЛИ. Не официальные дрова (от соседней модели принтера) заработали, Но для их установки пришлось убить UAC, так как эта "скотина" в упор не давала их устанвливать. В семерки подобных проблем не было.
Astroscope
06.08.2023 09:35+2И что конкретно Windows 11 делает хуже чем 7?
Хуже отображает меню пуск. Приходится использовать костыли вроде StartIsBack, совместимость с которыми может сломаться с любым обновлением.
Einherjar
06.08.2023 09:35-2Ох уж этот пускокульт. Вам шашечки или ехать? Куда уж хуже чем в 7 то, какая то маленькая панелька в углу экрана в которую надо целиться мышью, и где треть места занята непойми чем. В 11 тоже так себе, но туда хотя бы что то полезное влезает и можно убрать все лишнее. Чего то менее удобного чем пуск даже придумать сложно. Посмотрите как аналогичная задача решена в macos - вот там для человека. В windows 8.1 что то подобное было, жаль убрали.
Grey83
06.08.2023 09:35+3Ох уж этот пускокульт.
Ох уж этот плиткокульт.Посмотрите как аналогичная задача решена в macos
А почему бы не посмотреть в линуксе?Einherjar
06.08.2023 09:35А почему бы не посмотреть в линуксе?
В линуксах эргономика застряла где то на уровне середины нулевых. Там если отрисовывается без глюков уже счастье.
khajiit
06.08.2023 09:35+3Толстота вашей шутки превосходит размер наблюдаемой Вселенной.
Einherjar
06.08.2023 09:35Чтобы в полной мере прочувствовать толстоту этой шутки достаточно взять штук 6 самых популярных десктопных окружений и попробовать ну например такую простую вещь как установить 150% масштабирование интерфейса.
khajiit
06.08.2023 09:35И-и-и…? Как пользователю, за последние годы побывавшему и на крыске и на кедах, видевшему и гном и i3 — каджиту очевидно, что невозможность установить штатно дробный скейлинг во многих средах к заявленным глюкам отрисовки относится как пенис к пальцу.
Глюки появятся если кое-кто запустит кривые ручки в то, в чем не разбирается — но это проблема кривых рук и недостатка тямы.
Einherjar
06.08.2023 09:35-2во многих средах к заявленным глюкам отрисовки относится как
Пускаться в демагогию о том как одно относится к другому смысла нет поскольку как ни поверни - все равно проблема имеет место быть. Речь прежде всего про эргономику. Вещей которые в операционных системах для людей уж лет по 10-15 как реализованы и отлажены и воспринимаются как само собой разумеющееся, в линуксы банально не завезли, а там куда с горем пополам недавно завезли зачастую работает оно кое как после плясок с бубном или установки 100500 сторонних программ. И так практически во всем. Из коробки линукс условно юзабелен, со скрипом и плясками с бубном работает терпимо, но после нормальных операционных систем раздражает практически все.
Глюки появятся если кое-кто запустит кривые ручки
Руки запускать никуда не надо. Глюки могут появиться даже если просто нажать в пакетном менеджере кнопку установить видеодрайвер в какой-н там убунте, после чего вы получаете черный экран и увлекательное занятие на вечер. В операционных системах для человека вот это вот все уже побороли лет пятнадцать назад, все просто работает из коробки и не ест мозг.
khajiit
06.08.2023 09:35+1Демагогия началась с подмены самой возможности проведения операции заведомым постулированием ее успешности.
Остальная аргументация — примерно того уровня бредовости: от осей для людей (все еще показывающих пользователю куски интерфейса временами аж из 3.11, с соответствующим результатом) и до 100500 программ (когда не нужно ни одной).
Einherjar
06.08.2023 09:35-3когда не нужно ни одной
Вы можете назвать хоть одно окружение где из коробки ну хотя бы нормальный файловый менеджер есть? Или запись экрана? Даже если и откопаете, то в одном будет одно, в другом друое, в третьтем третье, а все сразу только через танцы с бубном.
Остальная аргументация
Аргументация как минимум есть, и любому человеку кто знаком с линуксом она очевидна, и никакой бредовости тут нет, это банальные факты. То что у кого то от них подгорает никоим образом не устраняет эти проблемы, к сожалению.
куски интерфейса временами аж из 3.11
А вот это как раз пример бредовой аргументации. Код 3.11 чисто физически невозможно выполнить в 64 разрядной версии.
Демагогия началась с подмены самой возможности проведения операции заведомым постулированием ее успешности.
По существу я так понимаю вам сказать нечего?
khajiit
06.08.2023 09:35+1По существу я так понимаю вам сказать нечего?
Именно этот вопрос следует адресовать вам. Потому как вы опять облажались.
И с этим:нормальный файловый менеджер
define нормальный, а потом примените это к любимке — она-то соответствует? А ваше определение не получилось похожим на тендер по госзаказу?
KDE'шный dolphin — вполне себе нормальный.И с этим
Или запись экрана?
KDE'шный spectacle чем не устроил?
И вот с этим
Даже если и откопаете, то в одном будет одно, в другом друое, в третьтем третье, а все сразу только через танцы с бубном.
Первые два нашлись, третий кто? Впрочем, по нему, судя по тенденции, тоже звиздеж выйдет.
И даже вот с этим:
Аргументация как минимум есть
Есть попытка выдать рандомный набор букв за аргументацию, причем генерируется он вообще не приходя в сознание. Вы хотя бы в виртуалке пингвина видели, или только на фото? Да хрен там с пингвином, хотя бы любимку?
khajiit
06.08.2023 09:35+2Как неожиданно, демагог и фанатик исчерпал все, что было похоже на аргументы — и перешел на личности…
Кто в этом виноват, интересно — линукс, Торвальдс, Поттеринг, или, может, каджит?
Вопрос риторический.
Einherjar
06.08.2023 09:35-2исчерпал все, что было похоже на аргументы
Нет, я бы с удовольствием продолжил этот интересный спор будь вы малость адекватнее, тем более что у меня под рукой и мак и винда и 8 линуксовых окружений. А вот приводить какие то аргументы в ответ на это
облажались
звиздеж
рандомный набор букв
не приходя в сознание
больше напоминает игру в шахматы с голубем. Прощайте.
khajiit
06.08.2023 09:35+4Если бы вы хотели продолжить — вы бы это сделали сразу.
Вы же сделали заявление с претензией на всеобщность:
если отрисовывается без глюков уже счастье
… но не смогли показать даже единичного примера.
Зато предпочли сменить тему с глюков отрисовки на дробное масштабирование. И, действительно, глюков отрисовки несложно добиться, если начать калечить систему кривыми ручками — о чем каджит и сказал.
После чего последовала еще одна попытка съехать с выбранной вами же темы, переключившись на особенности проприетарного драйвера — казалось бы, где драйвер и где обещанные глюки отрисовки?
И стоило продраться через ваши отговорки до предметнымх вопросов — как вы снова предпочли резко срулить с выбранной вами же темы.А насчет игры в шахматы с голубем — вы абсолютно правы. Только опять не том смысле, в каком вам хочется.
Wesha
06.08.2023 09:35+2в операционных системах для людей уж лет по 10-15 как реализованы
Осталось поинтересоваться — а просили ли их эти самые люди (лично я — не просил; я, наоборот, уже который год прошу прекратить переставлять кровати).
Astroscope
06.08.2023 09:35+1Ох уж этот плиткокульт.
Именно. Идея с плитками на самом деле прекрасна и это могло бы стать серьезным шагом вперед в эргономике - когда ярлык одновременно и виджет, когда для какого-то совсем простого взаимодействия с программой вроде просмотра какой-то метрики состояния или кнопок управления аудиоплеером достаточно только ее ярлыка. Но доведение до идиотизма убило все достоинства концепции, выпятив лишь недостатки. Наверное, одной из причин нежелания или невозможности сделать лучше была бушевавшая одно время планшетоистерия. Но планшет с маленьким экраном и пальцевым интерфейсом не равен среднестатистическому ноутбуку и уж тем более стационарному монитору с клавиатурой и мышью - похоже, об этом вспоминали лишь изредка.
В общем жаль, что отличная в принципе идея с плитками по сути провалилась из-за не знаю, как политкорректно сказать, непродуманной и одновременно навязчивой реализации.
Grey83
06.08.2023 09:35+3В том-то и дело, что хотели как лучше, а вышло — как всегда.
Пальцеориентированный интерфейс запилили, а выдать всем сенсорные мониторы — забыли. А все по дурости так и пользуются мышкой вместо сенсорных экранов.
Astroscope
06.08.2023 09:35+2Вам шашечки или ехать?
Я люблю водить сам, а не ездить с наемным водителем. А еще я смогу ехать на несинхронизированной коробке, в т.ч. на грузовике, но это не значит, что повседневно я не предпочитаю автомат и (отключаемые) ассистенты вождения.
Куда уж хуже чем в 7 то, какая то маленькая панелька в углу экрана в которую надо целиться мышью, и где треть места занята непойми чем.
Лично мне семерочный вариант нравится больше всех. В линуксах тоже подбираю что-то подобное, благо у многих дистрибутивов там даже подстраивать ничего не нужно, с чистой установки все более-менее соответствует моим представлениям о прекрасном. У вас или у кого-то еще мнение может быть от немного отличного до практически противоположного - это не значит, что кто-то из нас неправ.
Посмотрите как аналогичная задача решена в macos
От того, что я узнáю, как это сделано где-то, у меня ничего не поменяется.
Playa
06.08.2023 09:35Никогда не понимал смысла StartIsBack. Моё взаимодействие с меню пуск длится меньше секунды, т.к. ввод названия приложения и нажатие enter происходят уже где-то в мышечной памяти. Ну и места новый пуск занимает меньше, чем тот, что был в Windows 7.
Astroscope
06.08.2023 09:35+2Применительно к не самому часто используемому, я часто не помню точное название, зато помню, где оно в списке пуска, и приблизительно какая у него иконка. В отличие от вас, лично мне именно так быстрее & удобнее - обнаружение и запуск потребного происходят очень быстро и без усилий. То же, что мною используется постоянно и каждодневно, вынесено на панель задач и/или имеет ярлык на рабочем столе - где оно в пуске я с трудом представляю, но в моей парадигме это решительно неважно. Еще раз настойчиво повторюсь, что все вышесказанное - мой субъективный опыт, который я не пытаюсь экстраполировать на вас или кого угодно еще.
Playa
06.08.2023 09:35Всё то же самое есть и в новом пуске и я этим точно так же пользуюсь. Просто не понятно, почему именно "хуже". Возможно, достаточно включить опцию "Show app list in Start menu"?
khajiit
06.08.2023 09:35+2Ну, например, в нем ничего не протормаживается, вылезая в интернет (актуально для первого вызова).
А еще в нем нет новомодной рекламы.
Wesha
06.08.2023 09:35+3И что конкретно Windows 11 делает хуже чем 7?
Чуть менее, чем всё из того, что мне реально нужно?
XenRE
06.08.2023 09:35+4Ну например старые версии винды хороши для виртуалок (причем лучше даже не 7ка а XP). Да вообще а какие есть объективные причины перехода? Ну т.е. если бы на 7ку можно было бы накатить все патчи с новыми функциями WinAPI + DirectX то ни 10 ни 11 вообще нафиг не сдались бы никогда.
К переходу принуждают искусственно, не выпуская новый софт, совместимый со старыми версиями винды, хотя зачастую для самого функционирования этого софта с головой достаточно даже API Win95.
Dr_Faksov
06.08.2023 09:35+2Действительно странные люди. Видеть, что пользователи уходят и кричать оставшимся -"Валите отсюда нах****!!!!"
Они в самом деле думают что люди поменяют OS ради их браузера?
MTyrz
06.08.2023 09:35+1Вот у меня схожие ощущения.
Хотя надо признать, что разумных аргументов "за" это решение тут в комментах накидали.
ImagineTables Автор
06.08.2023 09:35+21Несколько лет назад я работал… по сути, тимлидом маленькой группы (компания была плоская, без иерархий, и можно было написать себе в трудовой хоть «Менеджер по связям с инопланетянами»), которая разрабатывала десктопный продукт, у которого на пике был один миллион пользователей. Конечно, 1 миллион это не 360 миллионов (примерная оценка числа пользователей FF), но всё равно очень немало. Поэтому я знаю по затронутой теме вещь или две. Мне, например, звонили среди ночи и рассказывали, как из-за одной строчки, неудачно затронувшей систему обновления, мы потеряли разом десять тысяч юзеров.
Была ли эта программа сопоставима с FF по технической сложности? Вполне. Мы, например, написали подсистему оформления (т.н. theming), дающую те же возможности, что и XUL. Только, на мой нескромный взгляд, лучше, чем XUL. Мы активно сами ей пользовались и исправляли всё, что нам не нравится. Но есть и ещё одна важная метрика — необходимость интеграции с ОС. В отличие от браузера, который хорошо изолирован, наша программа была вынуждена (по функциональным требованиям) плотно взаимодействовать с разными подсистемами виндов. Причём, такими, которые от версии к версии сильно менялись и даже полностью выбрасывались. Ничего не поделать, такие были бизнес-требования. Поэтому нам приходилось гораздо труднее, чем разработчикам Mozilla.
И что же мы делали? На тот момент роль Win 7 играла старушка XP (а последней версией виндов была «десятка»). Наши исследования показали, что 4% пользователей по каким-то своим соображениям до сих пор с неё не обновились. И мы не стали швыряться этими процентами, потому, что сорок тысяч пользователей (4% умножить на миллион) это очень много. У большинства разработчиков столько нет вообще. И если наша группа из нескольких разработчиков и двух тестировщиков это смогла, то компании типа Mozilla смогли бы и подавно. Причём, из этих разработчиков только двое (в том числе я) делали этот продукт фулл-тайм. Остальные разработчики и оба тестировщика занимались всеми продуктами компании.
Могу поделиться профессиональными секретами. В духе списка из тела статьи. В том смысле, что это выглядит как издевательство (да им и является), но такова жизнь, и добавить тут просто нечего. Секретного ингридиента не существует. Свиток дракона это зеркало. Всё зависит от вас.
-
Выберите правильную платформу. Она должна быть переносима. Она должна быть надёжна. (Вот, например, компания Valve выбрала для своего Стима ненадёжную платформу в виде CEF, и теперь вынуждена просить своих пользователей уйти с Windows 7, хочет она того или нет. А лично у меня, например, портативная DIY-консоль для игры в Heroes 5, и кроме Win 7 она ничего не потянет. Что я буду делать через 149 дней? Наверно, плакать). Лучше всего, если платформа поддерживает сменные backends, например, OpenGL и Direct3D. Тогда вы сможете всегда поддерживать все ОС, где поддерживаются соответствующие бэкенды.
-
Экранируйте с помощью #ifdef контракты (например, части интерфейсов), завязанные на функциональность, которой в соответствующих версиях ОС просто НЕТ. Если не подписываться под контрактами, которые заведомо не можешь выполнить, жизнь становится горазо легче, и это не только в программировании так.
-
Напишите хорошие вспомогательные классы для динамического (времени выполнения) вызова функциональности, зависящей от версии ОС. Это статический класс WinVersion с методами IsXP(), IsVista() и т.д. Не повредят классы, которые абстрагируют GetProcAddress(). На самом деле, вся хитрость в том, что доля такого (опирающегося на уникальные особенности разных версий ОС) кода удивительно мала. Хотя, как я уже сказал, она в нашем продукте была значительно больше, чем у типичного десктопного продукта, особеннно такого, как браузер, который by design старается полагаться на ОС как можно меньше.
-
Тестировщики должны быть няшами и писать план тестирования и автотесты. А на странице продукта (чем, кстати, не может похвастаться Мозилла) должна быть ссылка на форму отправки баг-репортов, генерирующая письмо тестировщикам. (Я очень хотел подписаться на эту рассылку, но наши тестировщики считали меня снежинкой и щадили мои чувства, боясь, что пользователи меня демотивируют их любить, и пересылали мне только письма, содержащие техническую информацию. Смешно! Все эти слова из фраз «@#$ ^&*$%^& @%#$^!» и «чтоб вас в $#%$%^$ @#$%, @##%%^& вы гады!» я ещё в детстве прочёл на заборе, а пользователей по определению можно только любить).
Если кто-то из читающих этот комментарий работает в Mozilla, приглашайте — поделюсь своим скромным опытом по проектированию, написанию и многолетней поддержке продуктов, работающих со всеми версиями Windows, а также научу любить юзеров и не закрывать глаза на фидбек.
2 ky0: спасибо.
Einherjar
06.08.2023 09:35+3Вы предлагатете делать кривую архитектуру с кучей ненужных условий превращая код в дремучее легаси и все ради того чтобы пользователи пользовались устаревшим неподдерживаемым и небезопасным софтом.
Напишите хорошие вспомогательные классы для динамического (времени выполнения) вызова функциональности, зависящей от версии ОС
Там где это можно не делать лучше этого не делать
ImagineTables Автор
06.08.2023 09:35+2Я очень извиняюсь, но эту историю я рассказал потому, что кто-то, совершенно не зная меня, тем не менее написал: «Если бы вы хоть раз участвовали в разработке десктопных программных продуктов». (Ну, ещё я воспользовался случаем и разместил частное объявление: присоединюсь к интересному десктопному проекту, рассчитанному на большое число пользователей. Не обязательно в Mozilla. Пишите в личку).
А теперь, значит, я ещё и предлагаю делать кривую архитектуру? В то время как из статьи следует, что с текущей архитектурой всё прекрасно работает?
vanxant
06.08.2023 09:35+9Кажется, вы недооцениваете уровень завязки браузера на ось. Рендеринг, аудио, видео, webgl, тот же сетевой стек - это всё идёт через ос с меняющимися со временем апи
funca
06.08.2023 09:35+6есть и ещё одна важная метрика — необходимость интеграции с ОС. В отличие от браузера, который хорошо изолирован, наша программа была вынуждена (по функциональным требованиям) плотно взаимодействовать с разными подсистемами виндов
Современный браузер это фактически операционная система: аудио, видео, ввод-вывод, сеть, память, графика (в т.ч. 3D) - что пропустил? Причем, в том же FF речь идёт о поддержке не только Windows.
Если разработка обвязана тестами, то отказ может дать существенную экономию, а на вырученные средства вы наймете ещё пару разработчиков (ну или купите себе Bentley).
ImagineTables Автор
06.08.2023 09:35+1Современный браузер это фактически операционная система
Именно потому, что браузер по возможности реализует всё сам, он значительно меньше, чем типичная программа, опирается на функционал, предоставляемый ОС. А программа, которая меньше зависит от функционала ОС, имеет меньше причин требовать конкретную версию виндов. Что мы, собственно, и видим.
dartraiden
06.08.2023 09:35+6Я тоже участвую в разработке продукта, у которого пользователей XP по данным нашей телеметрии где-то тысяч сто.
Так вот, как ни извращайся, а поддержку приходится сворачиваться даже банально потому, что используемые сторонние библиотеки не поддерживают XP. Патчить ту же TDLib в 50+ местах ради этого? Увольте.
В итоге, XP всё ещё поддерживаем, но всё больше фич идёт с пометкой "поддерживается только в Windows 7 и новее".
MTyrz
06.08.2023 09:35+4В итоге, XP всё ещё поддерживаем, но
В том и отличие вас от Мозиллы. Вы все еще поддерживаете систему, расширенная поддержка которой кончилась девять лет назад, а Мозилла прекращает поддерживать систему, расширенная поддержка которой кончилась три года назад. В 2029-м году я бы ничего против окончания поддержки семерки не имел.0xd34df00d
06.08.2023 09:35+1Я тоже своего рода участвую в разработке одного продукта…
Продукт использует Qt. Соответственно, XP не поддерживается уже сейчас (Qt 5.6/5.7 была последним поддерживающим её релизом, а в ещё более новых версиях много всяких вкусностей). Qt 6 не поддерживает семёрку. Соответственно, мне придётся либо отказаться от новых фич (а это невесело), либо патчить кути руками под старые винды (а как результат этого проверять?), либо… либо просто забить на старые версии.
Если всё это делается по фану, и я не зарабатываю ни на рекламе, ни на чём-либо таком, то почему бы мне не выбрать последний вариант?
MTyrz
06.08.2023 09:35+1Если всё это делается по фану, у вас нет ни одной причины выпускать вашу утилиту под неудобную вам систему. По фану вы вообще можете под DOS 3.30 разрабатывать, или там под Plan 9, и вам никто слова не скажет.
Хотя я уже спорю скорее по инерции, аргументов мне насыпали достаточно убедительных. Хотя (голосом капитана Смолетта) мне это все равно не нравится!
0xd34df00d
06.08.2023 09:35+1которая разрабатывала десктопный продукт, у которого на пике был один миллион пользователей
Чисто из интереса — откуда финансировался этот продукт? Напрямую деньги от пользователей, реклама, инвесторы, богатый афроамериканец из ЮАР с лишними 44 миллиардами долларов?
Выберите правильную платформу. Она должна быть переносима.
Qt — правильная платформа? А ведь Qt 5 уже не поддерживает XP, а 6 — семёрку.
Если не Qt, то предложите, пожалуйста, какой-нибудь аналог по продуктивности разработки.
Напишите хорошие вспомогательные классы для динамического (времени выполнения) вызова функциональности, зависящей от версии ОС. Это статический класс WinVersion с методами IsXP(), IsVista() и т.д. Не повредят классы, которые абстрагируют GetProcAddress(). На самом деле, вся хитрость в том, что доля такого (опирающегося на уникальные особенности разных версий ОС) кода удивительно мала.
Очень здорово, но как это всё тестировать? Количество комбинаций растёт пропорционально количеству легаси-ОС и взаимодействию этих фич друг с другом.
-
AngelNet
06.08.2023 09:35+7Любители некрософта как один мой знакомый, сидящий на win 8.1 поневоле (железо совсем тухлое и старое) могут безболезненно перекатить свой FF профиль на ESR-ветку браузера за номером 115,
И вполне легально, гарантированно еще минимум ГОД радоваться жизни, получая обновления для ESR-версии от мозиллы, при этом все будет работать и это ЕДИНСТВЕННЫЙ браузер который пока что оформил такую практику поддержки старых ОС. (официально).
anonym0use
06.08.2023 09:35-1Что если в качестве компромисного решения добавить в коде флаг, например --support-win7 и оставить специфичный для win7 код под этим флагом, а основную разработку вести без оглядки на этот код, а поддержкой пусть занимаются уже заинтересованые пользователи.
Пользователь скачивает исходники, собирает с нужным флагом, если заработало збс, нет — значит патчим, в теории можно и пул реквесты мержить, но это уже временные затраты, а флаг сделать это однократная работа.
Такой вариант был бы лучше чем — "мы вам все обрубим, дальше любитесь как хотите"
dartraiden
06.08.2023 09:35+7В инсталляторе просто есть проверка на версию ОС.
Начиная со 117 версии ещё и при компиляции в PE-заголовке указывается минимальная версия Windows. Если пользователь способен собрать себе браузер, то откатить коммит он явно сможет. Если не может, то замахиваться на сборку браузера ему рано.
Напоминает пользователя, который недавно просил видеоинструкции, как собрать нашу программу, а то ему, видите ли, непонятно, что такое "солюшн", как его открыть в Visual Studio и запустить сборку. Ну, камон, те, кому реально нужно собирать ПО из исходников, явно знают, как пользоваться компилятором.
funca
06.08.2023 09:35-3непонятно, что такое "солюшн", как его открыть в Visual Studio и запустить сборку. Ну, камон, те, кому реально нужно собирать ПО из исходников, явно знают, как пользоваться компилятором.
Вы хотели сказать знают как пользоваться какой-то там IDE? Ведь больше двух команд при сборке: make && make install - нормальные люди и не ожидают.
dartraiden
06.08.2023 09:35+3У нас софт (мультипротокольный мессенджер) чисто под винду. Конечно, можно запускать под линуксом через Wine, но это не такой софт, ради которого имеет смысл это делать, проще Pidgin установить.
vanxant
06.08.2023 09:35+3... и получим лоскутное одеяло вида эту фичу поддерживаем, эту нет, а эту никто не тестировал. Лучше уж esr, года 3 с ним ещё можно будет как-то ходит по интернетам
dartraiden
06.08.2023 09:35+6В 117 уже не прокатит, там бампнули минорную версию подсистемы в заголовке PE.
Вообще я бы посоветовал влиться в команду какого-нибудь форка Firefox и там поддерживать совместимость на уровне исходного кода, а не заниматься вознёй с бинарниками в одно лицо.
Ava256
06.08.2023 09:35+2Круто конечно что так можно сделать, но проблема ещё в том, что в самой windows 7 остается куча уязвимостей и их никто патчить не будет.В результате windows 7 становиться все более не защищенной ОС для работы в интернет.Конечно это может быть не так критично с учётом того что число активных пользователей w7 активно сокращается и наверное хакерам мало смысла ее ломать и заражать с какими-то целями.Но по статистике, при атаках и взломах, чаще всего используются уже известные, не закрытые уязвимости чем zero day. Так что, если кому-то понадобится взломать систему с w7 это будет сделать проще чем w10 с последними обновлениями.
Grey83
06.08.2023 09:35+1В результате windows 7 становиться все более не защищенной ОС для работы в интернет.
Количество уязвимостей и они сами не меняются, но при этом уязвимость увеличивается?
Я правильно понял?если кому-то понадобится взломать систему с w7 это будет сделать проще чем w10 с последними обновлениями.
10ке тоже недолго осталось:модификации Home, Pro, Pro for Workstations и Pro Education перестанут получать обновления 14 октября 2025 г.
Это ещё не считая того, что версий десяток — что блох на дворняге.khajiit
06.08.2023 09:35Количество уязвимостей и они сами не меняются, но при этом уязвимость увеличивается?
Да. Меняется количество обнаруженных уязвимостей. Это значит, что при том же количестве уязвимостей в коде — известная и пригодная к эксплуатации площадь атаки увеличивается.
Grey83
06.08.2023 09:35Меняется количество обнаруженных уязвимостей.
это если их всё ещё продолжают искать.
А для не слишком популярных ОСей это вообще может сойти на нет.khajiit
06.08.2023 09:35Вы же не думаете, что винду каждый раз полностью переписывают со сменой языка? )
Нашли для актуальной версии, а она тянется еще чуть ли не со времен NT4 — сколько раз уже такое было…Grey83
06.08.2023 09:35+2Не обязательно же, что найденные уязвимости будут существовать и в старых версиях винды.
Вполне может быть, что они появились только в 8.0, 8.1, 10 или в каком-то из множества выпусков 11-й винды.
Особенно учитывая какой болт мелкомягкие положили на тестирование после 7-ки.khajiit
06.08.2023 09:35Обратное все равно остается справедливым.
Таким образом, от тервера мы перешли к wishful thinking. Дело можно закрывать.
grumbler66rus
06.08.2023 09:35+2Одно дело существование уязвимости, и совсем другое дело вероятность её эксплуатации и, особенно, рациональность создания червя (вируса) для её эксплуатации.
Реальная история 10-летней давности: с распространением Windows 7 просто исчезли "дикие" вирусы, работающие в Windows XP, при этом даже вирусы, использующие имеющиеся в XP уязвимости не могли в ней функционировать из-за того, что были скомпилированы под Windows 7. Просто-напросто экономически бессмысленно стало создавать новые вирусы под windows XP.khajiit
06.08.2023 09:35WannaCry, Petya и иже с ними эти соображения, тем не менее, не помешало.
Они использовали уязвимость, существовавшую очень давно. Настолько, что срочно вышли патчи безопасности аж для XP.В целом подобное мышление — из разряда да кому я нужен. И ответ абсолютно тот же самый: в современном мире один лошок никому не нужен, много чести ради него заморачиваться, уже давно лохов стригут пачками.
А так как справедливый мир — всего лишь когнитивное искажение, то никто не может быть застрахован от внезапного прозрения.grumbler66rus
06.08.2023 09:35+2Гипотетически вы правы. Реальность же такова: "дикие" реализации уязвимости на XP не работали. Да-да, совсем не работали. Я специально запускал первый вариант Petya на Windows XP - ошибка и всё. А WannaCry получила и попыталась запустить знакомая бухгалтер, и ей сильно повезло, что работала она в XP.
ArkadiyMak
06.08.2023 09:35+1https://bugzilla.mozilla.org/show_bug.cgi?id=1594270
После дропа семерки они начали активно удалять все относящиеся к ней фиксы из кодовой базы.
Dook1
06.08.2023 09:35+2Какие вы наивные. Это просто активное сотрудничество с Microsoft. Бизнес и ничего личного.
PS: browser.notifications не работает
Javian
Хм. Браузер Brave тоже в этом заговоре.
encyclopedist
Несколько месяцев назад Микрософт полностью закончила расширенную корпоративную поддержку Windows 7 (стандартная поддержка закончилась много лет назад, расширенная закончилась в 2020). Поэтому сейчас многие компании избавляются от поддержки Windows7 в своих продуктах. Тем не менее доля компьютеров с Вин 7 все ещё заметная - порядка 3 процентов.
Wesha
Хе, тут ещё не все банкоматы
c Windows XP перевели,
а кто-то на Windows 7 жалуется.
Astroscope
Осторожно предположу, что практически их перевести невозможно - нет драйверов, например. Да и зачем, если все работает? Это же не домашний компьютер, который едва прикрыт лишь роутером, совсем не обязательно не дырявым.
Wesha
Вооооот!
Dr_Faksov
Я вам больше скажу, я несколько лет назад банкоматы под Windows 2000 видел.
Didimus
Они уже завершили загрузку к 2023-му году?
Это я про мучительно долгий процесс загрузки компьютера, далеко не слабого к моменту выхода вин2000
Wesha
Ну как в 2001 году завершили, так до сих пор и не перезагружались.