Сырьё моё Статьи редакции
Шеф-редактор TJ о том, почему нам, возможно, пора забыть об играх, операционных системах и программах без багов
Современный человек постепенно привыкает жить бок о бок с «сырыми» продуктами: игры, приложения и операционные системы так часто поступают в продажу далёкими от готовности, что это становится нормой. По этому поводу шеф-редактор TJ написал колонку о том, почему изменения сложившейся ситуации в лучшую сторону ждать не стоит — нужно просто начинать мыслить по-другому.
10 ноября в продажу поступила Fallout 4 — одна из самых ожидаемых игр года. Поскольку запрет на публикацию рецензий на неё был снят только вечером 9 ноября, почти до самого релиза никто не мог с уверенностью сказать, действительно ли хорошей получится игра.
В чём никто не сомневался, так это в том, что Fallout 4 появится на прилавках магазинов «сырой» — с тысячами маленьких и больших багов, которые студия Bethesda будет исправлять ещё несколько месяцев.
И если о «мастерстве» программистов Bethesda ходят легенды, то для других разработчиков эта проблема стала особенно актуальной только в последние годы. Чего стоит только Assassin's Creed: Unity, вышедшая в прошлом ноябре.
Игры компании Ubisoft почти никогда раньше не поступали в продажу откровенно «сырыми», но Unity стала настоящей катастрофой. Даже спустя год и десятки патчей после релиза качество игры по-прежнему оставляет желать лучшего.
Assassin's Creed: Unity не только стала посмешищем для игроков и породила несколько мемов, но и ударила по репутации серии, ежегодно приносившей сотни миллионов долларов.

