TV Box или Smart TV?

image

Приветствую вас, хабровчане!

Накануне выходных и в связи с наступлением серых, осенних будней – мы поговорим про увеселительные гаджеты. Речь пойдёт о том, что же лучше – TV Box или Smart TV?
Для кого-то ответ очевиден, а кто-то только подумывает – какой же выбрать TV Box себе/маме/бабушке.

В статье мы поговорим о противостоянии и популярности определённых моделей, удобстве использования и многом другом. Устраивайтесь поудобнее.

Вступление

С появлением телевизоров на базе Smart TV у нас на рынке (2010 – 2011), люди взглянули на обычный ТВ с другой стороны. Первые версии Smart TV были примитивные и имели скудный набор встроенного софта и тормозящую оболочку. Несмотря на это, людей привлекало расширение функционала повседневного устройства (для многих).

В 2011 году в России было продано около 0,5 млн телевизоров с поддержкой Smart TV, что составило около 21 млрд руб. в стоимостном выражении. Доля компании Samsung на данном рынке превысила 40 %, у крупнейших конкурентов Samsung — LG, Panasonic и Sony — доля рынка была заметно ниже. Стоит отметить, что темпы прироста рынка Smart TV в 2011 году более чем в 6 раз превысили аналогичный показатель рынка традиционных телевизоров.

Не успев набрать обороты, ушлые китайцы «выкатили убийцу» Smart TV – первые USB-свистки на базе Андроид. Тут и началось самое интересное, о чём мы поговорим далее.

Smart TV

image

Smart TV — технология интеграции интернета и цифровых интерактивных сервисов в современные телевизоры. Устройства, поддерживающие Smart TV, преимущественно нацелены на поддержку развлекательных медиа в Интернете: дают возможность просматривать фильмы, мультфильмы и сериалы, исключая, наконец, потребность в обычном телевидении. Появление этой технологии спровоцировало всплеск в среде разработчиков интерактивных приложений.

Это так красиво говорит нам «вики». На самом деле, Smart TV – это тормозящее нечто, с кучей рекламы, отвратительной поддержкой и скудным набором полезных приложений. Со временем, этот «Франкенштейн» эволюционировал и, к 2020 году, можно назвать сносной работу Smart TV. Правда, даже с появлением телевизоров на базе Андроид ОС в качестве встроенной – это не даёт того функционала и свободы, как в TV Box на том же Андроид.

Телевизоры с Android TV на борту – это своего рода переходная ступень к TV Box потому, что вы уже понимаете преимущества, но вас ещё сковывают разные «костыли». Сложность установки сторонних приложений, скорость работы – все эти болячки остались. Несомненно, шустрее, но не так, как бы хотелось.

А мы перейдём к более прогрессивному изобретению – TV Box

TV Box

image

В 2013 году стали появляться первые USB-свистки на базе Андроид. С увеличением мощности, форм-фактор изменился на коробочный. Отсюда и название – Box.

Поскольку первые версии были для гиков, и обыденному пользователю далеки, такой массовой популярности на старте не было, как у Smart TV

Со временем, умелые китайцы завалили рынок Андроид приставками. Выбор был огромен и, к 2015 – 2016 годам уже приходилось напрячься, чтобы выбрать что-то из той массы моделей.
Если брать сегодняшние реалии TV Box, то всё куда успешнее, чем у Smart TV

Многие модели уже стали народными. Как и в любой нише, тут есть свои ценовые диапазоны. Совсем скромные решения, для просмотра мультимедиа в формате FHD, стоят порядка 20-30$ (тот же X96 mini). Хороший середняк — вам обойдётся в 60-100$ (например, Ugoos x3 pro). Топовую нишу среди TV Box занимает один представитель – это Nvidia Shield. Рекомендуемые приставки в дешёвом и среднем сегменте, имею в пользовании.

Тёще и маме, еще года 2 тому, я купил X96 mini с 2ГБ RAM на борту. Со своими задачами Box справляется отлично. За 2 года ни одной жалобы от родственников. Единственный минус этого малыша – слабый сигнал wi-fi. В моём случае, подключение по ethernet. Для просмотра FHD контента – самое то!

Себе в этом году купил Ugoos X3 Pro (на замену Dune 101). Покупал в местном магазине, поэтому обошлось дороже, чем с aliexpress. Данная приставка является одной из лучших в своём ценовом диапазоне. С ней еще конкурирует Xiaomi Mi Box.

Производительности для потребления медиаконтента предостаточно. Видео в 4к не смотрю (брал на вырост), хотя приставка поддерживает и воспроизводит с лёгкостью. Поддержка разработчика отличная. Обновления приходят регулярно. В игры на ней не играю, но ту же Call of Duty mobile тянет на минимальных настройках.

Если говорить про лидера, Nvidia Shield, стоит учесть один важный момент – это её цена. Стоимость той же NVIDIA SHIELD TV 2019 PRO – порядка 300$ За такие деньги, стоит дважды подумать, а надо ли. Несомненно, вы получаете топовое решение на Андроид, но ради чего? Воспроизвести 4к контент смогут приставки среднего ценового диапазона, а покупать приставку ради игр на Андроиде – такое себе решение. За эти деньги можно купить на вторичном рынке полноценную игровую консоль.

Для пользователей экосистемы Apple, выбор невелик – Apple TV

Вы всё еще сомневаетесь? Тогда мы идём к вам!

