ios

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

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

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

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

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

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

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

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

Для любого человек в этом варящегося, 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 в основном приложении)

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

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

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

Apple признала серьезные проблемы с софтом. Анонсировали, что новая версия iOS и macOS посвящены исправлению ошибок и ускорению работы. Обещают, что программы начнут открываться на 30% быстрее даже на старых айфонах! Новый CPU scheduler и много других подкапотных улучшений. Может быть, даже поиск в настройках заработает!

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

У Apple уже есть опыт «релизов исправлений», macOS 10.6 Snow Leopard была «версией без единой новой фичи».

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

Ах да, в Евросоюзе и в Китае вся эта история с нейросетями работать не будет. И жалобам на антимонопольное законодательство Евросоюза Apple посвятила целую отдельную страницу, а про ограничения в Китае написала буквально в самом конце лендинга, мелкой сноской. Потому что не нужно путать, это другое.

P. S. Ещё обещают доделать и дочинить родительский контроль на айфонах. Как родитель подростка: не верю, но все равно надеюсь!

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

Многие потешаются над тем, что в новой версии iOS иконки можно будет поставить в любое место на рабочем столе, а ещё их можно покрасить в свой цвет — мол, «в Андроиде всю жизнь так».

На самом деле, все анонсы бьются на три категории:

1. 🛠️ Обновления и улучшения встроенных программ, «иконки» отсюда и они — далеко не самое интересное;

2. 🤪 Хайповый AI «для всех даром и пусть никто не уйдет обиженным»;

3. ✨ AI-магия.

🛠️ Из первой категории:

1. Возможность отправлять и получать смски и iMessage через спутники! Бесплатно! Прямо в лесу или в горах и посреди океана. 📡 Техническая возможность общения со спутником появилась в айфонах начиная с 14го, но раньше Apple использовал её только для связи со спасателями; теперь вот можно будет с семьей и друзьями переписываться.

2. Продвинутый калькулятор везде во всех текстовых полях. Можно прямо в сообщениях написать 273/3 EUR in TRY и он подскажет, что это 3 тысячи турецких лир. Это прямая калька с гениального приложения Soulver, и оно недавно вышло для айфонов — горячо рекомендую.

3. Десятки приятных мелочей — начиная с отслеживания сложности тренировки в «здоровье» и настроения в «дневнике» и заканчивая по полноценным приложением для хранения паролей!

🤪 Во вторых, Apple встроила большинство популярных AI-инструментов в айфоны и макбуки. Они будут работать быстро, даже без интернета и абсолютно бесплатно.

1. Автоматическое написание ответов на письма и сообщения.

2. Изменение тона текста — можно выделить любой написанный текст и «сделать поофициальнее» или «сократить».

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

Если вы продвинутый пользователь и следите за AI-сценой — то вас не удивишь, но обычные люди откроют для себя много нового. Ждем открыточек с красивыми котиками и цветами, сгенерированных искусственным интеллектом под чутким руководством бабушек! А ещё, теперь вместо душевных коротких строк мы получим тонны бездушного, грамматически выверенного текста. :(

✨ Ну и наконец, AI-магия.

Во первых, Apple обещает нормального ИИ-ассистента. Пример на презентации следующий: утром у тебя рабочая встреча, а вечером — выступление дочки. Коллега спрашивает в письме, можно ли подвинуть встречу на попозже. Ты спрашиваешь у Сири, успеешь ли к дочке на выступление. Сири находит сообщение, в котором дочка писала про выступление, определяет, сколько ехать до аудитории, отвечает утвердительно первому собеседнику и создает оба события в календаре. В общем, то, что нам обещают всякие Rabbit AI и Humane AI — то, что ни у кого до сих пор не получалось. Фильм «Она».

Во вторых, техническая реализация AI. Тут три аспекта:

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

2. Вся информация в телефоне становится доступна моделям в виде контекста. Сообщения, письма, фотографии, контакты, история звонков, календарь. Всё это происходит локально на телефоне и не отправляется в облако.

3. В случае, если без мощной модели на сервере не обойтись — они отправляют запрос на свои собственные серверы, которые настроены так, чтобы не сохранять вообще ничего (ничего не хранишь — ничего не украдут). Они разработали специальную операционную систему для этих серверов, на основе модели безопасности iOS и опубликуют её образ для аудита независимыми исследователями. Ах да, перед отправкой данных в интернет, телефон криптографически проверяет систему на сервере.

В общем, я ожидал анонса «мы заменили Siri на ChatGPT, так что теперь она тупит поменьше», но Apple в очередной раз сумели удивить. Браво! (ChatGPT теперь на самом деле можно вызвать из сири напрямую, но не сказал бы, что это особая интеграция)

Бета-версия уже доступна для скачивания разработчикам. Я не рекомендую ставить её на основной телефон, лучше дождать более спелых бет. Основной релиз будет осенью. Очень ждем.

Два видео-первоисточника: Keynote и 5-минутная официальная выжимка Platforms State of the Union. Все анонсы, включая сессии для разработчиков (XCode кажется наступает на пятки IDEA) — как обычно на официальном сайте.

В телеграме для iOS можно автоматически промотать список чатов к непрочитанным чатам! Просто зажмите и держите нажатой иконку чатов в нижнем tab bar.

В iOS Safari есть куча таких скрытых функций: долгий тап на кнопку «вкладок» вызывает меню, где можно закрыть все вкладки разом, а долгий тап на «закладки» - предложение заложить эту вкладку или все открытые вкладки. Долгий тап на кнопку «+» открытия вкладки позволяет восстановить недавно закрытые вкладки.

Хорошо ли иметь скрытые интерфейсные решения или нет — тема бесконечного UX-холивара. Одно я знаю точно - текущее решение эпл записать все эти секретики в бесплатную электронную книгу в iBooks - стремное. Вот бы опцию «покажи мне секретики», которая бы включала «интерактивный туториал» по всем классным шорткатам. Мечты!

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

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

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

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

Ещё Apple пытается что-то сделать с безумием уведомлений: отложенные уведомления, когда они собираются и показываются пачкой в конце дня, а не каждые 5 минут пикают; режимы «работы», «отдыха» и «сна» (привет, профили в телефонах Нокиа) и тд и тп.

Но это все мимо: я пару месяцев назад отключил почти все пуш-уведомления и ещё ни разу не пожалел. Рекомендую.

Открыл для себя две классные функции в iOS благодаря стандартной программе «советы» в айфоне. Я думал, что она только для странных типов, которым нужна инструкция ко смартфону 🙈

Начиная с iOS 13 разным программам можно задавать разные языки интерфейса! Делается это в стандартных настройках. Наконец-то можно пользоваться Яндекс.Такси и Яндекс.Картами на русском! На системные приложения это не распространяется, так что названия песен Земфиры придётся продолжать читать в переводе 🙁