И речь не только о паре-тройке неудачных проектов. Счёт крупнобюджетных игр, которые недавно выходили либо очень «глючными», либо просто сломанными, идёт на десятки: Battlefield 4, «Ведьмак 3», переиздание серии Halo на Xbox One, ПК-версия Batman: Arkham Knight, которую из-за неработоспособности пришлось снять с продажи на полгода — список можно продолжать очень долго.
Проблема распространилась и на другие крупные софтверные релизы. В особенности это касается операционных систем. Опытные пользователи не спешат обновляться на Windows 10, потому что помнят, что переходить на новые продукты Microsoft не стоит хотя бы «до первого сервис-пака» — нервы дороже.
Но то, что привычно для пользователей Microsoft, всё ещё удивляет пользователей Apple. Три последние версии iOS по стандартам, которые сама же компания и задала, были просто кошмарными. После покупки iPhone 6s я почти сразу перешёл на бета-версию iOS 9.1.
Тем, что компания называла релизной версией iOS 9, пользоваться было почти невозможно — странные зависания, «глюки» анимации, подозрительные перезагрузки.
Примерно таким же неудачным оказался запуск Apple Music — жалобы о том, что сервис ведёт себя странно, удаляет плей-листы и иногда спонтанно не даёт послушать некоторые песни, до сих пор появляются в сети тут и там. Даже Apple Watch, на которые компания сделала большую ставку и потратила беспрецедентные рекламные бюджеты, до релиза watchOS 2 представляли собой скорее бета-версию будущего устройства.
Так что же происходит? Почему разработчики проектов с многомиллионными бюджетами и самая богатая компания в мире не могут довести свои продукты до состояния готовности?
Кому-то может показаться, что ответ на эти вопросы очевиден. «Зажрались», «обленились», «и так купят». Но в действительности проблема носит скорее философский характер.
Разработка любого программного продукта — будь то новая Assassin's Creed или новая iOS — это непрерывный процесс. Если бы стоящие за ними люди пытались выловить абсолютно все баги, их работа бы никогда не увидела свет. Поэтому существуют заранее оговоренные дедлайны и даты релиза.
Полировка не может быть бесконечной просто потому, что рабочее время сотрудников и аренда офисов стоит денег, и на определённом этапе вычищать баги становится бессмысленным с коммерческой точки зрения. Издатель даёт понять разработчикам, что пора переходить от отладки к продажам.
Поэтому совершенный программный продукт, особенно если речь идёт о крупномасштабном проекте — это миф, сферический конь в вакууме.
В последние годы ситуация усугубилась потому, что игры после выхода консолей нового поколения стали намного больше и сложнее. То же самое касается и iOS: в погоне за конкурентами Apple начала добавлять в неё новые функции с такой скоростью, что ежегодный стабильный осенний релиз перестал быть возможным.
Заметно повлияло на ситуацию и само развитие интернета. Если разработчики игры для ныне раритетной PlayStation One допускали ошибку, она оставалась на диске навсегда. Невозможность выпускать патчи вынуждала программистов доводить свои продукты почти до полного совершенства. Сегодня же никого не удивляет, что игра в день релиза получает сразу два патча объёмом в несколько гигабайт.
Повышенная сложность программных продуктов и развитие интернета сделали само понятие «релиза игры» или «релиза операционной системы» размытым. Теперь релиз — это не момент, когда проект готов, а момент, когда количество багов в нём становится достаточно небольшим для того, чтобы за продукт можно было начинать просить деньги.
В этой точке остаётся только лишь тяжело вздохнуть и признать, что нам пора просто привыкнуть жить с «сырым» ПО. А разработчикам, возможно, наконец-то устроить революцию и отказаться от формального понятия релиза — обновлять iOS постоянно, маленькими порциями, а не резкими скачками раз в год, а игры продавать с отметкой, что на их отладку могут уйти ещё недели.
Шаги в этом направлении делаются уже сейчас: Apple не просто так запустила открытое бета-тестирование iOS, да и запуск игр в формате «раннего доступа» — это новый способ открыто давать возможность покупать ещё не готовые продукты.
Спросите у любого писателя: наверняка он мечтает поправить не одну строчку в своём бестселлере. Что уж говорить о программах, которые в современном мире вынуждены постоянно находиться в движении и адаптироваться.
А потом мы не сможем отлаживать роботов и доверим это другим роботам, а они захватят мир,
Вадим Елистратов,
TJ
Рассуждения про то, что раньше трава была зеленее, а софт стабильней, они не совсем правдивы. Вот тут Пацай вспоминает, каким был первый релиз Mac OS X: http://alexmak.net/blog/2015/10/14/kp-as-mac-os-x/
У меня складывается впечатление, что сейчас технологии так глубоко проникли в нашу жизнь, стали чем-то разумеющимся, что наше к ним отношение тоже поменялось.
Раньше мы неделями качали песни по диалапу, а сейчас бесимся, что стриминг на пару секунд замораживается.
Раньше нам хватало 8 битной графики, чтобы полностью погрузится в атмосферу игры, а сейчас не хватает реализма в новом Фолауте.
И этот список бесконечен.
Субъективный велосипед
уже сейчас можно наблюдать множество фильмов, где графика остаётся недоделанной вплоть до конца проката
Предстоящий фонарь
Лукас выпускал обновления первой трилогии Звездных войн с улучшенными спецэффектами.
Фильм несколько раз переиздавался, часто с существенными изменениями — самой известной версией является Специальное издание 2004 года с обновлёнными спецэффектами и воссозданными сценами.
https://ru.wikipedia.org/wiki/Звёздные_войны._Эпизод_IV:_Новая_надежда
Славянский коктейль
Прошел игру в первую неделю багов не было, только хэирворкс нвидии отрубил и все.
Теперь релиз — это не момент, когда проект готов, а момент, когда количество багов в нём становится достаточно небольшим для того, чтобы за продукт можно было начинать просить деньги.
То есть вот эти глаза и рот в AC - это достаточно для того, чтобы просить деньги? Или может Бетмен закрытый тоже был достаточен для продажи, но пользователи чего-то охренели и не стали играть?
То же самое касается и iOS: в погоне за конкурентами Apple начала добавлять в неё новые функции с такой скоростью, что ежегодный стабильный осенний релиз перестал быть возможным.
Да ладно. Относительно 6->7 перехода, в случае 8->9 не такой уж и навороченный.
Вобщем попытка отмазать производителей не засчитывается. Просто они охренели и наоптимизировали. Перешли на плоский дизайн - сэкономили на дизайне. Оптимизировали процесс дебаггинга - пропускают баги толпами.
Если юзеры хавают эти баги и лояльность к производителю не падает критически, значит можно сэкономить на этом процессе.
Оправдание выпуска сырых версий тем, что их можно кардинально менять - тоже глупое - вспомните Вконтакте. Самые масштабные нововведения вводились и устранялись практически без единого глюка. В 2007 году соцсеть преображалась каждую неделю кардинально и никаких суперглюков не было.
Седой вентилятор
Теперь релиз — это не момент, когда проект готов, а момент, когда количество багов в нём становится достаточно небольшим для того, чтобы за продукт можно было начинать просить деньги.
10 маленьких багов из 10.
А вообще вряд ли прямо уж во мгле. Просто подход к разработке меняется, как правильно было сказано. Больше релизов, больше поклонников agilе и подобных схем, меньше время ожидания нового исправления багов.
Если раньше выпущенный косяк в игре или ОС мог быть исправлен, например, никогда (или в переиздании/следующей версии ОС), то теперь все-таки шанс на исправление косяков разработчиков в рамках одного и того же продукта значительно выше нуля.
Комментарий удален
Опытные пользователи не спешат обновляться на Windows 10, потому что помнят, что переходить на новые продукты Microsoft не стоит хотя бы «до первого сервис-пака» — нервы дороже.
«Анализируя причины отказа перехода Android-пользователей на iOS, мы решили положиться на их мнение трехлетней давности, которое звучало как "Владельцы iPhone – пидоры"».
Какие сервиспаки? О чем ты, Вадим? Одна из самых стабильных Windows.
Иркутский Валера
Шпионить надо стабильно, а то что за шпионаж с бсодами, ребутами и постоянными переустановками.
Даже Apple Watch, на которые компания сделала большую ставку и потратила беспрецедентные рекламные бюджеты, до релиза watchOS 2 представляли собой скорее бета-версию будущего устройства.
У меня watchOS 2.0.1, и это жуткое забагованное говно. Голосовой набор работает через раз, когда приходит больше количество уведомлений все начинает тормозить. У друга watchOS 1, и вроде работает получше (сам купил уже после релиза второй версии и сразу обновился).
Полный фитиль
Однако же, упоминая о продуктах Apple никто не вспомнит про OS X El Capitan, которую допилили чуть ли не до совершенства, как мне кажется.
Длинный кубок
El Capitan реально хороший! Правда в отзывах AppStore довольно много негатива, но на мой взгляд в этот раз хорошая система вышла, и единственный сильно раздражавший меня косяк - не запомниалась позиция скрола в файндере - исправили в 10.11.2. Но тут просто играет роль критичность багов. Когда OS X тормозит с этим еще как-то можно жить, но когда я на часах пытаюсь ответить на ходу, и не срабатывает диктовка, или сообщение типа отправляется, а на самом деле потом заходишь в диалог и ничего нет, это очень критичные косяки, из-за которых в очередной раз думаешь, что проще достать телефон из кармана под дождем, чем страдать вот такой херней.
Славный пёс_анон
Safari иногда подвешивает всю систему секунд на 30, потом все работает нормально. Не уверен, в чем проблема, но дико раздражает. У меня одного так?
Славный пёс_анон
Еще часто статус обновления в Apple Store неправильно показывается, например оно скачивается или устанавливается а в Apple Store только кнопка Обновить показывается.
Убитый холод
Потому что высокоуровневое говно. Люди людей в космос успешно отправляли и возвращали назад пользуясь калькулятором и логарифмической линейкой. Сделать экономичное железо и шустрый софт для часов не проблема с точки зрения инжинерии. Но долго и дорого.
А разработчикам, возможно, наконец-то устроить революцию и отказаться от формального понятия релиза — обновлять iOS постоянно, маленькими порциями, а не резкими скачками раз в год
В этом плане охуенно кстати делают Xiaomi – каждую пятницу выпускают прошивки с незначительными, но всё же обновлениями и допилами.
А вообще, мне кажется или раньше всё действительно выпускалось не таким глючным? Игры выходили более допиленными, софт работал лучше? Сейчас какую новость про запуск чего-либо не читаешь – всё с глюками и багами.
Убежденный волк
а у вас раньше телефон умел делать все то что делало тысяча устройств? раньше софт делал меньше функций, а сейчас комбайны. телефоны раньше просто звонили, а сейчас они могут тебе показать как звонит кто-то другой на другом краю планеты, а еще расчитать то что раньше решалось в несколько листов с помощью калькулятора. или сфотографировать так как твой цифровой фотик не фоткал тогда. ну или внедриться в автомобиль, а раньше он мог только помочь получить штраф за разговор за рулем.
Убежденный волк
у меня Timex и глюков нет. И они даже не отстают. И даже не спешат. Выполняют одну функцию - показывают мне время)
Asus обновляет свои зенфоны по чуть-чуть. Все навороты прошивки (приложения лончера, камеры, календаря и прочих часов/плееров) обновляются через плей маркет пару раз в месяц. В камере всякие режимы добавляются, например, и так далее.)
Сами зенфоны мне не очень нравятся, но такая политика - очень ок
Убитый холод
Продукт готов для продажи тогда, когда он работает и не падает. Обновление мелкого пакета не должно ломать систему потому что сборка должна быть протестирована. В случае факапа - автоматически откатываем пакет. В случае невозможности детектировать факап - откатываем вручную всё обновление. Например зажатием кнопки питания на 10 секунд. Такой подход покроет практически все возможные проблемы с обновлением.
Донести суть концепции легко - когда у тебя в кармане суперкомпьютер по меркам нулевх годов довольно обидно, что имея универсальное железо он окукливается в устаревший неподдерживаемый обмылок через пару лет использования в отличие от стационарных компьютеров, которые устаревают по причине недостаточной производительности.
Достаточно на самом деле реализовать этот фунционал в ОС, а дальше рынок сам решит что забить производителю на реализацию - потерять клиентов.
Убитый холод
Какие сборки в роллинг-релизах?
Пакетов.
Впрочем, тогда придётся прям на клиенстком устройстве отводить место под бекапы.
Ну если не жлобиться на микросхемы памяти в 2015 году, то тут никакой проблемы нет, сплошной маркетинг.
У меня Арч, пять лет прекрасно работает и обновляется. Единственная серьёзная проблема которую пришлось решать - слетевшие у подруги после апдейта драйвера nvidia из-за того, что вендор решил выделить legacy драйвера в отдельный пакет и выкинуть их из основного. Не думаю, что у корпорации нет ресурсов сделать всё правильно.
Давайте подумаем логически и посмотрим с нескольких сторон. Что такое баг? Это ошибка-недоработка, верно?
Со стороны разработчика не идеального:
Такс-такс, мы набрали 1 млн предзаказов и получили 100 млн %валюта%, самое время активно работать.
~проходит месяц(два, три, четыре)~
ага, бетку выкатили, соберем ка офигенный фидбек и найдем кучу багов
~бета тест проходит, выявили кучу багов, проходит еще какое то время~
ага, тестировщики еще нашли тыщу багов, круто, выпускаем последний тестовый выпуск со всеми исправлениями
~все готово, е#башим в продакшн~
Продаем еще 1 млн копий продукта и получаем еще 100 млн валюты, также видим что кто-то запиратил выпуск и собираем с форумов отзывы о том что не работает
В итоге - продукт выпущен, разработчики заработали и дорабатывают продукт
Со стороны разработчика идеального:
Такс-такс, мы же не можем продавать то что еще не разработано, верно? Надеемся только на свои деньги. Вдруг инвестора подведем и потом придется с#осать ему((99
~прошел год (предположим деньги все-же нашли)~
Наша версия недостаточна идеальна и выловился еще один баг что если вдруг выполнить алгоритм из 1000 действий, выходит слишком большая задержка, мы не можем такое продавать
~прошел еще год~
Продукт конкурента обходит нас во многом, а денег на рекламу нет, сворачиваемся
Со стороны покупателя:
Обидно, не работает так как надо, подожду апдейт, возможно именно мой транш оплатил час работы программиста который исправил все ошибки что у меня
Со стороны пирата:
Мда хорошо что не заплатил, а то одни баги, пусть сначала нормально научатся писать код а потом лезут на рынок!!!
____
К чему я это все:
За то время, что вы пользуетесь сразу после релиза каким-то продуктом, нормальные компании собирают фидбек и багрепорты, и исправляют конкретные(!) ошибки, которые они не доглядели (шутки про то что после релиза сразу баги в сторону, всякое бывает). А тот кто пытается сделать сразу идеальный продукт (а бывает утопия разве?) может никогда его и не выпустить.
Северный цветок
За то время, что вы пользуетесь сразу после релиза каким-то продуктом, нормальные компании собирают фидбек и багрепорты, и исправляют конкретные(!) ошибки, которые они не доглядели
А нормальные компании не могут всё это делать во время альфа/бета-тестирования? И к релизу выпускать более-менее годный продукт, а не хуй знает что?
Кто-то просто начал с третьего фолла. Вот фанатский патч (один из многих) ко второму. http://www.nma-fallout.com/downloads.php?do=file&id=704
fixes well over 800+ bugs left in the game since the official 1.02 patch
Про Арканум будем вспоминать?
Так и было. Но в Вампирах получилась настолько крутая атмосфера, что мне было плевать на баги. Купил тогда игру на английском, не зная толком языка, играл за Малкавиана, с огромным трудом и словарем пытался осознать, что говорит персонаж :). Но, несмотря на все, получал огромное удовольствие от игры.
А разработчикам, возможно, наконец-то устроить революцию и отказаться от формального понятия релиза — обновлять iOS постоянно, маленькими порциями, а не резкими скачками раз в год, а игры продавать с отметкой, что на их отладку могут уйти ещё недели.
Хехе, а Microsoft уже сделали эту революцию, выпустив ругаемую несколькими абзацами выше Windows 10.
Извините, может я уже старею, но я хочу покупать штуки которые работают.
Мне крайне интересна вся эта "философия" из серии хуяк-хуяк и на золото, но я уж лучше действительно буду покупать прошлые версии телефонов и программ, просто зная, что они уже оттестированы и там нет критичных багов и уязвимостей.
Армия США в этом ключе выступила: http://bgr.com/2015/06/24/windows-xp-support-us-navy-millions/
В мире и так достаточно стресса, чтобы ещё за свои деньги себе негатива наваливать на тарелку.
Кадровый кран
Я тоже не понял, что надо забыть. Баги были всегда. Просто раньше их было меньше. Но и игры были на много проще.
Прямой чувак
Лол, мы в нашем приложении широко использовали UIWindow для отображения модальных диалогов, так с выходом iOS 8 посыпались тонны багрепортов, дескать у вас диалоги повёрнуты на 90 градусов, это красиво, но неудобно. Весело было.
Удивительный томагавк_два
перечитывал ветку комментов, пытаясь понять кого ты Петуховой назвал)
Кавказский холод
наверно привык к безграмотности) ну я ж запятую не поставил. Просто Валентин Петухов (Вилса) писал, что те кто говорит, что ничего не глючит, скорее айфон приобрели год-два назад)
Иркутский Валера
Ух, там апдейтов в первый месяц релиза мегов на 200 каждый день прилетает)
Вот я и сижу на (К)Убунте ЛТС и перехожу только после пары месяцев релиза.
Прямой чувак
ЕМНИП, баг с вайфаем был из-за одного переписанного сервиса. Видимо, вернуть всё взад оказалось не такой простой задачей.
Microsoft тоже одна из самых дорогих компаний, однако мне первый месяц на десятку прилетало столько обновлений (которые, конечно же, отключить можно только через реестр), что невозможно было играть в КС. Где жалобы?
Скорей компании переходят от понятия "окончательный релиз" в сторону "обновление, обновление" и это хорошо.
Сырой продукт это такая подушка безопасности для разработчиков, а вдруг вообще все не то?...
А мы со временем получим свой более-менее стабильный продукт еще и подстроенный под нас, или мы хотим ждать годами, а потом в один день получить не совсем то, чего ждали?
Еще это убивает пиратство, теперь есть разница.
как-то так
Иркутский Валера
Пусть ранний доступ открывают.
Правоторговцы все во внимании, объясните, как там пиратство убивается?
Иркутский Валера
На Винде вон народ сидит без обновлений и репозитории никому не нужны, на ХР даже ещё сидят, а вы такой тут говорите.
Иркутский Валера
В плане игр лучше индюшки и артхаус какой искать, ААА совсем скатились.
Золотой звук
Ну есть хорошие игры. Но не всегда их легко вычленить, особенно когда игрожуры завышают оценки на этот самый трипл эй. Благо есть, пока еще не полностью заполненный купленными отзывами, Metacritic.
Ледяной единорожек88
Вообще-то всё ровно наоборот. Чем мощнее устройство, тем проще под него писать софт.
Всё просто: программы становятся сложнее, времени на разработку и тестирование отводят меньше. Сегодня никто из пользователей не готов ждать 2 года на обновление мажорной версии продукта. А тот, кто вспоминает, что на iOS 5 было хорошо, а на iOS 9 плохо, — посмотрите на разницу в количестве фич и сложности системы. Хотите стабильности? Придётся ждать дольше и платить больше. И то все баги не отловятся, потому что порой кейсы экзотические.
И да, прямо сейчас я фиксю show stopper, который не проявлялся ни у нас, ни у тестеров, но клиенту его клиенты уже сорвали телефон, вопрошая, когда же починят.
"Кому-то может показаться, что ответ на эти вопросы очевиден. «Зажрались», «обленились», «и так купят». Но в действительности проблема носит скорее философский характер"
vs
"Полировка не может быть бесконечной просто потому, что рабочее время сотрудников и аренда офисов стоит денег, и на определённом этапе вычищать баги становится бессмысленным с коммерческой точки зрения. Издатель даёт понять разработчикам, что пора переходить от отладки к продажам"
переведу: есть некая точка после которой даже минимальные продажи не отобьют бюджет, после этой точки надо отправлять на "золото" - иначе акционеры могут и уволить на хуй. это раз.
два - причина в том, что тупо есть возможность допиливать игры после релиза (это ж так сладко, доделать опосля дедлайна)
три - есть такое дело, что движки уже риальне сложные и поэтому в больших (sandbox-open-world, я думаю, что именно песочница тут определяющая) могут и тачки летать и лица проваливаться и бэтмен сквозь здание лететь, НО!
последний, сука, бэтмен - реально небольшая игра. Кроме шуток, там много красивого освещения и графен завезли, но в части взаимодействия ГГ и окружения - это небольшая игра (относительно даже ассасина и ведьмака) и на нее просто положили крупную такую издательскую писю, ибо купят.
сравните с MGSV - где невьебенное количество вариантов, ибо Кодзима в принципе славен тем, что делает ultimate-sandbox. В высшей его ипостаси.
Последнее, кроме шуток, обратите внимание, чем успешнее (продаваемей) предыдущая часть - тем больше багов в будущей.