How it’s made: этапы создания современного смартфона
Для многих телефоны, которые мы видим в магазинах или на страничках электронных витрин, — это совокупность неких параметров за определенную цену. Иногда это сдобрено ореолом бренда, иногда рекламой, а иногда той самой, приятной и соблазнительной функцией, ради которой можно потратить куда как больше запланированного бюджета. Так или иначе, это уже готовый продукт. Мы же предлагаем заглянуть «за» и показать весь путь устройства — от идеи и печатной платы до витрины. Готовы? Поехали!
С самого начала стоит сделать ремарку о том, что описанное ниже охватывает самые популярные и распространенные ситуации для рынка РФ, но оставляет место исключениям.
Наверняка многим уже знакомы принципы сотрудничества OEM и ODM, которые в различных вариациях господствуют на рынке.
ODM (англ. original design manufacturer) — производитель изделия, которое создается по его собственному оригинальному проекту, а не по лицензии.
ODM-контракт — вид сотрудничества двух компаний, при котором одна компания заказывает другой разработку и производство некоторого товара (например, техники или программного обеспечения и др.), а выпускает в продажу его потом уже под своей торговой маркой.
Таким образом, ODM-контракт отличается от OEM-контракта тем, что в первом случае заказчик размещает заказ не только на изготовление, но и на разработку изделия, а во втором — только на изготовление, а разработкой и дизайном занимается сам.
И тот, и другой немного видоизменились от своих относительно энциклопедических значений, и сейчас устройства весьма условно можно разделить на три категории:
- полностью замкнутый цикл, от печатной платы до завода в рамках материнской компании или, в крайнем случае, смежных производств для поддержания большого объема;
классический OEM, когда производство относится к сторонней для материнской компании организации;
У всех вариантов есть свои достоинства и недостатки, все они способны порадовать пользователей и бестселлером за отличную цену как Honor 4C Pro, и флагманом уровня Galaxy S7 или iPhone, и приятным телефоном начального уровня, который отлично подойдет на роль второго или даже самого первого для ребенка.
Разумеется, сроки разработки устройств из этих категорий тоже разнятся. Если в первой находятся преимущественно флагманские решения (но возможны и другие ценовые категории) со сроком от начала и до прилавка, достигающим порой 9-12 месяцев, то во второй могут быть и флагманы, и устройства среднего уровня. Разброс же сроков разработки тут тоже большой: от 4-5 месяцев до года. В последней категории играют те самые устройства, которые предлагают отличное соотношение цены-качества в начальном и среднем ценовом сегменте. Работа над ними происходит быстрее благодаря наличию «базы», на которой продукт строится.
Ввиду того, что приличный пласт работы над флагманами и большинством устройств среднего уровня проходит в красивых и секретных лабораториях, самым актуальным будет рассмотреть цикл недорогого устройства, где процесс разработки более динамичен.
Стадия 0
Спрос рождает предложение. Именно эта мысль является основополагающей для всех устройств — от флагманов до бюджетных решений. Нужно как предложить хорошую цену для покупателя вкупе с широкими возможностями аппарата, так и суметь сделать это вовремя, ведь конкуренты не дремлют.
Исходя из параметров типа желаемых сетей (3G или LTE), экрана и его разрешения, беспроводных модулей, версии Android (вряд ли в 2016 году есть смысл говорить о кнопочном телефоне), а также АКБ и сроков, когда партнер будет готов начать производство, продукт зарождается на бумаге.
Местами система дает сбой, и на свет появляются химеры со слишком большой ценой по сравнению с конкурентами или совершенно новой технологией на борту, которая остается недооцененной рынком. Так или иначе, приоритеты и сильные стороны заложены изначально в соответствии с ожиданиями рынка на определенный период.
Стадия 1
Готовятся первые образцы и, как правило, далеко не с финальным внешним видом и материалами; начинается работа над ПО и «железом». Устройству предстоит пережить тесты на прочность, падения, симуляцию длительного использования, состоящую из многократных нажатий и настоящей пытки для всех его узлов. Каждая такая итерация сопровождается выводами, исправлениями и, конечно же, новой серией издевательств.
Параллельно с этим, другие реальные устройства начинают проходить тесты там, где они планируются к продаже, для учета региональных особенностей сетей, застройки и положения спутников на небосводе (да-да, это не шутка). Цель всего этого — собрать данные для исправлений в конструкции для второй и третьей ревизии устройств в рамках работы над ним для достижения оптимальных результатов.
Работа над ПО включает в себя как общую стабильность, так и региональные особенности. Не секрет, что Россия является одним из самых сложных для производителей регионов: например, перевод интерфейса в 99% случаев более длинный по сравнению с английским, пользователи не готовы мириться с ошибками в ПО, которым в Европе просто не придали бы значения, а номера могут начинаться как с 8, так и с +7 и быть равнозначны, — словом, особенности есть, и их много. Не последними по значению являются результаты камеры или камер, работы с беспроводными аксессуарами.
Все это вкупе с настройками для операторов и рядом, казалось бы, мелочей и может оказаться решающим фактором при выборе устройства в магазине и его коммерческого успеха.
Стадия 2
На основании тестов первого этапа устройство уже обретает свои финальные формы: работа с навигацией и сетью проходит без нареканий, ПО становится стабильнее, камера снимает лучше, — половина пути в работе над ПО пройдено.
В этот момент начинается еще одна важная веха для любого устройства — прохождение испытаний для получения нотификации и сертификатов на территории РФ. Суть испытаний сводится к тому, что телефон должен соответствовать нормам по SAR, а также быть безопасным для пользователя как вместе с батареей, так и сам по себе, зарядное устройство тоже проходит тесты. И не стоит скептически относиться к словам про испытания — в РФ они вполне серьезны и суровы, так что за безопасность для владельца любого устройства с сертификатом соответствия можно не беспокоиться.
Параллельно с этим устройство отправляется на ревью в Google (мы же говорим про Android смартфон) на CTS/GTS тесты. Это автоматизированное и многоуровневое тестирование, его цель — выявлении ошибок, которые помешали бы конечному пользователю комфортно использовать сервисы Google. Здесь не пропустят и фатальные ошибки и неправильные настройки прав доступа у приложений внутри ПО, а также выявят проблемы по показателям стабильности. Ошибки, выявленные на этом этапе, являются не рекомендациями, а блокирующим фактором, и без их исправления устройству путь дальше заказан.
Единственное исключение, где все это учтено в полном объеме и сразу это представители линейки Nexus, ПО которых делается Google.
Как вы догадываетесь, ошибки выявленные на этом шаге не рекомендации, а блокирующий фактор, без которых устройству заказан путь дальше.
Стадия 3
Итак, тесты на прочность пройдены, сертификаты получены Google дает «добро», компоненты устройства зафиксированы, производство готовится к пробному запуску, а ПО почти идеально. Как правило, в этот момент с третьей итерацией устройств и начинается работа с медиа, первые тизеры. Примерно на этом этапе обычно и случаются утечки.
Наступает черед кропотливой работы над инструкциями, дизайном упаковки и ее содержимого, а также тестов обновлений для простых пользователей и подготовки сервисного обслуживания.
Конечно же, совершенству нет предела, но на данном этапе в прошивке не остается существенных проблем, или они должны быть решены к моменту начала продаж и максимально минимизированны до отсечки по финализации.
Стадия 4
Пробный запуск и анализ его результатов является еще одной вехой, ведь фактически на выходе получаются устройства, полностью эквивалентные тому, что начнет продаваться буквально через несколько недель. Таким образом, определяется дата начала массового запуска, а в ПО продолжают решаться оставшиеся спорные моменты — их пользователи получат уже с первым обновлением, которое зачастую совпадает со стартом продаж.
Финал
Произведена первая партия, которая прошла все проверки и готова к отправке и прохождению таможни. Параллельно полным ходом идет рекламная кампания, появляются первые анонсы, обзоры в медиа, а желающим купить становится доступна форма предзаказа и образцы в открытой выкладке.
После прохождения таможни по логистической цепочке те самые коробочки с заветными аппаратами попадают на склад магазина и его реальные его витрины. Но это вовсе не означает, что работа закончена и проектная документация торжественно сожжена, а работа команды напоминает картинку ниже.
Наоборот, начинается этап по сбору отзывов о ПО и самом продукте, что влияет на состав обновлений прошивки, следующие производства и даже следующие устройства.
Как видите, рынок РФ является одним из самых непростых и по ряду требований безопасности, и по уровню доработки ПО, что дает возможность выбора из множества устройств со всесторонне высокими стандартами качества независимо от ценового сегмента
Источник
DIY-фермы из смартфонов Android снова в строю
Многие задают вопрос, как использовать старые смартфоны. В самом деле, не выбрасывать же на свалку устройство с двумя-четырьмя CPU, гигабайтами оперативки, рабочими чипами NAND, модемом 4G и другой полезной электроникой. И действительно, старые гаджеты вполне могут ещё поработать и принести пользу. Например, на домашней ферме для автоматического тестирования приложений, скрапинга публично доступной информации и др.
При упоминании фермы сразу возникают мысли о ботах, мошенничестве, клик-фроде. Действительно, раньше такие фермы часто использовались для разнообразного фрода. Например, накрутки просмотров на Youtube и другой статистики, «скликивания» рекламных бюджетов.
Домашняя ферма для клик-фрода, источник
Но это не наш случай. Во-первых, клик-фермы уже неактуальны. В этой «индустрии», если её можно так называть, нет особых денег. И сами фермеры постепенно уходят из бизнеса, см. прощальное видео TheTechSlugs. Зарабатывать деньги на обмане людей — в конечном итоге всегда минус, по крайней мере для кармы. Во-вторых, есть вполне легальные, полезные варианты ферм. О них и говорим.
Профессиональный скрапинг
Скрапинг веб-сайтов — очень распространённая техника для получения нужной информации, которую вы используете в своих проектах. Для индивидуального скрапинга в личном боте можно использовать инструменты вроде Axiom (десктопное приложение и расширение Chrome), Cognifirm, Automa (расширение Chrome), Browserflow (расширение Chrome), UI.Vision RPA (расширения для Chrome, Firefox, Edge).
Они записывают любые действия в интерфейсе браузера, а затем воспроизводят их по расписанию. Это позволяет автоматизировать разнообразные задачи. Например, автоматически скрапить свежие данные с сайтов (цены на товары, курсы валют и др.), добавлять их в электронные таблицы Google Sheets, где выполняются некие расчёты, или обновлять информацию на своём сайте.
Типичные примеры:
● автоматизировать тесты
Автоматизация UI-тестирования с UI.Vision RPA
● скачать все фотографии из профиля в инстаграме (код);
● соскрапить всех программистов из LinkedIn в своих кругах (код);
Скрапинг разработчиков с Browserflow:
● собрать в таблицу результаты поиска Google Maps;
● автоматизировать рутинные действия (например, отфоловить всех, кто подписался на вас в твиттере), код;
● делать скриншоты веб-страниц и автоматически обрабатывать картинки (кроп, изменение размеров) перед публикацией, автоматически сохранять копии страниц;
● и др.
Записанные алгоритмы автоматизации можно публиковать в открытом доступе для других пользователей. Или использовать чужие алгоритмы.
Но что делать, если нужен профессиональный скрапинг? Например, скрапить сайт каждые несколько секунд, используя тысячи поисковых запросов. В таком случае с вероятностью почти 100% сайт нас заблокирует. Но есть вариант обойти блокировку с помощью мобильного прокси. Например, самодельной домашней 4G-фермы.
Прокси
Фото: Proxidize
Мобильный 4G/LTE-прокси — эффективное решение для маскировки ботов, которые делают полезную работу. Дело в том, что адресов IPv4 не хватает на всех. Поэтому интернет-провайдеры и мобильные операторы используют технику CGNAT (Carrier Grade Network Address Translation) — сотни или тысячи людей в реальности подключены по одному и тому же адресу IPv4. Если один из адресов попадёт в бан на каком-то сайте, то пострадают все пользователи на этом адресе.
Владельцы сайтов понимают, что в такой ситуации нельзя блокировать IP-адреса, на которых сидят реальные люди, поэтому ваш конкретный бот (например, для скрапинга) хорошо замаскирован.
Каждые 5 минут каждое устройство отключается от сети GSM и снова подключается, получая новый IP-адрес. В случае 4G-донглов используется софт для эмулирования Android, вроде Android-x86 на VirtualBox, Bluestacks и Android Studio Emulator. Для маскировки одновременно применяются и другие техники, такие как смена Device ID для обхода фингерпринтинга и др.
Установка DIY мобильного прокси из коммерческого набора 4G-донглов занимает считаные минуты — основное время занимает процесс установки сим-карт в донглы, — а десяток смартфонов обеспечивают канал передачи данных до 150 Мбит/с.
Автоматическое тестирование
Некоторые разработчики поднимают мобильные фермы для автоматического тестирования своих приложений на устройствах разного типа. Есть специализированные облачные сервисы, которые предлагают такую платную услугу, например, Browserstack, Sauce Labs и Zebrunner.
Подписка стоит около $150 за одно устройство в месяц. Или можно построить собственную ферму, на которой прогонять любое количество тестов — совершенно бесплатно, если не считать стоимость смартфонов.
Конечно, покрыть тестами абсолютно все модели смартфонов нереально, слишком велика фрагментация. В зависимости от бюджета, можно закупить 10 или 20 самых популярных моделей, которые все вместе покроют заметную долю рынка.
Если собирать Android-сервер на плате с сокетом LGA2011-3 с процессорами Xeon, то можно выбрать такую конфигурацию:
● Материнская плата Asus X99-A II
● Процессор Intel Xeon E5-2630
● Память 2x8GB DDR4
● SSD Intel 660p 2 ТБ
На сервер устанавливается внешняя карта USB 3.0 PCIe…
Карта USB 3.0 PCIe с четырьмя портами по 5 Гбит/с, источник
… а к этой карте подключаются USB-хабы со смартфонами.
7-портовый USB-хаб, источник
Вот другой вариант конфигурации Android-сервера. Как и автоматическое тестирование. услуги 4G-прокси для обхода блокировок тоже можно заказать у специализированных провайдеров, например, Brightdata, Packetstream или Oxylabs.
Но своя DIY-ферма имеет ряд очевидных преимуществ:
● защита своего бота от соседей по прокси, которые могут заниматься чем-то нелегальным — накрутка просмотров, боты в комментариях социальных СМИ, SQL-инъекции и тому подобное;
● экономия финансов, потому что услуги специализированных провайдеров обходятся довольно дорого, а на домашней ферме можно даже зарабатывать, предоставляя услуги коллегам;
● обход профессиональной антифродовой защиты типа DataDome, Akamai и Imperva, которые применяют самые современные техники фингерпринтинга: сканирование портов у посетителей сайта (например, сканирование портов пользователей через личный кабинет «Ростелекома»), проверка набора шрифтов, криптобиблиотек, опрос API гироскопа на смартфоне (теоретически, веб-сайт может определить, что вы сидите в туалете), запросы CSS и др.
Таким образом, домашние фермы из 4G-донглов и смартфонов снова входят в моду. Только сейчас они используются не для мошенничества, как раньше, а для полезных дел: обхода блокировок, профессионального скрапинга и автоматизации тестов.
Источник