Я знаю что, несмотря на 2020 год, многие и в руках не держали TV Box или имеют/не имеют телевизор без/со Smart TV

Давайте сразу исключим тех, кто «не смотрит телевизор». У многих понимание просмотра ТВ – это эфирные каналы. Телевизор использует подавляющее большинство в различных целях (каналы, монитор, гейминг и т.п.). Так что, фраза: «я не смотрю ТВ» — уже не мейнстрим.

Среди моих знакомых, кто не имеет TV Box, но смотрит телевизор – это люди, далёкие от технологий. Им сложно зарегистрировать gmail-ящик и подвязать его как учётку в смартфоне, куда там приставка. Им легче черепашьей скоростью скроллить Smart TV (сейчас ещё попробуй, купи годный телевизор БЕЗ этой заразы) и смотреть платные сервисы.

Всех родственников я перевёл на TV Box, чему они очень довольны. Приставка оживила пару древних телевизоров, которые о таком, и мечтать не могли.

У всех остальных знакомых, кто пользуется телевизором – приставки. Преобладает средний ценовой сегмент. Смысла брать совсем слабые устройства, сейчас нет. Середнячки на Amlogic и с 2-4 ГБ RAM — прослужат ещё пару лет.

Вывод

Думаю, ответ очевиден. Покупка TV Box решает много задач и добавляет комфорта, к которому мы очень привыкли в современной жизни. Кто бы и что не говорил, а подавляющее большинство – пользуется этими большими прямоугольниками (ТВ). Не задумывайтесь и выбирайте телевизор по качеству матрицы, а не наличию и версии Smart TV, докупив TV Box

Всем добра и хороших выходных!


На правах рекламы

Эпичные серверы — это виртуальные серверы с мощными процессорами семейства AMD EPYC и быстрым дисковым хранилищем на основе NVMe дисков Intel. Каждый может создать тариф под себя!

ссылка на оригинал статьи https://habr.com/ru/company/vdsina/blog/529146/

Издательство Питер. Черная пятница 2020

image

Привет, Хаброжители! Пришло время Черной пятницы. Подробности внутри.

image


В хронологическом порядке представлены книги, вызвавшие интерес читателей за последние 3 мес.

Отдельные категории на сайте — Бестселлеры O’Reilly, Head First O’Reilly, Manning, No Starch Press, Packt Publishing, Классика Computer Science, программирование для детей, научно-популярная серия New Science.

Книги по бизнесу, психологии, детский ассортимент.

Условия акции: 27 ноября—06 декабря, скидка 40% на все бумажные книги по купону — Бумажная книга, скидка 50% на все электронные книги по купону — Электронная книга

ссылка на оригинал статьи https://habr.com/ru/company/piter/blog/530190/

Русская орбитальная станция. Что может быть

Вячеслав Ермолин, 27 ноября 2020 года.

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

Инфографика. Варианты развития российской ОС.
Инфографика. Варианты развития российской ОС.

Инфографика. В высоком разрешение.

Несколько тезисов, которые для меня очевидны:

— Российская пилотируемая программа должна быть в будущем;

— Пилотируемая программа будет опираться на полеты на НОО;

— Для продолжения пилотируемых полетов наличие орбитальной станции необходимо;

— Орбитальная станция должна быть национальной, т.е. под управлением России. Международное сотрудничество при этом должно продолжаться.

Это следует из логики развития космической деятельности и мировых трендов, один из которых предполагает рост пилотируемых полетов и расширению стран умеющих и желающих запускать людей в космос. А также попытки создания новых рынков (коммерция) в космической сфере.

Совсем не факт, что подобный сценарий (продолжение пилотируемых полетов) реализуется в реальности. Могут сработать негативные факторы. Как объективного, так и субъективного характера. Например, на космические исследования элементарно не будут денег (экономическая деградация страны). Или у Кремля не будет никакого желания заниматься этой деятельностью (приоритеты власти). В негативных сценариях пилотируемая деятельность может продолжиться, в качестве партнерских или подчиненных отношений с другими участниками (услуги извоза и т.д.).

По вариантам (инфографика):

«Тупик». МКС. Продолжение работы на МКС до её естественного конца — сведения с орбиты и закрытие этого международного проекта. К 2030 году. За это время к МКС будет запущен модуль «Наука» и модуль «Причал» (они готовы) и возможно модуль «НЭМ» — научно-энергетический модуль. Полеты двух пилотируемых кораблей и до четырех грузовых в год. Возможно несколько дополнительных с туристами. Это инерционный сценарий, продолжение существующего с использованием уже изготовленного. Расширение научных и технологических работ и увеличение численности постоянного российского экипажа до 3 человек. После окончания МКС строительство либо своей ОС, либо участие в международном сотрудничестве. Этот вариант наиболее ожидаем в околокосмической тусовке.

«Выживание». 

РОС — Российская Орбитальная Станция. Завершение строительства российского сегмента МКС. Модули «Наука», «Причал» и «НЭМ». После 2026 года отделение части российского сегмента от МКС и строительство собственной ОС на базе новых модулей из состава МКС и вновь построенных (на архитектуре НЭМ). Орбита наклонением 51,6 градусов. Возможно участие (если возникнут условия) в строительстве новой международной ОС — МКС-2. Этот вариант неоднократно озвучивался в прессе от менеджмента Роскосмоса и выглядит как наиболее вероятный.

«Развитие». 

