За что Android-разработчики ненавидят Google

в 9:44, , рубрики: android, Google, Google Play, Блог компании JUG.ru Group, разработка мобильных приложений, Разработка под android

За что Android-разработчики ненавидят Google - 1

Если посмотреть на мир Android, с первого взгляда кажется, что между разработчиками приложений и Google царят мир-дружба-жвачка. Компания поддержала любовь разработчиков к Kotlin, сообщество в целом одобряет нововведения платформы, а на официальную IDE не обрушивается такой шквал критики, как в iOS-мире — чего ещё желать-то?

Но это только часть картины. В последние месяцы всё чаще обсуждались ситуации, из-за которых часть Android-разработчиков жёстко критикует компанию. Дело доходило до массового призыва «давайте давить на Google через Евросоюз и медиа, раз по-хорошему там не понимают». В чём дело и что это за ситуации, которые страшно злят одних разработчиков, но остаются незаметными для других?

Для примера переведём пост из сабреддита /r/androiddev, появившийся в сентябре:

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

У меня было только одно дурацкое приложение с картами таро, которое я сделал, чтобы попрактиковаться в размещении приложений в Google Play. Оно было бесплатным, без рекламы и внутренних платежей. Там не было ничего оскорбительного, кроме некоторых изображений на картах (люди, заколотые мечами). Оно точно не оскорбительнее десятков других приложений с картами таро.

Большинство попадавшихся мне постов об удалении аккаунта разработчика довольно удручающие. Есть ли хоть что-то, что я могу сделать, кроме как выбрать другую сферу деятельности?»

Подобные посты возникали и раньше, но в последние полгода их на Reddit было особенно много — настолько, что в этом стали видеть тенденцию. Если просуммировать претензии из них, список получается таким:

  • При борьбе с приложениями-нарушителями под раздачу по ошибке попадают ничего не нарушившие приложения и аккаунты.
  • Помимо этого, Google Play ещё и удаляет те аккаунты, которые считает «связанными с нарушителем» — так что из-за личного проекта разработчика могут пострадать аккаунты его работодателя или коллег.
  • Описания нарушений бывают невнятными, и тогда ничего не понятно: что вообще вменяется в вину, действительно ли ты виноват, как это можно исправить или оспорить.
  • А когда всё же пытаешься оспорить и подаёшь апелляцию, получаешь шаблонные отказы без проблеска живой речи. Непонятно, видел ли вообще живой человек твою апелляцию, или всё сделала автоматика. А если кто-то и видел, невозможно связаться с этим человеком и прояснить ситуацию.
  • При этом популярные приложения от крупных компаний могут рассчитывать на нормальное отношение (понятно, что если вдруг Facebook по ошибке удалят, то это будет исправлено быстро и вручную). А вот инди-разработчику без команды юристов, даже если у него миллионы установок, остаётся только биться в стену и завидовать Фейсбуку.

То есть можно долгие годы совершенствовать полезное Android-приложение и зарабатывать им на жизнь, ничего не нарушая, а потом Google внезапно и без предупреждения лишит основного источника заработка, в который вложены годы труда. А когда попробуешь восстановить справедливость, даже не станет слушать возражения, оставив общаться с роботами.

Конечно, прежде чем преисполняться праведного гнева, надо сделать поправку на то, что мы не можем проверить истинность всех заявлений разработчиков. Слова «да я ничего не нарушал» нередко можно услышать от нарушителей.

Но даже если разработчики лукавят, вряд ли они все дружно обманывают, когда говорят «в этой системе не достучаться до живого человека». А кроме того, обратимся к ещё одной истории:

«11 октября Google удалил моё приложение Always On AMOLED из Play Store из-за ошибки в их системе DMCA.

Судя по всему, компания Flipkart направила DMCA-уведомление с требованием удалить несколько клонов их приложений, и по ошибке вместе с ними удалили моё. <...> Вот эта DMCA-жалоба — как сами можете увидеть, она никак не связана с моим приложением, его даже нет в том списке приложений, которые Flipkart требует удалить.

