Статьи

Почему кросс-платформенность имеет значение грамотности

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

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

Использование возможностей платформы

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

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

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

Кросс-платформенные вопросы беглости

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

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

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

Сначала плохие новости

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

  • Достижения в технологии эмуляции.
  • Чрезвычайно доступные облачные сервисы.
  • Все более способные и популярные веб-приложения.
  • И, наконец, продолжающаяся популярность как iOS, так и Android, а также возрождение Mac, что требует от многих поставщиков программного обеспечения поддержки нескольких платформ, чтобы охватить всех своих клиентов.
OneNote Multiplatform
Даже Microsoft использует несколько платформ с такими инструментами, как OneNote. ( Microsoft OneNote )

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

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

аппаратные средства

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

Компьютер

Давайте с самого начала уберемся от этого: первое, что вам нужно, это Mac. Существует множество вариантов доступа к Windows (о которых я расскажу более подробно ниже), но если вы не захотите создать Hackintosh , на самом деле нет никакого способа купить iMac, Mac mini или MacBook. К счастью, как разработчик или дизайнер, есть очень хороший шанс, что у вас уже есть хотя бы один Mac, а если нет, у Apple есть много доступных недорогих (но все еще очень способных) компьютеров Mac.

К счастью, доступ к среде Windows намного дешевле и проще. Самым простым решением является использование облачного сервиса, такого как Amazon WorkSpaces , Microsoft Azure RemoteApp или VMware Horizon Air . Но поскольку производительность является критическим компонентом общего опыта платформы, я никогда не был большим поклонником задержки, обычно наблюдаемой в средах удаленных рабочих столов. Поэтому я бы рекомендовал использовать Windows как можно более естественным образом.

Прошло около десяти лет с тех пор, как Стив Джобс объявил о планах Apple по переходу с процессоров PowerPC на архитектуру Intel x86, и не только Mac стал значительно быстрее, но и OS X, и Windows также стали намного проще. Самый простой способ получить доступ к обеим операционным системам — это установить Windows на свой Mac с эмуляцией, используя такие инструменты, как Parallels , VMWare Fusion или свободно доступный VirtualBox . В общем, я обнаружил, что эти инструменты стали более простыми в использовании, более быстрыми и намного более функциональными с годами.

Запуск Windows на Mac с Parallels
Запуск Windows на Mac с Parallels.

Для более естественного опыта всегда есть Boot Camp , который позволяет вам установить Windows — вместе с набором драйверов Windows для оборудования Apple — непосредственно на отдельный раздел жесткого диска вашего Mac. Преимущество Boot Camp в том, что вы, как правило, получаете отличную производительность, поскольку у Windows есть доступ ко всем ресурсам вашего Mac (фактически, было время, когда многие считали MacBook лучшими ноутбуками с Windows). Однако недостатком является то, что вам приходится перезагружаться в Windows, что делает быстрое тестирование или экспериментирование в разных средах более длительным.

Мое личное предпочтение — использовать два отдельных компьютера. На мой взгляд, Apple делает лучшие ноутбуки, и я думаю, что лучший опыт Windows — это конфигурации настольных компьютеров. Поэтому я использую MacBook Pro для OS X и персональный компьютер для Windows.

Мобильные устройства

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

Мое личное правило — всегда покупать мои телефоны напрямую, никогда не подписывать контракты и не принимать субсидии. Несмотря на то, что очень заманчиво придумывать меньше денег авансом, гибкость в обмене телефонами или их обновлении в любое время (продажа старых телефонов для компенсации стоимости) имеет решающее значение для доступа к самым последним и популярным приложениям для iOS и Android.

Но проблема с двумя телефонами — заставить их работать одновременно. Самое простое, что вам нужно сделать — это иметь единый тарифный план, который вы используете с одним телефоном, и использовать второй телефон только при наличии Wi-Fi (который сейчас почти везде). Если вы хотите сделать более постоянный переключатель, все, что вам нужно сделать, это передать SIM-карту. Хотя это несколько неудобно, это лучше, чем платить за два разных тарифных плана и пытаться управлять несколькими телефонными номерами.

Если вы хотите, чтобы оба телефона были активны в мобильных сетях одновременно, я бы порекомендовал какой-либо общий семейный план. Например, у меня есть план AT & T, который позволяет мне обмениваться голосом (которым я редко пользуюсь) и данными (которые я часто использую) на столько устройств, сколько я хочу. Хотя мне приходится платить дополнительно 15 долларов в месяц за каждое устройство, это намного дешевле, чем иметь совершенно разные тарифные планы для мобильных телефонов.

Самая большая проблема, связанная с активностью нескольких телефонов одновременно, — наличие нескольких телефонных номеров. Лучший способ обойти эту проблему — использовать Google Voice (технология, которая, по-видимому, является одной из основ Project Fi ). Google Voice позволяет вам иметь один телефонный номер, который перенаправляет на столько разных телефонных номеров, сколько вы хотите. Кроме того, вы можете использовать Hangouts на iOS и Android (и в браузере) для обмена текстовыми сообщениями и обмена мгновенными сообщениями. Однако, если вы хотите использовать встроенные службы обмена сообщениями, такие как приложение Apple для сообщений, то вам, вероятно, лучше просто время от времени менять местами SIM-карты.