РОСС — Российская Орбитальная Сервисная Станция. Строительство полностью независимой национальной ОС. Высокоширотной, (орбита на 70 градусов) для работы по национальной территории. Отказ от достройки МКС и использование существующих модулей «Наука» и «Причал» для начала строительства собственной ОС. Строительство и выведение двух базовых модулей — НЭМ и шлюзового модуля. Постепенное расширение ОС универсальными модулями (на базе архитектуры НЭМ). Это могут быть коммерческие (для туристов), производственные (если возникнет запрос), складские и прочие модули. Смена основного назначения ОС с научно-технологического на сервисно-технологический. Специальная платформа для обслуживания космических аппаратов орбитального и межпланетного назначения. Возможет вариант без постоянного присутствия экипажа.

«Два проекта». 

МКС + РОСС. Комбинация первого и четвертого варианта из инфографики. Достройка МКС в минимальном варианте с одновременным строительством собственной МКС на новых модулях без использования российского сегмента МКС. Умозрительный вариант при наличии денег, мотивации и адекватной промышленности, способной все это сделать в намеченные сроки (потребуется увеличенное количество запусков пилотируемых и грузовых кораблей).

P.S.

Эти варианты неоднократно мелькали в открытых СМИ. В частности, РКК «Энергия», возможно, проталкивает вариант с национальной высокоширотной ОС. Из ее недр недавно был вброс о «разрушении МКС после 25-го года» и необходимости строительства собственной ОС. Думаю в ближайшие месяцы услышим много противоречивых и резких заявлений. Так как идет борьба за конфигурацию новой федеральной космической программы и деньги под нее.

Несколько иллюстраций по теме.

Прогноз пилотируемых полетов на НОО. Bryce
Прогноз пилотируемых полетов на НОО. Bryce
Китайская ОС. Строительство с 2021 года.
Китайская ОС. Строительство с 2021 года.
Американская коммерческая ОС Axiom.
Американская коммерческая ОС Axiom.

ссылка на оригинал статьи https://habr.com/ru/post/530192/

Как и почему мы стали делать UI в Figma вместо Photoshop

По моему опыту, большинство игровых интерфейсов все еще делаются в Adobe Photoshop ввиду их художественности и графической сложности, на которую не способны векторные редакторы. Однако и в игры пришел тренд плоских интерфейсов, и настало время пересесть с тяжелого Фотошопа на более простые редакторы интерфейсов, такие как Figma, Adobe XD, Sketch и прочие.

У таких инструментов есть немало преимуществ перед Фотошопом, таких как совместная работа, возможность создания интерактивного прототипа, плагины, автолейауты, варианты, и со временем их становится все больше. По этой причине интерфейсы на новых проектах лучше начинать делать сразу в таких редакторах. Но если так случилось, что ваш проект начинал вестись в Фотошопе, а затем он перестал вас устраивать, эта статья для вас.

Зачем это было нужно

В 2018 году, когда наш проект Dino Squad только стартовал, наша команда работала по такому пайплайну:

  1. Проектируем логику интерфейса и делаем черновые интерактивные прототипы в Figma;

  2. Создаем макеты в высоком разрешении в Photoshop, затем передаем их в верстку;

  3. Снова переносим картинки в растровом формате из Photoshop в Figma для создания «чистовых» прототипов, которые необходимы для презентаций и геймдизайн-документации.

Таким образом, мы перепрыгивали из одного инструмента в другой два раза: Figma → Photoshop → Figma. В какой-то момент стало очевидно, что от промежуточного шага можно избавиться. Тем более, перенос проекта полностью в Figma оказался не так трудозатратен и пугающ, как могло показаться сначала.

Было еще несколько моментов, которые, как нам казалось, ускорят работу и облегчат жизнь дизайнерам, если мы это сделаем.

Во-первых, в Photoshop не самая удобная для команды дизайнеров реализация библиотеки. Она долго синхронизируется из-за огромного веса файлов. В Figma же не нужно сохранять файлы, все изменения вносятся мгновенно, а макеты актуальны в каждый момент времени.

Во-вторых, в Photoshop слишком много функций, которые не нужны дизайнерам интерфейса. В этом плане Figma намного легковеснее и реже крашится, что сохраняет команде и время, и нервы.

Технические особенности перехода

Не для всех интерфейсов — особенно игровых — Figma подходит. Если в вашем проекте каждый элемент интерфейса — это произведение искусства, то растровые редакторы, вероятно, подойдут куда больше. Интерфейс нашей игры довольно простой: большинство элементов плоские (иконки, подложки, кнопки), и их легко реализовать в векторном формате. Поэтому весь огромный функционал Photoshop нашему проекту был не нужен.

Еще одним плюсом для нас стало то, что стилистика интерфейса и большая часть его элементов уже были готовы — не нужно было придумывать все с нуля. То есть, после переноса у нас уже будет готовый UI-kit для реализации новых фичей.

Что упростило задачу переноса

Процесс переноса окажется проще, если большая часть интерфейса будет представлена в векторном формате, так как Figma не поддерживает редактирование растровой графики.

Еще одним упрощающим переход фактором стало то, что все элементы подчинялись одной сетке. Мы выбрали не самую обычную сетку кратностью 7 (потому что могли). Во всех экранах присутствовала модульность, которую могли наследовать новые экраны, поэтому все элементы интерфейса органично вписывались и в последующие макеты.

Немалая часть элементов в проекте переиспользовалась: то есть, кнопки, подложки, бейджи и различного рода карточки на разных экранах были одинаковыми. Это уменьшило число необходимых для отрисовки элементов.

