С появлением ЛЛМ у меня появилась возможность запиливать полезные для себя приложения до такого состояния, что ими удобно пользоваться, хотя их всё ещё совершенно нельзя релизить для других. Я запилил себе трекер калорий, апку для качалки, видеосервер для просмотра курсов — это то, чем я продолжаю регулярно пользоваться. Прелесть в том, что эти персональные апки я затачиваю точно под себя. Там нет никаких фич, которые мне не нужны. Зачем мне логин в видеосервере, которым я один пользуюсь и который за VPN? И от этого он становится проще и лучше. Там никогда не будет никакой пагинации или фичи для шаринга в соцсетях, зато там дофига места под контент, который мне важен — список глав и мои заметки с таймстемпами. Дизайн — как я люблю: HTML-сайты 90-х с синими подчёркнутыми ссылками, белым фоном и растягиванием по ширине экрана (потому что если мне надо уже, то я сожму окно браузера).
И всё это получается настолько легковесным, насколько я сам того хочу, т.к. где-то я делаю чистый HTML, где-то — сервер потяжелее.
Мессенджеры
Интересно было поразбираться с мессенджерами. Джаббер (XMPP) жив, у него много апок, клиентов и серверов. Но всё это натянуто на современные мобильные реалии, как сова на глобус, т.к. изначально Джаббер проектировался под десктоп, где нужны были статусы онлайн и офлайн и постоянное TCP-соединение с сервером. Когда появились мобилы и пуш-нотификации, этот подход стал плохо работать, т.к. теперь апка убивается в фоне на мобиле и хочет работать с пуш-нотификациями. А пуши должен слать сервер, который под это не был сделан. XMPP — это открытый протокол с федерацией серверов, то есть любой мог поднять свой сервер, и два клиента, зарегистрированные на разных серверах, могли общаться. Это классно, но из-за того, что это определённый стандарт, нужные изменения требовали времени, да и пользователям в целом неинтересно возиться с настройками — им просто нужно, чтобы работало. А проприетарные централизованные мессенджеры могли быстро вносить изменения — у них полный контроль и над апкой, и над сервером.
А ещё в Джаббере не было стандартного шифрования, и прошло много времени, прежде чем устаканился единый стандарт. Сейчас это OMEMO.
Google дольше всех пытался выжать из XMPP максимум в своём Google Talk, но в итоге сложности с федерацией, которая не давала полного контроля, спам и сложности с пушами вынудили их отказаться от XMPP. В Hangouts ещё использовался XMPP, но уже модифицированный — без федерации, закрытый протокол, кастомные решения для синхронизации.
Сейчас всё ещё можно пользоваться Джаббером — нужно скачать клиент, например Siskin IM для айфона или Monal для десктопа, зарегиться на каком-нибудь yax.im, найти того, кто тоже хочет там общаться, и вперёд. Классный клиент для терминала — Profanity. Правда, чтобы завести OMEMO, пришлось скачивать сорс и подкручивать, тк версия из brew была без.
Современная имплементация идей Джаббера — федерация и открытый протокол — это Matrix. Весьма отполированный официальный клиент, несколько других тоже опенсорсных, несколько серверов. Умеет восстановить историю, если поставил новую апку, поддерживает картинки и, конечно же, современное шифрование. Всё классно, но сервер тяжеловат, т.к. там вообще всё шифруется и всё хранится (прям как в Телеграме, но шифруется по-настоящему, и в отличие от Вотсапа историю не надо бэкапить, если переходишь на другой телефон).
Ад на Алике
Вроде бы Алиэкспресс должен делать всё, чтобы я отдал свои деньги, а он, кажется, делает наоборот. Сначала требует от меня сделать слайд для прохождения капчи, потом показывает попап с какими-то ненужными мне дилами, который мне надо смотреть 3 секунды и нельзя пропустить, потом начинается ещё круче. Ищу товар, жму на него, и открывается новый список товаров! Тааак, куда мой делся? Ах, вот он. Хочу нажать «Купить», но там кнопка "Add to Picks". Ладно, жму её. В корзине ничего нет. Закрываю и опять ищу. Потом я вдруг увидел, что «Picks» — это такая панелька сбоку. «А, — думаю, — это чтобы удобнее было покупать». Но купить всё равно нельзя. Надо искать такой товар, в котором кнопка «Купить» будет. В общем, так я и не понял, почему что-то добавляется в корзину, а что-то добавляется в какой-то «Picks».
Пагинация
Очень «удобная» фича — пагинация на страницах, например с комментариями на printables.com: пытаешься что-то найти поиском в браузере — нет, нельзя, нужно сначала пролистать до самого конца много-много раз, чтобы все комментарии загрузились, и только тогда воспользоваться поиском. А потом при попытке ответить на комментарий вылезает окно с логином, и тебе опять надо будет загружать все комментарии, чтобы ответить.