Google Voice позволяет вам иметь один номер телефона, связанный с несколькими телефонами.

Програмное обеспечение

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

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

Эл. адрес

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

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

Браузер

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

Мое личное предпочтение — Google Chrome, потому что он синхронизирует так много информации, и потому что он хорошо работает на всех устройствах, которые я использую. Вы даже можете увидеть, какие вкладки открыты на других ваших экземплярах Chrome — независимо от устройства или ОС — что действительно помогает уменьшить трение при переходе с одного устройства на другое. Независимо от того, настраиваю ли я новый Mac, Windows PC, iPhone или устройство Android, первое, что я загружаю и / или настраиваю, — это почти всегда Chrome.

Расширенные настройки синхронизации Google Chrome
Расширенные настройки синхронизации Google Chrome. ( Большой превью )

Синхронизация файлов

Как и в случае синхронизации браузера, с годами обмен файлами между устройствами стал намного проще и дешевле. Моим любимым сервисом по-прежнему является Dropbox, потому что я считаю его наиболее надежным и универсальным, но Google Drive и Microsoft OneDrive являются хорошими альтернативами. (На самом деле, ничто не мешает вам запустить более одного и получить значительный объем объединенного хранилища бесплатно.)

Какой бы сервис вы ни выбрали, ознакомьтесь с его возможностями и ограничениями. Например, я обнаружил, что Google Диск не работает, когда я подключен к своему корпоративному VPN, что является серьезным ограничением для меня в некоторых контекстах, хотя он плавно синхронизирует все фотографии с моих устройств Android, что чрезвычайно удобный. Точно так же установка последней версии настольного клиентского приложения Dropbox предоставляет расширенные возможности совместного использования снимков экрана для Mac и Windows, которые я часто нахожу полезными при тестировании и экспериментах на разных платформах.

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

Управление личной информацией

Если вы достаточно взрослый, чтобы иметь КПК, то вы, возможно, знакомы с термином PIM или «Управление личной информацией». Он больше не используется, но я решил восстановить его здесь, чтобы сослаться на расширенный набор данных, включающий календари, контакты, заметки и пароли.

Для календарей и контактов я использую комбинацию инструментов Google и, в корпоративной среде, Exchange. Единственный сервис, который я бы избегал, это iCloud от Apple. Хотя мне действительно нравятся нативные интерфейсы Apple для доступа к моему календарю и контактам из Google и Exchange, я обычно избегаю полагаться на сервисы Apple, поскольку они, как правило, гораздо менее доступны для конкурирующих платформ.

На протяжении многих лет я использовал множество решений для создания и синхронизации заметок, в том числе Microsoft ActiveSync (давно); текстовые файлы в сочетании с системами контроля версий, такими как CVS, SVN и, в последнее время, Git; комбинация Dropbox и редакторов, таких как TextMate, Notepad ++ и Sublime Text; и, наконец, все виды онлайн-приложений для ноутбуков, такие как ныне не существующий Google Notebook, Google Docs и Google Keep. К счастью, благодаря приложениям и сервисам, таким как Evernote , OneNote и Simplenote , облачные заметки стали намного проще. Хотя каждый из них имеет свои собственные наборы возможностей и ограничений, большинство современных решений для создания заметок являются очень мощными, бесплатными или по разумной цене и надежно работают на всех соответствующих платформах.

Последняя часть данных PIM — пароли. Хотя я люблю синхронизацию с браузером, прошло уже много времени с тех пор, как я использовал свой браузер для управления паролями. Вместо этого я использую специальный менеджер паролей. Чаще всего я слышу о трех из них: LastPass , 1Password и Dashlane , и все они позволяют безопасно получать доступ к конфиденциальным данным, таким как пароли, платежная информация и зашифрованные заметки, практически с любого современного устройства. Если вы все еще используете текстовые файлы, электронные таблицы, управление паролями браузера, заметки или один и тот же пароль везде, я настоятельно рекомендую как можно скорее переключиться на выделенный менеджер паролей. Они не только намного более безопасны, но и имеют дополнительное преимущество, заключающееся в том, что ваши пароли доступны вам независимо от того, какую операционную систему или устройство вы используете.

LastPass на всех устройствах
Менеджеры паролей, такие как LastPass, позволяют синхронизировать пароли практически на всех современных устройствах. ( LastPass.com )

Вывод: не позволяй совершенству быть врагом добра

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

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

Например, использование Google Voice и Hangouts для упрощения переключения между телефонами на iOS и Android означает полное отказ от экосистемы обмена сообщениями Apple — возможно, одну из самых распространенных функций и рабочих процессов, с которыми сталкиваются пользователи Apple. Или, используя исключительно Chrome, так как он отлично справляется с синхронизацией настроек практически на всех современных устройствах, мы можем не проводить достаточно времени в Safari, браузере, который предпочитают многие пользователи Mac.

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

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