Перенос проекта из Photoshop в Figma

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

Для начала внутри проекта мы создали три файла:

  • В файле Tokens представлены все токены проекта;

  • В Library хранятся все отрисованные элементы интерфейса и ассеты;

  • В файле Screens находятся все актуальные экраны проекта.

Также отдельно мы создали проект с прототипами и проекты черновиков для каждого члена команды, подключив к ним библиотеки основного проекта.

Этап 1. Создание токенов

Начнем с базовых переменных нашей системы — токенов, таких как цвета и шрифты.

Как устроена система токенов в Figma

Фигма позволяет создавать Color Styles, Text Styles и Effects Styles. Подробнее про стили можно почитать тут.

Так как в нашем проекте уже устоялась некоторая палитра и шрифтовая схема, на первом этапе необходимо было определить все используемые в проекте цвета и шрифты и занести их в стили Figma. Теперь для использования цвета или шрифта не нужно пипеткой доставать цвет с другого элемента — достаточно выбрать необходимый из стилей.

Цвета

В нашем проекте более сотни цветов и перекрасок, поэтому цвета — одна из самых сложных частей переноса.

Для начала мы попытались собрать в один список все используемые в проекте оттенки. Мы не нашли способов автоматизировать этот процесс, поэтому просто перебирали слои в проекте Photoshop и копировали их HEX, затем создавали в Figma прямоугольник этого цвета. Таким образом мы получили некоторое множество разноцветных прямоугольников — подобие нашей будущей палитры.

Так как цвета у нас есть повсеместно используемые или же несущие определенное значение — например, цвета редкости или премиума, — то так мы и разделили их на две группы. Кроме того, в первой группе мы разделили цвета по подгруппам каждого оттенка: серые, желтые, голубые и т. д. Во второй группе цвета разделились по семантическим группам: акции, редкости, премиум-подписка, боевой пропуск и прочее.

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

Шрифты

Шрифтовая схема в проекте была более-менее систематизирована. Так как мы использовали кратную 7 сетку, размеры шрифтов тоже должны были оказаться кратными 7. Поэтому для каждого используемого начертания мы создали линейку шрифтов с шагом 7: 28, 35, 42, …, 84.

Этап 2. Загрузка ассетов и графического контента

На игровых проектах довольно много арта — растровых ассетов, являющихся частью интерфейса. Например, иконки, портреты, медали, изображения.

Иконки

Иконки — тот тип контента, который может быть использован в различном размере. Для этого мы перенесли все иконки (хайрезы или векторы) в Figma и вписали каждую во фрейм одного и того же размера с соблюдением необходимых отступов и правилам ресайза. Иконок оказалось не так много, поэтому мы обернули их в компоненты внутри одной группы. Теперь каждую иконку в любом используемом месте можно заменять другой за пару кликов.

Другие ассеты

Точно так же мы поступили и с остальными изображениями. Достаточно было вписать взаимозаменяемые ассеты во фреймы одинакового размера и обернуть в компоненты одной группы: либо сгруппировать в один фрейм, либо представить имя ассета в виде «GroupName / AssetName».

Таким образом, в библиотеке ассеты будут храниться по следующему пути: Library / Assets / GroupName / AssetName.

Этап 3. Создание библиотеки компонентов

В Figma предусмотрен функционал компонентов (а теперь еще и вариантов), поэтому каждый элемент необходимо отрисовать во всех его состояниях, обернуть в компоненты и объединить в варианты. Получив такую систему, мы сможем с легкостью переключать состояния элементов в инспекторе, а также централизованно менять этот элемент во всем проекте.

Как создать элемент:

  1. Определить иерархию элементов и их состояний;

  2. Начать с элементов в самом низу иерархии, отрисовать сперва их и все их состояния;

  3. Далее продолжить отрисовку элементов на ступень выше, используя элементы, созданные на предыдущем шаге;

  4. Действовать так до тех пор, пока не получится исходный элемент.

Теперь у нас есть базовый компонент, состояния подкомпонентов которого можно менять, чтобы получить новое состояние самого компонента. Его мы использовать в макетах не будем, поэтому скроем его для библиотеки за счет «_» в начале имени компонента:

Library / Cards / Lots / _BaseLot

Состояния элемента

Для отрисовки одного состояния мы берем базовый компонент, модифицируем элементы в нем под выбранное состояние, корректно именуем и оборачиваем в компонент. В библиотеке полученные состояния будут храниться в таком виде:

Library / Cards / Lots / LotHeart
Library / Cards / Lots / LotLeaf
Library / Cards / Lots / LotDrop

Как работать с состояниями элемента в проекте

Можно оставить состояния переключаемыми компонентами, как мы это делали до появления функции вариантов в Figma, и переключать их в инспекторе.

А можно объединить компоненты разных состояний в варианты и переключать в инспекторе разные состояния исходного компонента уже по свойствам.

Важное замечание

В Photoshop у нас был следующий паттерн хранения состояний элемента: все элементы хранились группами друг под другом скрытыми слоями и включались по необходимости. В Figma такого лучше избегать и использовать для этого варианты, а не скрытие.

Библиотека

Итак, мы перенесли из Photoshop все элементы интерфейса и собрали из них библиотеку элементов, которые можно использовать при создании новых экранов. Теперь не придется копировать элементы из старых макетов — достаточно просто перенести элемент из библиотеки на фрейм.

