#ios

страница 2 из 3
пост №1023

Посмотрите, как выглядит интерфейс шеринга фотографии в последнем iOS на восьмом айфоне. Для меня очевидно, что после Copy дальше есть остальные пункты меню.

Оказывается, что из-за «идеального кропа» люди до этого не догадываются.

К Apple супер высокие ожидания в этих интерфейсах. В данном случае придираются к мелочам.

А вы как, догадались бы?

👍 372👎 735🐝 130
пост №992

Красивый танец в приложении настроек iOS.

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

Одна вещь, которую я не могу понять: почему настройки в iOS называются Settings, а в macOS -
Preferences. 🤷

пост №957

Впечатляющая ежегодная презентация Apple WWDC. Формально для разработчиков, на самом деле смотрят, конечно, все. Презентовали новые iOS и macOS, которые выйдут публично осенью.

То, что заметят все:
- потерянные макбуки можно будет искать при помощи Bluetooth через сеть всех айфонов на планете;
- activation lock для макбуков, наконец-то. Украденный макбук перестанет работать и превратится в тыкву (читай запчасти);
- Sign in with Apple — регистрация и вход в приложения одной кнопкой (все стартапы дружно пошли программировать). Для каждого приложения генерируется уникальный почтовый ящик, так что можно легко отписаться и приложения никак не смогут вас затрекать. Google, FB и прочие маркетологи сильно недовольны сейчас;
- новое приложение для фото с использованием ML;
- переделали карты, но как и раньше, только для избранных стран, продолжаем пользоваться Google maps и maps.me :(
- клавиатура со свайпами (да, как в андроиде уже много лет);
- подкасты не забыты — тоже, как гугл, распознают тексты и позволяют по ним искать. Интересно, будет ли работать с русским?
- поработали над скоростью, обещают, что всё станет быстрее, а FaceID ускорится аж на треть;
- системник мак про за 6 тысяч баксов и гигантский (и кажется, очень хороший) ретина монитор от Apple за 5 тысяч долларов (за 6 тысяч матовый). Стойка к монитору ещё тысяча. Готовьте денежки, богачи! 💸

Для разработчиков:
- iPad-приложения можно перекомпилировать для маков чуть ли ни одной клавишей; для демо на сцену выпустили подозрительно улыбчивого разработчика Jira 🙈
- новая система верстки интерфейсов в Swift, простая прямо как в Keynote. Кажется, я смогу наконец сделать приложение, которое не осилил заверстать через сonstraints!
- новая платформа для AR, кажется хорошая (то, что обещает Magic leap, только без очков). Классная презентация майнкрафта с AR;
- голосовое управление сделали классное (нет, это не Voice Over, чуть другое, для видящих).

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

пост №837

Раз уж зашла речь об Apple — будет неприлично не упомянуть баг в Facetime. Достаточно позвонить на устройство с последней версией iOS и добавить себя самого в групповой звонок, чтобы начать слышать звук собеседника, ещё до того, как он поднял трубку. Если добавить самого себя и взять трубку с третьего устройства — то будет видно ещё и видео до того, как собеседник поднял трубку.

Если хотите почувствовать себя хакером прямо сейчас — разочарую, Apple временно выключили групповые звонки, пока не раскатится обновление с исправлением проблемы.

Понятно, что это адуха и люди близкие к программированию скажут «они что, совсем с катушек съехали, как такое можно было запрогать?». Люди, программировавшие VoIP (голосовые сервисы) и участвовавшие в разработке крупных и долгоживущих проектов (а iOS, это, безусловно, крупный и старый проект) не удивлены — можно прямо сходу придумать вполне реалистичное объяснение, почему так получилось.

Одна из гипотез: Facetime начинает отсылать аудио и видео сразу же после набора номера. Сделано это для того, чтобы после нажатия кнопки «принять звонок» не было даже малейшей задержки. Звонок начнется мгновенно. Добавление групповых звонков программировала отдельная команда и они не до конца разобрались с диаграммой состояний звонка (она дико сложная) — и вот мы все видим результат.

Учитывая, что Apple в течении нескольких часов выключили групповые звонки, через неделю выпустят фикс, а ещё через неделю у 90% пользователей будет установлено исправление — всё нормально. Что будет, если аналогичная проблема найдется в Android — вот об этом страшно подумать.

Ну и обязательный xkcd:

пост №725

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

В новом iOS появилась возможность поставить лимиты на определенные приложения; например, разрешить себе не больше 30 минут инстаграма в день. Я решил не мелочиться — заблокировал все приложения кроме «функциональных». Так называемый downtime, когда блокируются все приложения кроме «белого списка», у меня начинается в 00:01 и заканчивается в 00:00 (получаются сутки минус минута). Отдельный смак — во время downtime скрываются все пуш-уведомления от заблокированных приложений, так что не нужно больше сидеть «вычесывать» пуши по одному в настройках.

Если вы подумывали перейти на «телефон-кирпич», но не хотели отказываться от функций смартфона — рекомендую поиграть со Screen time в iOS 12. Релиз выйдет в ближайшие недели, но установить бету можно уже сейчас. Бонус — iOS 12 существенно быстрее предшественника. Мой старенький SE опять начал летать.

До включения Screen time я пользовался телефоном 3-5 часов в день, с ним — час-полтора.

Интересно, что количество «поднятий телефона» в день практически не изменилось — 80, хотя время пользования упало в несколько раз.

«Флоу» блокировки. Как видите, ограничения можно проигнорировать. Для меня этого дополнительного шага достаточно, чтобы подумать «а нужно ли мне это?». Обычно — нет.

пост №687

Долг совести я выполнил, теперь можно о приятном.

Установил вчера первую бету iOS 12 для разработчиков и не нашёл пока ни одного серьёзного глюка.

У меня на iPhone SE (маленькие руки) некоторые вещи раньше работали медленно. В iOS 12 все происходит мгновенно. Это магия какая-то. Конечно, без уменьшения задержек анимации не обошлось, но и объективные тормоза интерфейсов они убрали.

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

Мы в RAWG (4 разработчика, два бэка и два фронта), например, за прошлые две недели серьёзно прокачали фронтенд сайта, который до этого делался год:

- у нас большая главная и теперь мы грузим только первые её два экрана, все остальное - по доскроллу. Первое открытие стало на порядок быстрее;
- починили дико бесящее поведение, которое часто встречается на реакт-сайтах, когда при открытии игры с главной, на секунду отображаясь прошлая открытия игра (страница рендерила стейт из кеша). Теперь мы сразу показываем новое называние игры (оно всегда есть в ссылке), пока грузим остальные данные и это ощущается в сто раз быстрее, чем было раньше:
- перенесли все картинки в CDN и воткнули перед сайтом Cloudflare (вот вот включим Railgun), чтобы сайт открывался быстрее у азиатов и американцев.

Вообщем, мы собрали «низковисящие фрукты» и начинаем делать параллельно три (!) крупные задачи:

- AMP - чтобы из результатов поиска игры открывались мгновенно. Хитрость в том, чтобы поженить AMP с существующим сайтом на реакте: не переписывать все заново и не закопаться потом в поддержке;
- SEO - хотим быть первыми по «низкочастотным играм»;
- оптимизация «выбросов» времени ответа API (django) - отдельная большая история, которой мы обязательно поделимся.

Ура рефакторингу.

пост №676

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

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

Если компания хочет сделать приложение и для андроидов и для айфонов, она содержит два параллельных отдела мобильной разработки - для iOS и для Android. Каждая из двух программ выглядит немного по-своему, сроки разработки немного разные, ошибки — уникальны.

Каждые пару лет появляется новая технология «кроссплатформенной разработки». Меняются названия, технологии под капотом и компании, её продвигающие. Я на своём профессиональном веку увидел хайп и угасание гигантов PhoneGap — монструозный HTML, купленный Adobe и позже отданный в Open Source и переименованный в Apache Cordova; Xamarin — пишем на C#, который компилируется в нативные приложения для каждой платформы. Microsoft купила её в 2016.

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

Последняя модная (суперхайп) технология такого рода — React Native от Facebook. Программируем на современном lingua franca — javascript, а весь пользовательский интерфейс может быть нативным для платформы. Работает быстро, выглядит классно. Потенциально можно программировать силами веб-разработчиков (ну почти). Самое главное — в старые приложения можно добавлять новые экраны, сделанные на react-native. Технология молодая (2015 год), есть множество нерешенных проблем, но это первая кроссплатформенная балалайка, которую мне хочется попробовать. В России я знаю несколько компаний, которые успешно используют RN в продакшен-разработке. Радио Арзамас сделано на RN, например.

Я рассказываю всё это, чтобы вы поняли «интригу, скандал и расследование», которые рождает вот этот тред в твиттере

https://twitter.com/sandofsky/status/1002637340291018754 (мол сам фб перестал использовать RN в основном приложении)

пост №299

Apple улучшил механизм установки бета-билдов iOS для разработчиков.

Скачиваешь маленький файл профиля из Member Center и всё, обновление приезжает как обычно, через OTA. Там уже Golden Master — тот же код, что пойдет в публичный запуск, просто готовый заранее, для разработчиков.

Никакого тебе шаманства с iTunes, классно.

Если вы не компьютерщик — не рекомендую пока обновляться, в AppStore половина программ в большей или меньшей степени сломаны, все спешно клепают обновления.

пост №280

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

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

Интересный способ делать "нативные" кросс-платформенные мобильные приложения. Особенно мне понравилось утверждение, что веб/нативное - не бинарное отношение, а целый спектр возможностей.

https://m.signalvnoise.com/basecamp-3-for-ios-hybrid-architecture-afc071589c25