В наше время сложно себе представить человека, который носит смартфон с аппаратными кнопками. Всего каких-то 15 лет назад, Nokia E72 считался эталоном быстрой и удобной печати на смартфоне, однако даже он уступил место экранной клавиатуре и Swype. Я с таким положением дел не согласен и продолжаю повседневно пользоваться смартфоном с аппаратной QWERTY-клавиатурой...
Но тот гаджет, что я совершенно случайно купил в Китае за 1.500 рублей, просто перевернул моё представление о QWERTY-клавиатурах в смартфонах и о таком забытом классе устройств, как коммуникаторы. И да, он действительно выполнен в форм-факторе ноутбука!
❯ Предисловие
У смартфонов с QWERTY-клавиатурами сложилась довольно сложная судьба. Сначала они были устройствами бизнес-класса и просто имиджевыми моделями, затем они стремительно подешевели и стали главными гаджетами для общительной молодёжи, ну а в какой-то момент стало возможным купить телефон с полноценной клавиатурой менее чем за 100$.
Пик QWERTY-устройств пришелся примерно на 2008-2011 годы, когда новые гаджеты представляли чуть ли не каждую неделю. Тут тебе и легендарный бизнес-коммуникатор Nokia E71/E72 (2008/2009), и один первых производительных Android-смартфонов Motorola DROID (2009), и необычный BlackBerry 9800 (2010), сочетающий в себе вертикальный QWERTY-слайдер с большим дисплеем, и конечно легендарный миниатюрный Sony Ericsson Xperia Mini Pro (2011).
Я и сам стал фанатом телефонов с полноценными клавиатурами ещё со времён школьной скамьи. В те годы китайские ODM-производители частенько копировали дизайн моноблоков Nokia и BlackBerry, нередко даже с такими характерными фишками, как трекбол и оптический джойстик. В 2011 году один из таких «китайцев» в лице Fly Q115 достался и мне! Модель была самой бюджетной в этом классе и не умела запускать какие-либо сторонние приложения, но всё равно практически полностью покрывала нужды школяра в мультимедийном плане, а также в общении и серфинге WAP-сайтов... Именно этот маленький гаджет когда-то привил мне любовь к устройствам с полноценными клавиатурами!
К 2012 году, рынок QWERTY-устройств начал уменьшаться. Смартфоны стремительно дешевели, диагональ дисплеев росла, а емкостные тачскрины с мультитачем полностью заменили аппаратные клавиатуры. Даже такой мастодонт как BlackBerry принял решение о разработке смартфона без клавиатуры — Z10, который в конечном итоге и станет одной из причин закрытия мобильного подразделения. К 2015 году, на рынке практически не осталось QWERTY-смартфонов кроме BlackBerry и редких китайцев...
Passport когда-то продлил жизнь BlackBerry, но не смог спасти её от краха
Ну как редких? Мы ведь все знаем, что на азиатском рынке котируются совсем иные гаджеты и там, к примеру, кнопочные смартфоны вообще не выходили из моды. Раскладушки с двумя AMOLED-дисплеями и флагманским железом? Пожалуйста — Samsung W-серии и устройства от Sharp/NTT DoCoMo. Простые кнопочные моноблоки с крутыми IPS-матрицами высокого разрешения и железом среднего ценового сегмента? Miwang M2s и позже Xiaomi Qin. Об игровых смартфонах с аппаратными кнопками я уже не раз рассказывал на Хабре. Даже QWERTY-моноблоки от Unihertz — и те по заказу разработаны китайским вендором A-Gold.
Поскольку я большой фанат BlackBerry Passport, моим основным смартфоном сейчас является оригинальный Unihertz Titan. Однако я всё равно продолжаю собирать в коллекцию необычные QWERTY-устройства и исследуя китайские барахолки наткнулся на ультимативный гаджет от бренда Dion, который поверг меня в шок... Мало того что это смартфон в форм-факторе ноутбука, так ещё и с емкостным тачскрином, оптическим трекпадом и... телевизором.
Конечно я не смог устоять и купил его по весьма приятной цене в 1.500 рублей. Гаджет помог мне привезти подписчик Роман и сервис YouCanBuy, за что им огромное спасибо!
❯ Осматриваем
На первый взгляд может показаться, что смартфон в форме ноутбука это громоздко и неудобно. На самом деле это не так: Dion на практике даже несколько компактнее многих современных смартфонов и при всём этом, его толщина находится примерно на уровне бронированных гаджетов с ёмкими аккумуляторами. Единственный момент — он довольно тяжеленький и весит около 400 грамм... Но меня, как фаната Unihertz, это ничуть не смутило :)
Сама по себе концепция устройства не нова: в 2008 году, Toshiba совместно с ODM-производителем TechFaith представила весьма неоднозначный Portege G910. Модель обладала большим дисплеем с высоким по меркам тех лет разрешением, сканером отпечатков пальцев, мощным чипсетом Qualcomm MSM7200, а также внешней OLED-матрицей для уведомлений и кнопками для управления в закрытом виде.
Сорян, я практически не умею фоткать на зеркалки... поэтому в кадре видна только перхоть)
На верхней части Dion расположилась глянцевая крышка с логотипом компании, а также отдельным светодиодом для индикации уведомлений и статуса зарядки. В отличии от G910, дополнительного дисплея здесь нет, а кнопки управления звонком расположились с торцевой части устройства, причём отдельно для первой и второй сим, а также для сброса звонка. Из разъёмов здесь только MiniUSB и 3.5мм джек по бокам устройства — никаких излишеств с док-станциями!
И вот, когда мы открываем крышку гаджета — нас встречает самое главное достоинство устройства: полноценная мембранная QWERTY-клавиатура с ноутбучным ходом клавиш. Они не только тактильно ощущаются абсолютно также, как и на полноценном ноутбуке, но даже имеют схожие размеры — на первый взгляд кажется, что это идеальный гаджет для общения и системного администрирования!
Несмотря на наличие «стрелок», чуть выше клавиатуры скрывается оптический 5-позиционный трекпад, который можно ещё и нажать. По своей натуре он выполняет функции курсора, однако в системе привязан к аппаратному джойстику и предназначен для навигации по пунктам меню. Решение логичное: в те годы, некоторые Android-разработчики закладывали поддержку джойстиков/трекболлов в свои игры и приложения, но забывали о стрелках клавиатуры, да и тактильно трекпад ощущается куда лучше, чем просто тач или кнопки клавиатуры!
❯ Включаем
После включения, нас встречает вторая крутая фишка гаджета: большая и качественная TFT-матрица приличного разрешения, а также емкостной тачскрин с поддержкой мультитач. Далее мы видим рабочий стол ностальгической Android 2.2, который я лично считаю эталоном мобильного UX. Лаунчер немного адаптирован под необычный форм-фактор устройства, однако во всём остальном это обычный чистый AOSP, но почему-то с предустановленным Play Market.
На первый взгляд система работает довольно шустро, однако в сети информации о Dion нет даже в поисковике Baidu, поэтому узнавать характеристики гаджета мы будем прямо на самом устройстве. Устанавливаем эмулятор терминала и в путь... Ой, а ведь здесь root есть прямо из коробки. Как неожиданно и приятно (для гика)!
Изучив служебные файлы в директории /proc/, я узнал что Dion работает на редчайшем процессоре Marvell XScale PXA930 с одним ядром собственной микроархитектуры Marvell Sheeva, работающим на частоте 0.8-1ГГц в паре с модемом собственной разработки. О PXA930 очень мало информации в сети, известно лишь то, что процессоры этой линейки использовались в смартфонах BlackBerry 9-ой серии. В отличии от систем на кристалле MediaTek MT65xx, TI OMAP и ST-Ericsson NovaThor, Marvell использовала не типичное ядро Cortex A, а своё собственное, которое является ближайшим потомком таких легендарных процессоров, как Intel PXA27x и Intel StrongARM SA-1100!
Пусть всё же и троюродные, но всё же братья с HTC Universal!
Как вы могли заметить, производные от XScale ядра поддерживают лишь набор инструкций ARMv5, что сильно ограничивает набор поддерживаемых гаджетом приложений. Например сюда необходимо отдельно собирать Quake или Wolfenstein 3D, а большинство приложений, использующих нативные библиотеки вообще здесь не запустятся. Так что из игр здесь остаются только порты с J2ME-устройств и такой редкий, буквально вымирающий класс игр, как написанные на Java с использованием самопальных движков!
Года эдак до 2017, Dion был вполне неплохой машинкой для серфинга интернета. В Android 2.2 ещё использовался WebKit вместо Chromium, поэтому какая-никакая совместимость с HTML5 сайтами всё ещё оставалась, да и фронтэнд в целом был гораздо легче чем сейчас. На самом деле, главная проблема 2.2 - отсутствие поддержки TLS 1.3, что автоматически отсекает большую часть интернета в наше время. Ну, хотя-бы OpenNET загружает - нам и этого хватит!
Но даже с учетом устаревшего браузера, у гаджета находятся применения даже сейчас. Например это почти идеальный SSH-терминал, клиент для почты и в целом не самый плохой гаджет для общения в чатах с открытыми протоколами типа IRC. По моему мнению, он вполне себе выдержал проверку временем и показал себя как концептуально крутейший гаджет... которому не суждено было стать массовым.
Здесь даже есть ТВ-приемник, причем не аналогового сигнала или DVB-T2, а что-то типа DVB-S2. Предполагалось что можно было купить подписку у китайского оператора, ввести код и смотреть телевидение в любом месте. В отличии от других Android-смартфонов с телевизорами, где эфир можно было записывать, здесь такой возможности нет - DRM :)
❯ Всё ещё достоин?
Вот такой необычный гаджет сделал небольшой китайский стартап в далеком 2010 году. И ведь концепция реально крутая и очень смелая: мало того что сделали смартфон в формате субноутбука, так ещё и установили клавиатуру с ноутбучным ходом клавиш, ТВ-приёмник, а также редкий и необычный процессор от компании Marvell. Концептуально — это продолжение QTek 9000, но на практике он был даже круче!
Если вам понравилась статья и вы хотите поддержать меня копеечкой - это можно сделать с помощью формы ниже. Всем большое спасибо!
А если вам интересна тематика ремонта, моддинга и программирования для гаджетов прошлых лет — подписывайтесь на мой Telegram-канал «Клуб фанатов балдежа», куда я выкладываю бэкстейджи статей, ссылки на новые статьи и видео, а также иногда выкладываю полезные посты и щитпостю. А ролики (не всегда дублирующие статьи) можно найти на моём YouTube канале.
Как вам такой гаджет?
Важно!
Друзья! Для подготовки статей с разработкой самопальных игрушек под необычные устройства, объявляется розыск телефонов и консолей! В 2000-х годах, китайцы часто делали дешевые телефоны с игровым уклоном — обычно у них было подобие геймпада (джойстика) или хотя бы две кнопки с верхней части устройства, выполняющие функцию A/B, а также предустановлены эмуляторы NES/Sega. Фишка в том, что на таких телефонах можно выполнять нативный код и портировать на них новые эмуляторы, чем я и хочу заняться и написать об этом подробную статью и записать видео! Если у вас есть телефон подобного формата и вы готовы его задонатить или продать, пожалуйста напишите мне в Telegram (@monobogdan) или в комментарии. Также интересуют смартфоны-консоли на Android (на рынке РФ точно была Func Much-01), там будет контент чуточку другого формата :)
Кроме того, я ищу подделки на брендовые смартфоны 2009-2015 года выпуска. Многие из них работают на весьма интересном железе и об их моддинге я бы мог сделать интересный контент. Особо разыскиваются подделки Apple iPhone и HTC (по типу HD2 и Touch Diamond 2)на Windows Mobile и Android, а также Samsung Galaxy. Также представляют моддерский интерес первые смартфоны Xiaomi из серии Mi, Meizu (ещё на Exynos) и телефоны Motorola на Linux (например, EM30, RAZR V8, ROKR Z6, ROKR E2, ROKR E6, ZINE ZN5, о которых я хотел бы подготовить отдельные статью и видео, поскольку они работали на очень мощных для своих лет процессорах, поддавались серьезному моддингу и были способны запустить даже Quake.
Большое спасибо читателям и зрителям за подгоны, без вас контент бы не выходил!
На фото - предок Cosmo Communicator, малотиражный гаджет для рынка Азии. Android 2.2 и редкий процессор Marvell PXA.
Интересен тем, что кверти клавиатура у него с ноутбучным ходом кнопок и размерами субноутбука. При всем этом, с него можно звонить, аж с двух симок и смотреть аналоговое ТВ!
А вот такой он по сравнению с китайским кнопочным 15 Pro Max на Андроиде и здоровым VAIO.
Пожалуй, все мы с вами любим диковинные гаджеты из 2000-х годов, когда производители всё ещё пытались удивить пользователя некой изюминкой. Таким необычным устройством был и предок современных планшетов — MID SmartQ V7, где за цену в 150$, производитель предлагал неплохое железо, приятный дисплей и целых три предустановленных операционных системы!
Что было «под капотом» у первых планшетов и что умел «дедушка» современного iPad с Android, Ubuntu и Windows CE «на борту» — читайте в сегодняшней подробной статье!
❯ Предыстория
Планшеты — достаточно интересный класс устройств, который за всё время существования пережил недоступность, подъём и даже в какой-то степени забвение. Их история началась ещё в конце 80-х годов с выходом GRiDPad 1900, который представлял из себя небольшой x86-компьютер с полноценным HDD, резистивным тачскрином и MS-DOS на борту:
Планшет хоть и был популярен в узких кругах, но до массового рынка ему было ещё далеко — стоимость в 3 750$ была по карману далеко не каждому заинтересованному пользователю. Однако в 90-х годах концепция планшетов и приближенных к ним устройств только развивалась. Сначала вышел Apple Newton в 1993 году по цене в 990$, а в 1996 году — уже и доступный КПК Palm Pilot 1000 по 299$.
И хотя Pilot — это именно КПК, чаще всего их использовали для тех же целей, что и современные планшеты
Но настоящий бум случился в 2005 году, когда Nokia на LinuxWorld Summit представила принципиально новое устройство — 770 Internet Tablet. Как становится ясно из названия, этот гаджет был предназначен для серфинга в интернете, однако благодаря Linux-дистрибутиву Maemo, он мог выполнять и другие функции обычного компьютера.
Дело в том, что в отличии от той же самой Motorola, которая использовала MontaVista Linux в своих телефонах на платформе EZX, Nokia сразу позиционировала свои гаджеты как открытые и созданные специально для гиков. После выхода устройства, Nokia опубликовала SDK для портирования существующих и разработки новых программ — благодаря чему список доступного софта постоянно расширялся и даже спустя 20 лет после релиза, коммьюнити Maemo всё ещё поддерживает их!
Знакомый форм-фактор, приемлемая цена в 350 долларов и умеренная популярность всей линейки N-таблетов заложили первый кирпичик в фундамент современных планшетов.
В 2008 году Intel представляет новое семейство энергоэффективных процессоров под названием Atom, а параллельно с ними концепцию MID — Mobile Internet Device, то есть портативных компьютеров с возможностью выхода в сеть. И вот тут-то началось!
В Китае MID очень понравилась местным производителям гаджетов и некоторые из них начали разрабатывать и выпускать самые разные, порой даже диковинные серийные устройства — нетбуки-трансформеры, нетбуки-телефоны, планшеты-слайдеры... и конечно же привычные нам планшеты без физических кнопок!
Прототип MID от Intel
К 2010 году на рынке мобильных чипсетов случился бум: новые процессоры выходили буквально каждые полгода, их функционал и производительность росли обратно пропорционально цене. Чипы ОЗУ и флэш-памяти тоже стремительно дешевели, а TN-TFT дисплеи пристойного разрешения уже стоили отнюдь не как крыло от Боинга. Воспользовавшись моментом, несколько китайских компаний представили как минимум 3 модели, которые выбрались за пределы локального рынка в Китае. Одним из таких был и герой сегодняшней статьи — SmartQ V7!
В 2010 году успех Android всё ещё не был очевиден. Некоторые производители продолжали продвигать свои платформы (например Bada), да и для Android ещё было разработано не так много полезного софта. Поэтому когда перед инженерами встал выбор операционной системы, они долго не думали... и решили установить в одно устройство целых три ОС: Android, Ubuntu и Windows CE, а для переключения между ними написали собственный загрузчик!
О SmartQ V7 я узнал в начале этого года, когда исследовал китайские барахолки. Мне даже удалось раздобыть один экземпляр к себе в коллекцию, но из-за особенностей загрузчика (о которых мы поговорим позже), я окирпичил свой экземпляр... Но затем на мои поиски этого устройства откликнулся пользователь с 4pda под ником spbplus (его канал на Дзене) и согласился безвозмездно отправить мне гаджет, за что ему огромное спасибо!
Полноразмерный USB 2.0, HDMI, разъем зарядки как у Nokia и ножка — неотъемлемые атрибуты гаджетов тех лет!
Давайте же по классике разберем наше устройство и узнаем, что здесь скрывается «под капотом»!
❯ Что внутри?
В конструктивном плане гаджет выполнен очень необычно. И дело не только в дизайне и наличию ножки, но и сборке: сразу видно, что бюджеты на разработку и производство устройства были очень сильно ограничены.
Разбирается гаджет несложно, но весьма хитро: сначала необходимо открутить 4 винта с обратной стороны корпуса и расщелкнуть фронтальную панельку. А далее начинаются основные «приколы» бюджетного инжиниринга: плата с фронтальными кнопками буквально приклеена к средней части корпуса, а к ней вручную припаяны как SMD-кнопки, так и межплатный шлейф вместе с проводами питания подсветки дисплея. При этом никто даже не заморачивался с отмывкой флюса — и так сойдет!
Из-за материала плёнки, как дисплей не вытирай — всё равно будут оставаться небольшие пылинки!
Материнская плата отделена от дисплея той самой средней частью корпуса, которая крепится на 5 винтов и две клипсы. И самое забавное то, что по материалу средняя часть напоминает первые опыты в 3D-печати: всё очень примитивно и несимметрично, из-за чего плату немного перекашивает уже с завода. Под дисплеем спрятано 3 потайных винта и при их откручивании надо быть предельно осторожным: если дисплей зайдет уголком за ушко, то есть немалый шанс случайно порвать его шлейф.
Уже виднеется обвязка процессора!
Материнская плата также вытаскивается вместе с средней частью корпуса и аккумулятором, но с этим никаких проблем уже нет: риск что-то повредить минимален. При взгляде на плату устройства сразу приходит понимание, почему этот гаджет стоил 150 долларов: максимальная интеграция всей периферии в один чип:
В качестве сердца устройства, здесь используется система на кристалле TeleChips TCC8902, которая состоит из одного ARM1176-ядра, работающего на частоте 800МГц, контроллера DDR2-памяти, видеоускорителя Mali-200 (в отличии от Mali-400, о существовании Mali-200 слышали единицы), а также периферийных контроллеров по типу USB, SPI, I2C, UART. Помимо этого, TCC8902 поддерживает вывод видео на множество разных источников, начиная от HDMI, заканчивая NTSC/PAL.
Выше процессора расположилась микросхема EEPROM-памяти AT88 производства Atmel. Что на ней хранится — мне неизвестно, вполне возможно что ID чипа или, что гораздо хуже, конфигурация NAND-контроллера (программаторы под эти чипы очень дорогие, а у меня «запорота» именно она).
Столько всего в одном маленьком чипе!
Чуть правее процессора расположилось два чипа оперативной памяти производства Samsung, объёмом по 128МБ каждый. В целом, 256МБ были стандартным объёмом ОЗУ почти для всех портативных гаджетов тех лет. Даже в первом iPad был именно такой объём оперативной памяти!
Почти на самом верху платы расположился чип NAND флэш-памяти производства всё той-же Samsung, объёмом в 2ГБ. В целом, это объём характерный для MP3-плееров и совсем неясно, как на таком чипе уживаются аж три операционные системы!
А вот у Galaxy Tab 7.0 было аж 512МБ оперативной памяти!
Слева расположился аудиокодек Wolfson WM8987G, отвечающий за вывод и запись звука, а также усилитель для стереодинамиков. Чуть ниже расположился чип M1530DM, выполняющий роль повышающего DC-DC преобразователя для подсветки дисплея, а рядом с коннектором шлейфа дисплея расположился неопознанный контроллер питания, который также выполняет функции чарджера.
В качестве дисплея используется классическая 60 pin RGB матрица. Такую можно достать с многих планшетов тех лет!
Питает весь планшет литий-ионный аккумулятор с номинальным напряжением в 3.7В, что несвойственно для планшетов тех лет. Обычно ставили две последовательно соединенные банки. Интересно то, что аккумулятор до сих пор держит заряд и не вздулся — даже спустя 15 лет после выхода планшета на рынок. Достойный результат!
Вот и весь конструктив планшета. Как известно, всё гениальное — просто. И планшет, который в отличии от конкурентов, стоил всего 150$ — это тоже своего рода достижение и шедевр технологической мысли! Ну, что у него внутри мы узнали, а как он проявлял себя на практике? Давайте включим и узнаем!
❯ Включаем...
После включения планшета, нас встречает меню загрузчика (местный аналог BIOS) аж с тремя системами на выбор. Но помимо выбора ОС, здесь есть дополнительная менюшка с настройками загрузки системы, где можно отрегулировать объём памяти для видеоускорителя (я такого вообще больше нигде не видел на мобильных устройствах).
Однако с этим загрузчиком был определенный нюанс. Дело в том, что большинство V7'ых и V5'ых, которые можно найти сейчас на вторичке, частично окирпиченные. Из-за своеобразного механизма разметки разделов, для установки обновленных версий Android, WinCE и Linux требовалось обновление загрузчика — так называемая смена с «синего» на «фиолетовый». Однако планшет никак не был защищен от даунгрейда прошивки, что превращало его в кирпич при попытке установить старый загрузчик поверх обновленного.
На втором экземпляре SmartQ V7 у меня грузился только Android, остальные две системы не работали, но подготовка флэшки с обновленными образами WinCE и Ubuntu решила проблему (и сломала Android, а в веб-архиве архив битый). Скачать образы ОС можно здесь, для установки достаточно лишь скопировать их в корень SD-карты и включить планшет с зажатой кнопкой действия.
Изначально я решил загрузиться в Ubuntu и она сюда портирована довольно неплохо. В качестве рабочего стола используется модифицированная оболочка OpenBox с пакетом дополнительного софта. Производительность системы не впечатляет, но совсем уж «лагодромом» гаджет назвать нельзя. А вот за что его можно поругать — так это за резистивный тачскрин, который с годами начал выдавать фантомные нажатия (и дело не в грязи под рамками)...
Как сюда пропатчить KDE2?
При разработке девайса, SmartQ явно оглядывалась на идейного вдохновителя — Nokia 770 Internet Tablet. Многие элементы интерфейса повторяют Maemo, но при этом, как и в прародителе, пользователь никак не ограничен в модификации своего собственного устройства. Прямо из менюшки можно открыть терминал, запатчить sources.list и накатить deb-пакеты из репозитория с помощью apt.
Но если пользователь был новичком, он мог поставить пакеты с помощью GUI-программы. Не Ubuntu Store, но тоже ничего.
По строке Hardware в ядре, мы сразу видим куда идут корни устройства — к референсной плате Telechips!
Впрочем, несмотря на явно гиковское направление данного гаджета, он вполне подходил и рядовому пользователю. Из коробки были доступны самые разные программы, включая просмотр документов (для чтения книг), текстовый редактор и медиаплеер VLC. Путём установки устройства на ножку и подключения хаба в полноценный USB 2.0-разъём, можно было получить почти полноценный самостоятельный компьютер, а если подключить его к телевизору с помощью HDMI — так вообще медиацентр с выходным разрешением в 1080p!
Для подключения к сети, в планшете есть Wi-Fi. Однако если возможности подключится к точке доступа не было, к планшету можно было подключить самый обычный 3G-модем и работал он не только в Linux, но и Android! Правда, аккумулятор в таком случае высаживался ещё быстрее!
Ну и куда-же без браузера! В качестве основного здесь используется Midori на базе движка WebKit. Но несмотря на то, что я успешно подключился к сети, мне не удалось открыть ни Linux.org.ru, ни OpenNet — сайт, который открывает даже PocketIE. К сожалению, сборок Chromium под ARMv6 в те годы не было, а FireFox будет слишком медленным, так что наш максимум — это Dillo.
Как перестать намеренно убирать TLS 1.2 — так это "безопасность", а как показывать заглушки доменов - так это хоть на IE 1.0!
Далее я загрузился во вторую из трёх доступных систем — Windows CE. И вот здесь картина была менее радужной, поскольку порт WinCE на Evaluation-board был ну очень кривым. Например, при переключении режима USB из Client в Host — планшет зависал, а тачскрин работал некорректно и откалибровать его возможности не было из-за кривой реализации драйвера (он эмулирует мышь, а не реализует стилус, как должно быть).
Но к теме Windows CE на планшетах мы обязательно с вами вернемся немного позже, ведь помимо SmartQ V7, был ещё один планшет с возможностью загрузки нескольких ОС. И имя ему — ePad Zenithink ZT-180!
❯ Заключение
Вот такая статья про интересный гаджет из далекого 2010 года у нас с вами получилась. И хотя на первый взгляд кажется, что установка сразу 3-х ОС — странное решение, однако в годы когда на рынке мобильных систем ещё не было однозначного лидера — это было логично, ведь производитель предоставлял пользователю полную свободу действий над своим устройством.
Если вы хотите поддержать блог материально, то это можно сделать используя форму ниже. всем большое спасибо!
А если вам интересна тематика ремонта, моддинга и программирования для гаджетов прошлых лет — подписывайтесь на мой Telegram-канал «Клуб фанатов балдежа», куда я выкладываю бэкстейджи статей, ссылки на новые статьи и видео, а также иногда выкладываю полезные посты и щитпостю. А ролики (не всегда дублирующие статьи) можно найти на моём YouTube канале.
Как вам SmartQ V7?
Очень важно! Разыскиваются девайсы для будущих статей!
Друзья! Я ищу подделки на брендовые смартфоны 2009-2015 года выпуска. Многие из них работают на весьма интересном железе и об их моддинге я бы мог сделать интересный контент. Особо разыскиваются подделки Apple iPhone и HTC (по типу HD2 и Touch Diamond 2)на Windows Mobile и Android, а также Samsung Galaxy. Также представляют моддерский интерес первые смартфоны Xiaomi из серии Mi, Meizu (ещё на Exynos) и телефоны Motorola на Linux (например, EM30, RAZR V8, ROKR Z6, ROKR E2, ROKR E5, ZINE ZN5, о которых я хотел бы подготовить отдельные статью и видео, поскольку они работали на очень мощных для своих лет процессорах, поддавались серьезному моддингу и были способны запустить даже Quake.
Большое спасибо читателям и зрителям за подгоны, без вас контент бы не выходил! Связаться со мной можно в тг monobogdan.
...которая работает на первых Android-смартфонах в мире, компьютерах из 90-х и даже Mac'ах! Часть 2.
Иногда у меня лежит душа просто взять и написать какую-нибудь небольшую игрушку с нуля, без использования готовых движков. В процессе разработки я ставлю перед собой интересные задачки: игра должна весить как можно меньше, работать на как можно большем числе платформ и использовать нетипичный для меня архитектурный паттерн. Недавно я начал писать ремейк классических «танчиков» и в рамках серии статей готов рассказать о всех деталях разработки трёхмерной игры с нуля в 2025 году. Если вам интересно узнать, как работают небольшие 3D-демки «под капотом» от написания фреймворка до разработки геймплея — жду вас под катом!
❯ Предисловие
Ещё в начале этого года, мне взбрело в голову проверить насколько концепция «Write once, run anywhere» правдива. Все мы знаем, что Java достаточно обширно используется в Enterprise-секторе по типу банков, Android-гаджетах в качестве языка, на котором написано около 80% системы и даже в смарт-карточках, куда входят привычные нам SIM и банковские карты.
Изначально я хотел написать игру, которая работала бы не только на самых первых Android-смартфонах в мире, но ещё и на ретро-кнопочных телефонах, и при всём этом была 3D. В течении недели, я успел написать некоторые наработки для трёхмерной гоночки с примитивной физикой на основе «линий»:
В игре был мультиреднер для M3G и MascotCapsule... не хуже игр Fishlabs :))
Но затем я понял, что лишаюсь очень многих фич языка. Дело в том, что игры для Java-телефонов писались не столько на самой «джаве», сколько на её своеобразном диалекте. В мире C/C++ такой подход принято называть «C с классами», но в случае Java - подход заключался в написании большей части логики в одном-двух классах для улучшения производительности игры. Наследование, полиморфизм и абстракции на кнопочных телефонах использовать не рекомендуется. Кроме того, версия JDK в кнопочных телефонах была на уровне 1.3 — а значит, никаких дженериков и иных полезных фишек Java.
Про разработку игр для кнопочных телефонов я писал отдельную статью. Дабы не отвлекать вас от прочтения этой, ссылку оставлю в закрепленном комментарии :)
По итогу я решил сфокусироваться на относительно свежем HTC Dream — первом серийном Android-смартфоне в мире, который вышел в далёком 2008 году с Android 1.0 на борту. В нём используется уже не JVM, а своя виртуальная машина Dalvik с собственным байткодом и версией JDK — 1.5, да и процессор здесь значительно помощнее, а следовательно и куда больше возможностей для разработки!
Поскольку игру я разрабатываю и отлаживаю на ПК, у меня также есть отдельный билд и для ретро-компьютеров с GPU из 90-х и нулевых. И в рамках статьи, мы, конечно же, сделаем с вами практические тесты!
❯ Рендер
В первой части мы с вами закончили на том, что написали основу для игры — фреймворк, который включает в себя рендерер, менеджер ресурсов на слабых ссылках, некое подобие графа сцены с компонентной системой и загрузчик уровней. Но этого всё ещё мало для 3D-игры и, что самое важное, все эти модули ещё не оптимизированы.
Например, если грузить уровень «в лоб» и на каждый кубик выделять по отдельному игровому объекту, который «рисует сам себя отдельно» — мы быстро столкнемся с тем, что количество вызовов отрисовки (DIP'ов) превысит все разумные нормы. Для уровня в 16x16 блоков это уже целых 256 DIP'ов - а вкупе с другими танчиками и UI - не менее 260-270.
Самая базовая оптимизация в таком случае — это отсечение по пирамиде видимости (Frustum culling). Концепция простая: для отрисовки всего, что мы видим с вами на экране используется три матрицы размерности 4x4: мировая (позиция и поворот объекта в мире), вида (камера, позиция из «глаз») и проекции. При перемножении, они образуют так называемую WorldViewProjection-матрицу и если каждую вершину модели умножить на эту матрицу — то мы получаем её позицию в Clip-Space (или NDC) пространстве. Далее растеризатор берёт каждые три трансформированные вершины в качестве углов треугольника и отрисовывает их в рендертаргет - в нашем случае, это экран. Именно за счёт перспективной матрицы проекции и Z-буфера, мы с вами и получаем тот самый эффект трёхмерного пространства.
Если взять произведение матрицы вида с матрицей проекции и разбить её на плоскости, соответствующие каждой стороне мира (вверх, вниз, влево, вправо, вперёд, назад) — то путём выполнения простейшей проверки можно понять — находится ли точка мирового пространства в текущей позиции камеры:
Далее проверить попадает ли наш кубик или танчик в кадр — дело техники. Есть два подхода: подсчитать Bounding-sphere для модели (радиус относительно самой нижней и самой верхней вершины), или Bounding-box. В самом простом случае, можно обойтись проверкой самой нижней и самой верхней точки Bounding-box'а, однако в некоторых случаях такой алгоритм может давать сбой — например если уткнутся в «стенку» носом в игре:
publicboolean isMeshRendererInFrustum(MeshRenderer renderer) { float x = renderer.Parent.Position.X; float y = renderer.Parent.Position.Y; float z = renderer.Parent.Position.Z; Vector min = renderer.Mesh.BoundingMin; Vector max = renderer.Mesh.BoundingMax;
Конкретно в нашем случае, такая оптимизация помогает сэкономить около 100 DIP'ов и даёт неплохой прирост FPS. На Galaxy S3 с Mali 400MP4 мы получаем стабильные 60FPS, в то время как на Xperia Play — около 30... Что-ж, этого всё равно мало, тем более для смартфона, в котором GPU — кровный брат Xenos в Xbox 360...
Нарисовать 256 кубиков для GPU, даже мобильного — не проблема, особенно если они не бьют по филлрейту. Однако на классических мобильных GPU был строгий бюджет на число DIP'ов — в идеале не более 100, иначе FPS заметно просаживается даже на примитивной геометрии. Поэтому для оптимизации можно использовать технику батчинга: объединяем все кубики с одним материалом в сцене в одну большую модель и рисуем за один вызов DIPUP:
После этого, FPS поднимается до очень приятных значений - целых 45! Однако есть и обратная сторона: эта техника очень сильно бьёт не только по памяти, но и в случае динамического батчинга (танки ведь уничтожают кубики) - по процессору. Однако можно и далее оптимизировать этот алгоритм путём разбиения батчей на сетку, чтобы отсекать невидимые группы "кубиков" :)
Следующая тема — это материалы для поверхностей, описывающие внешний вид модели на экране. В первой статье я написал базовую систему материалов, которая оборачивала в себе набор рендерстейтов и парочку текстур: Diffuse и Detail. Но мало кто помнит, что ещё до шейдеров, в FFP был довольно мощный инструмент, именуемый комбайнерами. По сути, комбайнеры — это возможность задействования сразу нескольких текстурных юнитов для смешивания двух и более текстур за один вызов отрисовки.
Пример использования комбайнеров — плавное смешивание двух текстур на ландшафте с использованием маски. Эдакая вариация техники Splat mapping
Поэтому я решил написать загрузчик для материалов, описанных в простом текстовом формате по типу ini-файлов. В секции Texture описываются используемые текстуры, которые затем подгружаются из пула ресурсов, в RenderStates — напрямую указаны поля в классе Material, а в Combiners — очень-очень примитивная вариация на тему шейдеров!
Изначально я хотел сделать чтобы материалы описывали эдакий набор инструкций как «шейдеры» в Quake 3. Однако учитывая отсутствие лямбд в Java 1.5, реализация на интерфейсах (и тем более на рефлексии) не впечатлила своей производительностью и я решил сделать «программируемыми» только сами комбайнеры. Суть простая: отдельные псевдо-шейдеры реализуют интерфейс FixedFunctionShader и в теле метода onApply применяют необходимые операции над комбайнерами. При этом строго запрещается менять стейт самого графического API кроме биндинга текстур:
Затем при вызове отрисовки модели, рендерер выполняет «инструкции» для таких комбайнеров по одному и если нужно — откатывается до простой «однотекстурной» версии (драйвер GLES на Mali-400 и VideoCore IV не поддерживает комбайнеры, несмотря на то, что спецификация требует их поддержки). Получается довольно шустро:
if(GPUClass.QualityLevel >= com.monobogdan.engine.GPUClass.QUALITY_LEVEL_NORMAL) { for (int i = 0; i < Material.COMBINER_STAGE_COUNT; i++) { // Reset combiner state glActiveTexture(GL_TEXTURE0 + i); glDisable(GL_TEXTURE_2D); }
for (int i = 0; i < material.Shaders.length; i++) { Material.ShaderInstance instance = material.Shaders[i];
glActiveTexture(GL_TEXTURE0 + i); glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBINE); glEnable(GL_TEXTURE_2D); instance.Shader.onApply(material, i, instance.Params); } } else { // Single texture fallback for very slow GPU's glActiveTexture(GL_TEXTURE0); setState(GL_TEXTURE_2D, material.Textures[0] != null); material.Textures[0].bind(); }
Наполовину кирпичный танк — видели ли вы когда-нибудь такой камуфляж? :)
Следующая тема — рендеринг текста. В более ранних статьях я обычно не парился над демками и просто рисовал текст нативными средствами системы в текстуру, а затем рисовал полноэкранный квад. Такая методика работает шустро на смартфонах, но очень тормозная на ПК и более того, такая текстура занимает слишком много VRAM! Однако чаще всего я использую так называемые битмапные шрифты, которые состоят из атласа — текстуры с «запеченными» буквами и информации о том, где какой символ в ней находится. Для генерации таких шрифтов я использую утилиту BMFont, а сам код рендеринга получается очень простым:
publicvoid drawString(BitmapFont font, Vector color, float x, float y, String str) { if(font == null) thrownew NullPointerException("font was null");
if(str == null) return;
int sz = font.Size / 2;
for(int i = 0; i < str.length(); i++) { char chr = str.charAt(i);
В целом, далее особо оптимизировать и нечего для рендерера. Инстансинга в FFP нет, шейдеров — тоже, а рендер идентичный и на Android, и на ПК. Поэтому имеем что имеем!
❯ Аллокации
Однако когда я начал отлаживать игру на смартфонах, я заметил резкие просадки кадров и абсолютно нестабильный FPS. При этом характер лагов был константный: раз в 2-3 секунды просадка в 20 кадров. Заглянув в logcat, я обнаружил что Dalvik постоянно вызывает GC (сборщик мусора) и блокирует все потоки на невероятные 16мс — даже для простейших объектов в «куче»! В зависимости от устройства, Dalvik выделяет от 8 до 32Мб памяти для каждого приложения - что очень немного!
В первой статье я рассказывал о том, что большинство объектов у меня мутабельные и предполагают аллокацию не в update/draw, а в конструкторе компонента. Это касается векторов, матриц и иных примитивных классов для различных расчетов — ведь в отличии от .NET, в Java нет Value-типов, которые можно выделить на стеке, кроме примитивов. Например, если в C# написать такой код для сложения двух векторов:
struct Vector3 { publicfloat X, Y, Z;
public Vector3(float x, float y, float z) { X = x; Y = y; Z = z; }
publicstatic Vector3 operator +(Vector3 a, Vector3 b) { returnnew Vector3(a.X + b.X, a.Y + b.y, a.Z + b.z); } }
...
Transform.Position += Velocity;
То из-за того, что Vector3 — простая структура без ссылок на управляемые объекты, которая не требует контроля от GC, рантайм .NET выделит её на стеке, а не в куче и автоматически удалит при выходе из скоупа метода, где она использовалась. Если попытаться сделать такое в Java:
public static Vector3 add(Vector3 a, Vector3 b) { returnnew Vector3(a.X + b.X, a.Y + b.y, a.Z + b.z); }
То мы получим аллокацию для каждого объекта, вызывающий этот участок кода на каждый кадр. И когда придёт время вызывать GC — он обязательно тормознет игру и вызовет огромные фризы, прямо как в Minecraft на ПК. Главный нюанс здесь в том, что Dalvik оптимизирован под минимальное потребление памяти и поэтому начинает слишком часто вызывать GC, тормозя работу игры. В смартфонах с большим объёмом ОЗУ (хотя-бы 1Гб) таких проблем уже нет.
Но как я уже и сказал выше — мои игровые объекты и компоненты написаны так, чтобы не нагружать ни GC, ни кучу, но сборщик мусора всё равно продолжает тормозить игру, а значит нужно максимально экономить аллокации. Начав профайлить код, я обнаружил что огромное число аллокаций приходится на... итераторы! Да-да, та же самая проблема, что и в примере с векторами: даже несмотря на крошечный вес в памяти, итерации в каждом кадре засоряют хип и по итогу вызывают GC. Решение: перевести все индексированные списки на классический for:
for(int i = 0; i < GameObjects.size(); i++) { GameObjects.get(i).onUpdate(); }
// Second pass for late updates for(int i = 0; i < GameObjects.size(); i++) GameObjects.get(i).onLateUpdate();
И после этого, частота вызова GC наконец-то стабилизировалась!
❯ Ввод
Отдельный вопрос — это грамотная обработка ввода. Хочется чтобы наша игра поддерживала не только клавиатуру, но и геймпады, а на смартфонах — ещё и виртуальные джойстики. Чтобы не размазывать подсистему ввода в игре на 150 источников как в Unity, есть смысл её абстрагировать на некий виртуальный геймпад с необходимыми для игры кнопками: в нашем случае это стрелки и кнопка стрельбы.
Затем необходимо замаппить физические кнопки на наш виртуальный геймпад. Для этого, на смартфонах я сделал таблицу с маппингом, которая подходит для большинства игровых гаджетов: Xperia Play, игровых консолей на Android'е из 2012-го и даже смартфонов с аппаратными QWERTY-клавиатурами. И если захочется добавить возможность переназначения кнопок — это тоже не станет проблемой!
По итогу, у нас есть унифицированное управление на ПК и смартфонах, покататься в нашей демке можно даже на легендарной Xperia Play!
Для смартфонов без аппаратной клавиатуры, виртуальный геймпад пишется буквально за 5 минут. Главное — использовать относительные нормализованные координаты для адаптивности и учитывать Aspect Ratio устройства, который может быть разным:
Пришло время протестировать то, что мы успели с вами сделать за неделю. И сегодня в тестах участвует сразу несколько машинок: Asus eeePC 4G в роли «компьютера из 90-х», Sony Ericsson Xperia Play, iPhone 4S с нюансом и Samsung Galaxy Y Pro. Все гаджеты по своему хороши, имеют разные GPU и всех их объединяет статус легендарных.
Начинаем с SE Xperia Play 2011 года выпуска, который изначально позиционировался как игровой смартфон. По сути, Xperia Play - чуточку переделанный Xperia Pro, где QWERTY-клавиатуру заменили на геймпад, при этом аппаратная платформа почти всех "сонериков" 2011 года идентичная: чипсет Qualcomm MSM8250 с ARMv7-совместимым ядром Scorpio на частоте 1ГГц и GPU Adreno 205 (ребрендинг ATI Imageon Z430, на архитектуре Xenos), 512Мб ОЗУ типа DDR1 и 512Мб флэш-памяти. С смартфонами в те годы была такая же ситуация, как и с компьютерами в начале нулевых: прогресс был слишком быстрым и уже в 2012 году, Xperia Play не тянул многие свежие игры из-за слабенького процессора и GPU! Но в нашем случае, он показывает себя неплохо и стабильно тянет рендеринг уровня и танчика в 40-45 FPS... В играх на Unity3D, Adreno 205 таким результатом похвастаться не мог.
Переходим к iPhone 4S, который, как я уже сказал, с некоторым нюансом: это китайская реплика на Android. При этом довольно интересен тот факт, что у копии очень крутая IPS-матрица почти такого же разрешения (800x480 против 960x640), как и на оригинальном айфоне. Работает "клон" на базе чипсета MediaTek MT6515 2012 года выпуска с одним ядром Cortex-A9, работающим на частоте 1ГГц и GPU PowerVR SGX531 Ultra. Также в смартфоне установлено 256Мб оперативной памяти и 256Мб постоянной - в общем, типичный бюджетник тех лет. GPU от PowerVR - главное достоинство этого смартфона в плане гейминга, наша демка спокойно выдаёт 50-60 стабильных FPS. Я считаю что это прекрасный результат.
ERTY-клавиатурой, но и очень диковинным (и родственным Raspberry Pi) процессором Broadcom BCM21553 с одним ARMv6-совместимым ядром на частоте 832МГц и крайне необычным GPU собственной разработки VideoCore IV. Дело в том, что GPU в чипсетах Broadcom выполняет роль системного монитора и по архитектуре заметно отличается от классических видеоускорителей. По сути, это DSP с очень крутым векторным сопроцессором из-за чего его отчасти можно назвать софтрендером. Однако ранние драйвера для этого GPU были очень сырыми из-за чего большинство игр выдавали артефакты или работали очень медленно. Наша игрушка - не исключение, всего лишь 20 FPS при 240x320...
Переходим к довольно необычной машинке: Asus eeePC 4G. Первые модели легендарной линейки нетбуков отличались очень низкой ценой, довольно слабым и прожорливым процессором Celeron M 353 на архитектуре Dothan (прямой поток Pentium III Tualatin) и частоте 900МГц, встроенной графикой Intel GMA900 с поддержкой пиксельных шейдеров 2.0 и довольно небольшим объёмом ОЗУ в 512Мб типа DDR2. Здесь я проводил тесты на JRE 1.7 - и получил почти 60 FPS... за вычетом того, что раз в 3-4 секунды я получаю микрофризы и нагрузку на процессор в 80%. Однако сама JRE здесь не причём: такая высокая нагрузка связана с тем, что у GPU нет аппаратного вершинного конвейера и поэтому вся трансформация геометрии происходит на процессоре. Такой вот нюанс:
❯ Заключение
Вот такая статья о разработке 3D-игры с нуля у нас с вами получилась. Прошлые статьи в этой рубрике я писал в стиле туториала, но в этой я решил рассмотреть конкретные кейсы и архитектурные решения. И может она не настолько простая и понятная, как статья про разработку «самолетиков» или Top-Down стрелялки по зомби, думаю своего читателя она точно нашла! Если вам интересно, с кодом можно ознакомиться на моём Github.
А если вам интересна тематика ремонта, моддинга и программирования для гаджетов прошлых лет — подписывайтесь на мой Telegram-канал «Клуб фанатов балдежа», куда я выкладываю бэкстейджи статей, ссылки на новые статьи и видео, а также иногда выкладываю полезные посты и щитпостю. А ролики (не всегда дублирующие статьи) можно найти на моём YouTube канале.
Что думаете о таком формате статей?
Очень важно! Разыскиваются девайсы для будущих статей!
Друзья! Для подготовки статей с разработкой самопальных игрушек под необычные устройства, объявляется розыск телефонов и консолей! В 2000-х годах, китайцы часто делали дешевые телефоны с игровым уклоном — обычно у них было подобие геймпада (джойстика) или хотя бы две кнопки с верхней части устройства, выполняющие функцию A/B, а также предустановлены эмуляторы NES/Sega. Фишка в том, что на таких телефонах можно выполнять нативный код и портировать на них новые эмуляторы, чем я и хочу заняться и написать об этом подробную статью и записать видео! Если у вас есть телефон подобного формата и вы готовы его задонатить или продать, пожалуйста напишите мне в Telegram (@monobogdan) или в комментарии. Также интересуют смартфоны-консоли на Android (на рынке РФ точно была Func Much-01), там будет контент чуточку другого формата :)
А также я ищу старые (2010-2014) подделки на брендовые смартфоны Samsung, Apple и т. п. Они зачастую работают на весьма интересных чипсетах и поддаются хорошему моддингу, парочку статей уже вышло, но у меня ещё есть идеи по их моддингу! Также может у кого-то остались самые первые смартфоны Xiaomi (серии Mi), Meizu (ещё на Exynos) или телефоны Motorola на Linux (например, EM30, RAZR V8, ROKR Z6, ROKR E2, ROKR E5, ZINE ZN5 и т. п., о них я хотел бы подготовить специальную статью и видео т. к. на самом деле они работали на очень мощных для своих лет процессорах, поддавались серьезному моддингу и были способны запустить даже Quake!). Всем большое спасибо за донаты!
@useer811, приветствуем! Если на входе предлагаем заказать карту, то может быть не задан номер для личного кабинета, либо ещё не оформили карту. Хотим во всём разобраться и помочь. Напишите нам на smm@alfabank.ru ваши ФИО, дату рождения и номер телефона, который указываете для входа, а также оставьте ссылку на свой пост. В теме укажите «Пикабу. useer811».
Ну уж нет, давайте тут. ИМХО проблема не у меня одного.
В связи с выходом из строя аппарата поменял микросимку на наносимку. Ну и поменялся сам аппарат. Соотв. после установки наносимки в новый аппарат и инсталяции приложения - ввожку номер телефона старого и получаю только предложения перечисленные в посте. В мобильный банк входа нет. Карта зарплатная, коды авторизации приходят на другой телефон.
Мои предложения к разработчикам:
сделать вход не только по номеру телефона, но и по логину/паролю от интернет банка.
Сделать менее цветастой входную заставку. А то глаза болят от вашего дизайна.
Сделать рекламу отключаемой.
посмотрите на воцап как там сделано, поучитесь у них.
Поменял аппарат, устанавливаю приложение с ttps://alfabank.ru/apps/, запускается с жуткой красно белой мельтешащей заставкой, просит ввести ном. телефона - ввожу. Предлагает скрин для новичков - взять кредит, оформить карту, слетать на чукотку на чайке. отказаться нельзя. Альтернатив - нет. Мне все это не нужно, просто нужен мобильный банк. Нет интерфейса для входа в него.
Оцените современное приложение альфа-банка.
Вобщем не приложение, а какая-то хрень. а как вы оцениваете эту поделку? По пятибальной шкале.
Я уже не говорю о том, что старое приложение срало рекламой при каждом входе и не давало её закрыть секунд 10...
ПС. Поднимите в топ, пожалуйста, тег без рейтинга поставил. Пусть им станет неуютно за такое измывательство над юзерами.
Google официально выпустила Android 16, и это обновление – не просто косметические изменения. Новая версия ОС приносит две революционные функции, которые кардинально меняют правила игры в мобильной продуктивности и общении. Давайте разберем, как именно ваша жизнь станет проще.
1. Десктопный режим: Полноценный компьютер в вашем кармане
Давно прошли те времена, когда смартфон был просто "звонилкой". Сегодня это мощный рабочий инструмент, и Android 16 выводит его возможности на новый уровень. Встречайте – полноценный оконный режим рабочего стола!
Что это значит? Теперь, подключив к смартфону монитор, клавиатуру и мышь, вы получаете опыт, сравнимый с настольным компьютером. Согласно официальному блогу Google, Android 16 позволяет:
Открывать несколько приложений в отдельных окнах.
Свободно перемещать и изменять размер этих окон на одном большом экране.
Это именно то, чего так долго ждали. Вы можете одновременно работать над документом, держать открытым браузер для поиска информации и общаться в мессенджере. Мощности современных смартфонов более чем достаточно для таких офисных задач. Для многих пользователей необходимость в отдельном ПК или ноутбуке для работы с документами и почтой теперь может полностью отпасть. Правда, такая установка по мобильности не будет отличаться от стационарного компьютера из-за необходимости в Док-станции для подключения периферии и мониторе.
2. Выбор микрофона: Ваш голос будет услышан кристально чисто
Вторая ключевая новинка решает вечную проблему онлайн-звонков – плохой звук из-за микрофона гарнитуры.
Как это работает? Android 16 предоставляет пользователям возможность гибко выбирать источник звука. Официально подтверждено, что теперь можно переключиться на использование микрофона телефона для звонков, даже если вы слушаете собеседника через наушники.
Представьте ситуацию: вы на важной конференции в Zoom или в голосовом чате Discord. Микрофоны без проводных наушников плохие, и это даже не вина производителей, а сами ограничения протокола Bluetooth по передаче данных, которые режут качество звука. С Android 16 вы просто выбираете в качестве источника записи качественный направленный микрофон своего смартфона, а звук продолжаете слушать в наушниках, ранее такой возможности выбора в Android-смартфонах не было.
Результат:
Вы отлично слышите собеседников.
Вас слышат идеально, так как микрофон телефона, как правило, гораздо лучше справляется с шумоподавлением.
Эта функция станет настоящим спасением для всех, кто активно общается онлайн, от геймеров и стримеров до удаленных сотрудников.
Android 16 – это не просто обновление. Это мощный апгрейд, который делает наши смартфоны еще более универсальными и стирает границы между мобильными и настольными устройствами. После новостей от Google о том что они разрабатывают ноутбук на Android, понятно, почему грани стираются.