Мы вынесли для себя несколько правил для масштабирования и дополнения библиотеки:

  • Одинаковые элементы не должны повторяться;

  • Переиспользовать все, что можно переиспользовать, и не плодить сущности;

  • Следить за тем, чтобы внутри компонентов, находящихся не в самом низу иерархии, были только компоненты. Это желательно, но не всегда обязательно;

  • Использовать фреймы вместо групп и расставлять Constraints для адаптивности при создании прототипов под разные девайсы;

  • Не использовать не занесенные в стили цвета и шрифты.

Возникшие проблемы

Дизайнерам оказалось сложно быстро пересесть с одного инструмента на другой, поскольку они не были достаточно мотивированы. К тому же, это требовало времени, которое сложно найти в плотном графике релизов. После переноса еще какое-то время команда продолжала рисовать макеты в Photoshop, потому что так было комфортнее и на тот момент быстрее. Важно обучить и замотивировать всю команду, иначе переход будет морально тяжелым и затянется на долгие месяцы. Это и стало нашей главной ошибкой, которая до сих пор приносит немало проблем. Поэтому, если вы готовы к такому переходу, необходимо провести курсы по Figma для всех сотрудников, которые будут с ней работать.

Еще одной проблемой стало то, что Figma не может повторить некоторые свойства слоев, которые предусмотрены в Photoshop. Пришлось придумывать «костыли» или копировать готовые решения уже из верстки. Идеального повторения, к сожалению, достичь не удалось. Из проблем, с которыми столкнулись мы:

  • Наложение в Photoshop действует внутри группы, а в Figma — на все слои ниже в иерархии;

  • В Photoshop можно сделать внутреннюю обводку без наложения на заливку слоя, в Figma — нет.

Как подружить Figma с Unity

Одним из самых больших сомнений перед переносом проекта на Figma было то, что могут возникнуть сложности с версткой в Unity. Но на деле это оказалось даже проще, чем подружить с Unity Photoshop.

Во-первых, Figma предоставляет API, чтобы файлы можно было легко спарсить в JSON. Бонусом вы получаете доступ к модификации самой Figma.

Во-вторых, Figma обладает функционалом, предназначенным специально для интерфейсов, что позволяет создать из JSON сразу что-то хорошее.

В-третьих, человеку, верстающему интерфейсы в Unity, даже не требуется установленная Figma и аккаунт в ней — достаточно иметь токен UI-дизайнера и ссылку на файл.

В-четвертых, Figma поддерживает концепцию компонентов, которая очень схожа с концепцией Nested Prefabs в Unity.

Давайте разберемся, как получить из файла в Figma JSON. На сайте Figma есть подробная инструкция. Но, если разбираться в ней не очень хочется, можете просто скопировать код ниже. Благодаря нему с помощью токена и названия файла вы получите JSON с этим файлом.

using System.Net; using System.IO; using UnityEngine;   ...  private void FileRequest() {     var request = WebRequest.Create("<https://api.figma.com/v1/files/>" + /* file name */);     request.Headers["X-Figma-Token"] = /* figma token */;       var response = request.GetResponse();     var json = "";      using (var stream = response.GetResponseStream())     {         using (var reader = new StreamReader(stream))         {             string line;             while ((line = reader.ReadLine()) != null)             {                 json += line;             }         }     }      Debug.Log(json);      response.Close(); }

Получится примерно следующий JSON, который потом с помощью любой библиотеки, умеющей парсить JSON, можно разобрать на нужные классы, а затем из них и создать uGUI-префаб.

{   "components": {},   "document": {     "children": [       {         "backgroundColor": {           "a": 1,           "b": 0.8980392156862745,           "g": 0.8980392156862745,           "r": 0.8980392156862745         },         "children": [],         "exportSettings": [],         "id": "0:1",         "name": "Page 1",         "type": "CANVAS",         "visible": true       }     ],     "id": "0:0",     "name": "Document",     "type": "DOCUMENT",     "visible": true   },   "schemaVersion": 0 }

Теперь разберемся, как получить имя файла и токен. Токен генерируется один раз и может быть найден в Settings в Figma во вкладке Personal Access Tokens.

Название файла таится в его ссылке. То есть, если ссылка на файл выглядит вот так: www.figma.com/file/NNNN/FileName, его названием будет NNNN.

Вообще, перейдя на Figma, вы будете приятно удивлены, потому что Photoshop не предоставляет никакого API для парсинга psd-файлов. Разбираться же в бинарнике psd ну очень сложно: спецификация этого файла не полная и устаревшая.

Результат

После переноса проекта в Figma прошло уже 4 месяца, и все это время мы работаем по новому пайплайну. Одним из самых важных для нас результатов стало ускорение работы примерно в 2 раза: мы избавились от проектирования на квадратах с «рыбными» текстами и переноса готовых экранов обратно в Figma: теперь мы сразу делаем прототипы из готовых экранов.

Проектирование с готовыми экранами упростило тестирование дизайна на коллегах: теперь они не задают вопросов, морща лоб, готовый ли это дизайн или просто набросок. Да и нам самим еще на этапе проектирования стало проще предвидеть проблемы, которые могут возникнуть на этапе отрисовки UI.

Еще одним важным результатом переноса стало приведение к единообразию цветовой палитры, стилей и некоторых элементов дизайна. Теперь намного удобнее использовать готовые элементы, системно модифицировать их под новые фичи (без необходимости делать это на каждом готовом экране) и переключать состояния одного элемента за пару кликов. И все это благодаря системе компонентов и вариантов Figma.