Это явная ошибка, из-за которой удалено приложение с 7.5 миллионами установок и рейтингом 4.3. Разумеется, я попробовал связаться с Google <...> четырьмя днями позже получил стандартное (вероятно, сгенерированное ботом) сообщение «мы изучили вашу апелляцию, но по-прежнему не можем восстановить ваше приложение в магазине»».

Эта история отличается от многих других тем, что она закончилась хорошо: возникла шумиха, о ситуации написал известный сайт Android Police, в Google это заметили, и приложение было восстановлено в магазине. Повод порадоваться? Скорее повод понять, что это означает:

  1. Раз в Google признали ошибку, то тут нам не требуется верить разработчику на слово, и теперь мы знаем доподлинно: да, действительно происходят случаи, когда оказываются удалены ничего не нарушившие приложения.
  2. Раз в Google на апелляцию прислали шаблонный отказ, который позже тоже оказался ошибочным, то теперь мы знаем доподлинно: да, система апелляций действительно не работает так, как должна (похоже, что из-за чрезмерной автоматизации).

В общем, очевидно, что проблема есть. Вряд ли она очень распространённая: статистики нет, но интуитивно предположу, что с ней сталкивается заметно меньше одного процента Android-разработчиков. Однако для столкнувшихся это настолько болезненно, что ситуация всё равно выглядит нездоровой.

К тому же, хотя /r/androiddev явно читают многие гуглеры, и порой они отвечают Android-разработчикам на некоторые вопросы, возмущённые посты о Play-произволе оставались без какой-либо реакции. Картина вырисовывалась такой: компания хорошо знает о проблеме, но игнорирует её, при этом продолжая говорить на презентациях о своей большой любви к разработчикам.

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

В то же время среди других Android-разработчиков всё это вообще не становилось темой для обсуждения. Во-первых, если не сидеть на Reddit, а просто заниматься разработкой, то вполне можешь никогда не узнать о существовании проблемы. А во-вторых, если ты не инди-разработчик, а работаешь на компанию и просто пишешь код, то проблемы с её Play-аккаунтом — не твоя головная боль. В итоге возникла ситуация, когда одни Android-разработчики кипят гневом, а другие в ус не дуют.

У тех, которые кипят, апогеем стал программный пост «The Future of Android Development». Он читается прямо-таки как революционный манифест; основной посыл — «Хватит это терпеть, давайте объединимся и пойдём биться за свои права, обращайтесь в Еврокомиссию и привлекайте внимание прессы». В /r/androiddev нечасто можно увидеть пост с 200 апвоутами, а вот в этом случае число апвоутов превысило 2000 — то есть обращение очень срезонировало в сердцах.

А вскоре после этого проходил Android Dev Summit, и в нём увидели подходящую площадку для давления на Google. Компания хочет собрать в одном месте много Android-разработчиков? Вот там и призовём её к ответу, превратив мероприятие из милого уси-пуси в суровый разговор по делу. Звучали слова вроде «не давайте всяким developer advocate отвечать вам, что это дела другого отдела и их хата с краю. Developer advocate призван быть нашим сторонником внутри компании, он должен сделать всё возможное, даже вмешиваясь в работу другого отдела».

Посмотрев на такое, в Google решили сыграть на опережение, подготовиться к мероприятию и в кои-то веки высказаться. На Android Dev Summit проходила традиционная сессия вопросов и ответов Fireside Chat, и в список дающих ответы гуглеров включили ответственного за Google Play, чтобы он прокомментировал ситуацию. Можете посмотреть это сами (начиная с 41:12), а можете прочитать сокращённый перевод ниже.

— Ещё до мероприятия у сообщества возникали вопросы вроде «По каким принципам вы удаляете приложения» и «Куда мне обращаться, если моё удалено», мы тут позвали Пола, он сейчас об этом расскажет.

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

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

С Android Dev Summit прошло полтора месяца — что происходит теперь? Истории об удалении аккаунтов/приложений не прекратились, а кроме того, нашумела другая ситуация.

Ранее Google сообщил, что теперь приложениям для доступа к звонкам и SMS недостаточно согласия пользователя — нужно ещё, чтобы этот доступ был обоснован функциональностью самого приложения. Есть стандартные условия, а также можно отправить запрос «сделайте исключение для моего приложения, оно не подходит под уже описанные условия, но для него эти права требуются по таким-то причинам». Всё это в целом звучит разумно. Но на практике оказалось не так гладко.

Приложение Tasker (больше миллиона установок, оценка 4.6) призвано автоматизировать различные смартфонные задачи, поэтому запрашивает доступ к звонкам/SMS, чтобы автоматизировать работу с ними. По утверждению его создателя, он отправил запрос об исключении («вы в условиях не учли приложения-автоматизаторы, но им же это явно нужно»), а спустя 40 дней (!) получил отказ (вероятно, от живого человека, но сформулированный формальным языком и не оставляющий возможности обсудить ситуацию).

Разработчик публично возмутился: «Работа с SMS — одна из самых популярных функций в моём приложении, люди ради этого платят мне деньги, и теперь Google хочет отнять у меня заработок, а у пользователей нужную им возможность. Безопасность — это важно, но нельзя ли ради неё добавить крупное предупреждение, а не отнимать у людей то, чем они хотят пользоваться?»

Подавляющее большинство читателей оказалось на его стороне, поднялась большая шумиха. И в итоге, заметив происходящее, Google добавил в список «exceptions» пункт «task automation»: приложения-автоматизаторы официально стали считаться подходящими для того, чтобы запрашивать доступ к звонкам/SMS.

Хотя эта ситуация отличается от случайного удаления, есть много параллелей:

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

То есть схожие проблемы дают о себе знать и здесь. И даже после того, как ситуация с Tasker разрешилась, у разработчиков приложений с доступом к звонкам/SMS остались вопросы и претензии: например, недавно появился пост с заголовком «Call/SMS permissions fiasco — Google why do you hurt us so?»

Тут и вправду можно задаться вопросом «почему ты так с нами». Google — компания, которая вкладывает много ресурсов в развитие Android, в том числе и в удобство разработчиков. Когда Android Studio стала вызывать утечки памяти, её команда прямо признала проблему и пообещала предпринять меры. Почему тогда в другой ситуации, когда некоторым разработчикам ещё хуже (AS хотя бы перезапустить можно), компания не спешит менять ситуацию и делает вид, что проблемы нет?

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

Но есть отличие в том, насколько это отсутствие вменяемой поддержки болезненно: когда речь идёт о безосновательной потере основного заработка, этот вопрос куда острее, чем «я что-то нажал и всё исчезло». Это настолько существенно, что некоторые жалуются: «Я понимаю, что поддерживать такой магазин стоит дорого, но я охотно платил бы $100 в год, как iOS-разработчики, если бы за это мне гарантировали вменяемые жалобы и хорошее рассмотрение апелляций».

Любопытно, что недавно запустился платный пользовательский сервис Google One, и в числе того, что даёт подписка, подчёркивают «Экспертов Google» — по сути, как раз человеческую поддержку.

Google, раз для пользователей вы такое сделали, можно тогда и для Google Play сделать хотя бы платную нормальную поддержку, раз уж от бесплатной столько головной боли?

Минутка рекламы. Мы в курсе страстей, бурлящих в мобильной разработке, потому что проводим конференцию Mobius. Но сама она не про страсти, там вместо этого суровые технические доклады с кодом и конкретикой (можете убедиться по видеозаписям на YouTube). Если для вас это звучит интересно, обратите внимание: ближайший Mobius пройдёт в Петербурге 22-23 мая, билеты уже в продаже, и с 1 января они подорожают.

Автор: Евгений Трифонов

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js