Теперь вся команда работает в одном проекте и видит результаты своих и чужих изменений сразу. Это еще один аспект, который ускорил процесс синхронизации и актуализации макетов в проекте.

ссылка на оригинал статьи https://habr.com/ru/company/pixonic/blog/530198/

Идеальный клавиатурный КПК Jornada 720


Linux на Psion 5mx, Jornada 720, NEC MobilePro 900c

Этой статьёй хочу завершить цикл статей о КПК. Через мои руки прошло громадное количество различных карманных персональных компьютеров, но, IMHO, самый интересный и лучший среди них — это Jornada 720. Это безупречный КПК для своего времени, впитавший лучшее что было на тот момент на рынке, и фактически стал полноценным настоящим карманным ноутбуком, который мог решать вполне себе взрослые задачи, хотя и работал на процессоре ARM 200 МГц. А после того, как энтузиасты портировали на него Linux — эта вещица стала просто пределом мечтаний каждого уважающего гика. Обо всех моих экспериментах с этим КПК, а также пару слов о NEC читайте в этой статье.

Небольшой спойлер

В реальности все аппаратные доработки велись одновременно с экспериментами с софтом, но поскольку если повествование вести в той же последовательности, как эти опыты — текст будет не читаемым. В этой связи данную статью разбил на две части: аппаратную вначале, и софтварно-аппаратную в конце.

С чего всё началось и первые проблемы

Как обычно, всё начинается с того, что ты видишь какую-то штуку, и безумно хочешь её себе. И первое моё знакомство с этим КПК я начал с видео на канале Кирилла Лейфера.

Чтобы не смотреть всё видео, расскажу о характеристиках КПК (информация взята с вики ):

Клавиатурный КПК (handheld PC) Jornada 720 был представлен в 2000 году. В отличие от предыдущих моделей он был основан на процессоре Intel StrongARM (как Jornada 820) с частотой 206 МГц. Устройство работало под управлением операционной системы Microsoft Handheld PC 2000 (Windows CE 3.0). Из других аппаратных характеристик можно отметить 32 МБ ПЗУ и 32 МБ ОЗУ, порт USB 1.1 и разъём для смарт-карт. К мелким улучшениям относится появление поддержки стереозвука и разъёма 3,5 мм для наушников. Экран и прочие характеристики (разъёмы PCMCIA и Compact Flash, инфракрасный и последовательный порты), включая размеры и вес, остались аналогичными модели Jornada 690.

Клавиатурник, ARM, поддержка Linux, usb, звук, PCMCIA, Compact Flash ну просто мякотка. И тогда понял, да, оно, хочу! Полез на известный западный интернет-аукцион, и оказалось, что предложений не так уж и много по теме, а ценник весьма негуманный. Но тем не менее, я вписался в один аукцион и выиграл эту красотку. Стала она мне по тем деньгам, около двух тысяч рублей (что очень дёшево).

Фото сразу после покупки.

Конечно, экземпляр был дёшев и не без проблемным. Отсутствовал стилус, был мёртвый аккумулятор, отсутствовала док-станция, но главная беда была с клавиатурой: часть клавиш просто не работала. И добиться работоспособности было очень сложно. Но уже был полный восторг от обладания таким устройством.
В результате был найден некоторый чат ремонтников, которые занимались ремонтом именно таких КПК. Как оказалось, неработающие клавиатуры — это достаточно частая болезнь у данного КПК. Разборка выявила проблемную область: шлейф, идущий к клавиатуре, перегибается и идёт между алюминиевой подложкой и пластиком клавиатуры непосредственно к плёнке самой клавы. И в этом месте идёт постоянный прогиб подложки клавиатуры, и он со временем перерезает шлейф клавиатуры. Данная проблема вручную не исправима. Если постучать по клавиатуре, покачать, некоторое время работает. Но опыт показал, что это очень ненадолго. Ещё из любопытного было то, что этот КПК был уже после отвёрточного ремонта (без следов пайки). Все наклейки закрывающие винты были сняты, а также на клавиатуре внутри стояла дата ремонта.

На клавиатуре дата ремонта 7(или 1?).04.14. Под замалёванным читается написанное от руки типа «Tested».

Судя по всему, мой экземпляр был сделан чисто чтобы продать, и явно клавиатура не создана чтобы прожить долго. В результате на том же аукционе была найдена клавиатура всего за 160 рублей + доставка была 500 рублей.
Любопытно было другое, что клавиатуры оказались разные.

Клава с ебея.

Моя клавиатура.

Найди десять отличий? Пять раз я пересчитывал количество клавиш в разных рядах… Наверное я что-то не понимаю в этой жизни, но оно РАЗНОЕ!
В результате было принято волевое решение и куплена эта клавиатура.
Так же в Германии, с помощью моего хорошего товарища aterentiev был найден аккумулятор для этого устройства. За что ему огромное спасибо. Он заказал на себя, потом уже переслал мне по почте. Это большой труд и человеку поясной поклон! В результате Jornada 720 приобрела автономность.

Клавиатура тоже со временем пришла, и несмотря на то, что по форме и количеству клавиш она немного отличалась, таки встала как родная! И новая клавиатура имеет больший размер клавиши, и пользоваться ей оказалось сильно удобнее.

Новая клавиатура на Джорнаде, старая снята.

Были совершенно иные ощущения, из-за того, что размер клавиши оказался больше, эксплуатация стала более комфортной. Эта клавиатура совершенно не люфтила, клавиши не западали. Даже погонял её на свежеустановленном Doom — это было невероятно крутое ощущение!

Стилус создаватус или лечение запоев по фотографии

Выше уже говорил, что у моего экземпляра КПК не было стилуса. Поискал, где его купить, понял, что за разумные деньги его взять невозможно. Поэтому решил сделать его сам. Изначально попробовал сделать слепок из карандаша. Для начала замерял диаметр отверстия (7мм), затем оценил глубину и попробовал сделать муляж из карандаша, зажал в дрель и обточил до такого диаметра. Самое сложное — это правильная форма хвостовика. Его попробовал вылепить из гипса. В результате получилось что-то типа этого:

После данных экспериментов стало ясно, что вот так нахрапом смоделировать стилус не получится. Во-первых, я не знаю его истинной длины, и длины кончика, а также точную форму хвостика. А во-вторых, понимаю, что лучше брать размеры таки с оригинала, а не придумывать новый стилус. Но где взять оригинал? Если мне в России не удалось даже найти Джорнаду. В результате я решил связаться с самим Кириллом Лейфером автором обзора, после которого я купил этот аппарат. На хабре он известен как BOOtak. Кирилл с радостью ответил мне и оказал готовностью посодействовать. Такого гениального изобретения, как штангенциркуль у него не оказалось, поэтому он мне присылал фотографии на миллиметровке, а я уже по фотографиям пытался отгадать реальные размеры. Но один размер у меня был точным: диаметр. Я прекрасно понимаю, что лабуду эту никто читать не будет, так что трололо, чих пых олололо, я водитель нло.
Кириллу я указал, какие точно размеры мне нужны. Выглядел этот запрос следующим образом.

Фото стилуса, присланное Кириллом и мои отметки какие отснять размеры и виды

В результате, спустя несколько дней Кирилл прислал мне фотографии стилуса на фоне миллиметровки, и я начал чертить.

Снимаем сглаз, порчу размеры с фотографии

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

Стиулс создавал в онлайн чертилке на сайте www.tinkercad.com. К сожалению, я работаю в linux, и ничего внятного и простого для черчения моделек под linux на тот мне найти не удалось. Либо оно не работает, либо работает через одно место, либо оооочень сложно в изучении. А для таких простых целей она подошла идеально.

Прототип стилуса.

После всяких изысков и экспериментов, я остановился на следующей модели стилуса.

На тот момент на работе у меня был доступ к 3D-принтеру, и это был мой первый опыт взаимодействия с данным аппаратом. Принтер печатал, прямо скажем, ужасно. Но всё же мне удалось на нём сделать несколько моделей.

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

Я оказался недоволен ни формой, ни качеством изготовления данного стилуса. Поэтому сделал ещё несколько вариантов стилусов. Сглаживал их я 646 растворителем и затем делал примерку, потом правил модель и печатал новый.

Все варианты стилусов.

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

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

Остальные аппаратные дополнения, которые докупались после

Понимаю, что все этапы перечислять, вот так де расписывая утомит читателя, поэтому кратко пробегусь по этапам.

Wifi-карта

Для начала, мне очень хотелось вывести в интернеты данный КПК. ИК-порт — это не наш метод. Поэтому я начал искать различные 16-ти битные PCMCIA карточки. Оказалось, что это весьма редкие звери (обычно все 32-х битные и не работают в этом КПК). Мне удалось найти модемы, сетевые карты под Ethernet и т.п. У меня такой прям ящик карточек был, но работало с данным аппаратом небольшое их количество. Мне удалось в результате найти Wifi-карты, которые работали именно на этом КПК (да, только со старыми системами шифрования).

Карточки.

Из забавного — ни на том, ни на другом в штатной винде дров не нашлось. Впрочем, я не питал особых иллюзий на этот счёт. Но зато нашлись таковые в Linux. И даже видит сеть! Про Linux я расскажу чуть позднее. Есть список поддерживаемых WIFI-карточек.

Wifi работает.

Док станция для USB и COM-порта

Поскольку я уже оговорился о linux, то для нормальной отладки и работы мне нужен был вывод аппаратного UART, а также хотелось иметь доступ к USB. Ну и просто хотелось иметь полностью законченное устройство. Поэтому было принято волевое решение и был докуплен док для этого КПК.

Внешний вид дока без КПК.

КПК снимается нажатием на треугольную кнопку справа. Самое ценное — это подпружиненные контакты, которые ведут к низу КПК. Изначально даже думал сделать самодельную док-станцию, но в результате удалось выловить родной.
На попе у него три разъёма: питание, USB и СОМ. Последний, к сожалению, точно такой же как на самой Джорнаде, и для него нужен такой же шнурок. USB с СОМ закрываются поочерёдно шторкой.

USB и питание.

СОМ-порт и питание.

Разумеется, интересно посмотреть, как это будет выглядеть в сборе.

Что интересно, стилус занял своё почётное место, что говорит о том, что сделан он весьма точно.

Бумажная макулатура и СОМ-проводок

Под конец я решил упороться, как тру коллекционер и докупил ту самую макулатуру, которую клали в коробку к этой Jornada. И там же шёл в комплекте COM-портовый шнурок, который мне был ценен.

Буклеты, документация, а главное кабель!

Самое главное, конечно кабель. В общем-то из-за него всё и затевалось. Но попутно ещё доки. Документацию тех лет я очень люблю. Чем старше компы, тем они были проще, тем более полная была на них документация. Помню на 286 ноутбук в документации даже схемы были! Сейчас уже не торт…

Описание, как синхронизироваться с компьютером.

Из любопытного, что на одном буклете даже закреплена батарейка, и по моему (судя по желтизне пакетика), она висит там с «тех самых пор»:

Батарейка и инструкция по установке.

Не могу испортить вещь, очень уж аутентично всё. Когда читатели моего ЖЖ увидели, как я упоролся в подходе сборки Jornada 720, они сказали что я постепенно превращаюсь в Сергея Фролова sfrolov.

Из любопытного

Есть то железо, которое мне не удалось достать — это платка ОЗУ и ПЗУ прошивки. В целом, в этом ПЗУ можно сразу упихать линукс, и он должен работать.

Отличие Jornada 720 от 728 только в этой плате. И были в продаже такие платы, которые расширяли ОЗУ до 64-х МБ и позволяли получить более крутой КПК.

Из любопытного

По линуксу не буду много рассказывать. Наиболее полно осветил тематику работы с Linux Кирилл Лейфер aka BOOtak в своём видео. И с него предлагаю начать эту главу.

Вся информация по разработке, установке linux и всё-всё-всё жило на чудесном сайте jlime.com. К сожалению всё мертво… Но, к счастью, есть его зеркало, в котором ещё можно найти очень много нужного и полезного.

Как оказалось, что при установке поддерживаются не все CF-карты, и благо у меня была дома громадная коллекция различных карточек, поэтому мне удалось выбрать работающий вариант.
Но несмотря на то, что официальный сайт погиб, всё же что-то живо. Вот готовая инструкция. Не буду её перепечатывать. А так же необходимые файлы для установки (мало ли, кто захочет повторить).

В наличие есть даже бекап репозитория, так что ещё можно работать! Ну и есть какое-то полезное вики по теме, тоже рекомендую к ознакомлению.
Кратко процитирую процедуру установки, которую я описывал у себя в ЖЖ.

Делаем всё по инструкции с официального сайта Всё, кроме ядра! Размечаем флешку, распаковываем rootfs, переписываем программы, но ядро и модули берём другие! Для качаем два файла: hp7xx-2.6.25-stable (ядро) и hp7xx-modules-2.6.25-stable.tar.gz (модули). После распаковки rootfs там же распаковать папочку модулей командой tar xvfz //hp7xx-modules-2.6.25-stable.tar.gz и после переписать в фатовский раздел ядро с именем zImage. После этой неочевидной процедуры (которая нигде не указанна), у меня всё завелось.

Главная проблема работы с linux заключалась в том, что не работал ни звук, ни USB. Вообще, драйверов не было. Тогда у меня не хватило знаний таки допилить драйвера, а сегодня не хватило бы мотивации и времени на такой подвиг.

Но по-настоящему круто себя почувствовал тогда, когда всё же поставил Linux на эту крошку, нашёл аккумулятор, заменил клавиатуру, с большим трудом сконфигурировал Duke Nukem 3D. Одной из большим проблем было корректно выставить разрешение экрана.

Проблемы с разрешением.

Ну как обычно, после длительного RTFM мне удалось написать подходящий конфиг и получить работающий Duke Nukem под Linux на arm КПК Jornada 720. Я даже передать не могу, как же круто было ехать в метро, достать из широких штанин КПК, на котором стоит linux, и в командном режиме запустить Duke.

Duke Nukem 3D в метро. Это реально очень круто!

Это была прямо мечта детства так сделать, вот в метро сыграть в Duke Nukem на мелком КПК.

Два слова о NEC MobilePro 900c

На сайте jlime.com я узнал о таком кпк, как NEC MobilePro 900c. По сути, более переработанная версия Jornada, и он больше похож на обычный ноутбук. В комплекте у меня был чехол, запасной аккумулятор, а потом ещё и Wifi-карта. Помню, что linux на него поставить было как-то особенно сложно, но не буду вдаваться в технические детали (вряд ли кто-то будет это повторять, а если будут, найдут у меня в ЖЖ). Но почему-то меня этот аппарат так не впечатлил как Jornada, он всё же не был по-настоящему карманным.

Чем кончилось дело

Психологически было очень тяжело от осознания того, что несмотря на то, что это невероятно круто, это таки никому нафиг не нужно. Не было даже второго такого энтузиаста, с которым можно было бы поделиться своими наработками и это было бы хоть кому-то интересно. Люди читали мои потуги в ЖЖ, цокали языками, но я понимаю, что это мёртвая отрасль. Даже на форуме jlime никто не отвечал на мои сообщения и вопросы, как единственный человек, оставшийся на другой планете. И если в моих опытах с Psion были ещё одни экспериментаторы, которые меня как-то поддерживали и пользовались моими наработками, то с Jornada и Nec их не было совершенно. И это как-то в какой-то момент меня надломило, что я продал все эти КПК за бесценок…

В качестве итога

Не хочется на грустной ноте заканчивать статью, не поленился и поглядел, на известных аукционах можно найти комплектный такой КПК, даже версии 728, за очень большой ценник. Но если вы готовы вложиться из-за любви к искусству, то это ваш путь.

ссылка на оригинал статьи https://habr.com/ru/company/ruvds/blog/530194/