ДМ / selado / ISART / MOUNT VII
58 subscribers
277 photos
55 videos
138 links
Download Telegram
Раньше я очень любил обновлять софт

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

Теперь проблема версий влияет на работу, и лишний раз рисковать не хочется. По этой причине теперь я не спешу ставить мажорную версию ОС или IDE сразу после выхода, жду стабильной версии x.1. А еще лучше подождать, пока кто-то обновится и спросить — как у него, собирается ли проект.

Вот еще свежий пример. Обновил на днях в #GetBetterApp все поды, выкатил релиз в AppStore. И у меня перестала работать аналитика. Перечитал кучу форумов и stackoverflow. В итоге оказалось, что проблема в версии: Firebase/Analytics 7.5.0 не работает, а на 7.3.0 все хорошо. Откатился и до следующего релиза буду жить без аналитики.
Если бы #GetBetterApp были акциями, то вчера можно было бы фиксировать

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

Вчера была первая пара. У меня 11 человек, пришли 8. Рассказывали идеи своих будущих приложений. Идеи интересные: что-то завязано с тесную работу с другими юзерами, что-то должно по-умному работать с данными. Я все время выруливал беседу на вопрос — может уже есть аналог? Хороший research позволит сэкономить много сил на старте.

Приятно удивило, что несколько человек сказали, что сами напишут и поднимут бэк. Это круто, главное, чтобы мобилка была приоритетнее по вкладу и результату. Если вспомнить GetBetter, то Firebase сэкономил мне сотни часов разработки. С нуля до релизной версии прошло чуть больше 3 месяцев.
Наткнулся на vc.ru на пост Clubhouse - почему я не буду там регистрироваться (cutt.ly/Ulz66aO) и делюсь с вами, так как он точно описал мои ощущения.

Вокруг уже СЛИШКОМ МНОГО информации и залетать на еще один огонёк нет желания. Для работы и жизни нужно узнать еще очень много, и впитывать что-то рандомное мне кажется пустой тратой времени.
Да, в Clubhouse интересно (наверно), да, это хайп и модно. Но очень маловероятно, что это будет полезно.
По тем же причинам я не ставил себе TikTok (недавно сдался, так как Технократия завела себе акк, но позже снова удалил). В Instagram захожу раз в день. Лента ВК вообще каждый раз только портит настроение.
С некоторой периодичностью чищу подписки в youtube и телеге.

К следующей аттестации в Технократии надо подтянуть матчасть. Всегда есть чем заняться на пет-проектах. Есть дела по написанию учебной программы для iOS-стажеров. Для разгрузки мозгов есть UFC и FIFA (2-4 часа в неделю), и, конечно, футбол (четверг мой любимый день недели).
А еще, конечно, печатные книги. В них нет оповещений и это прекрасно.
Баг с удалением своего аккаунта

Один пользователь #GetBetterApp написал мне письмо: "Прошу сообщить, почему не удаётся удалить аккаунт в приложении GetBetter? Выдаёт ошибку." Я попросил скриншот ошибки, а сам запустил проект, чтобы воспроизвести ошибку. Создал анонимный аккаунт, жму "удалить" — все работает.

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

Давайте пофиксим этот баг 👇
Мапим ошибку Firebase на case .requiresRecentLogin и показываем понятное русское описание: "Для продолжения нужно снова авторизоваться".

Показываем алерт с TextField для пароля. Далее используем пароль для создания credentials:
guard let email = user.email else { return }
let credential = EmailAuthProvider.credential(withEmail: email, password: password)

Далее отправляем новый запрос:
user.reauthenticate(with: credential) { _, error in }
и если ошибка, то dismiss алерта и просьба начать заново.
Если же все ок, то снова пробуем user.delete(completion: { error in }

Фикс выкатил в версии 1.14 #GetBetterApp
Я уже писал, что в этом году планировал сделать #GetBetterApp платным. Долго размышлял, как лучше это сделать, как сообщить пользователям, когда изменить цену. Подписки мне не нравятся, единовременная оплата — самое то. Если просишь денег — предлагай что-то взамен.

Итоги размышлений такие:
Ориентировочные сроки выхода — июнь 2021.
До тех пор приложение можно скачать бесплатно. Бесплатным оно останется и для ранних пользователей.
С выходом версии 2.0 GetBetter будет стоить 99 рублей.

Планы на новую версию:
• Редизайн раздела Колесо Жизни
• Выбор фото через камеру или галерею
• Возможность загрузить несколько фото в один пост
• Новые ачивки и алерты при их достижении
• Новые Советы Дня, редизайн списка советов и просмотрщика
• 1000 символов вместо 300 в посте
• Умный поиск в Дневнике
• График изменения Колеса Жизни
• Английский язык в приложении

Есть публичное обещание и сроки. Осталось все это сделать😅
Итак, прошел почти месяц. За это время сделано:
• Редизайн моих Советов Дня
• Загруженные данные сохраняются на устройстве и доступны без сети
• 1000 символов вместо 300 в посте
• Выбор фото через камеру или галерею
• Фильтры для фото
• Можно загрузить несколько фото в один пост
• Галерея для просмотра фото в посте
• Мне нравится писать большие посты и в итоге даже 1000 символов оказалось недостаточно. Увеличил лимит до 2000.
• Переписал логику для редактирования постов. Самое сложное было учесть все нюансы с удалением и загрузкой фотографий: продумать UI и загрузку на сервер. Тестил несколько недель — все стабильно работает.
• Один из пользователей предложил идею не прибавлять баллы за некоторые посты. Реализовано, в том числе можно отредактировать старые посты.
• Добавил поиск в дневнике. Пока сырой UI, и не совсем верно флоу работает. Допилю позже.

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

Подведем итоги.
Начал 7 марта, закончил 23 мая.
39 коммитов, изменено 130 файлов.
В строчках кода: +3,824 −2,173.
Сам ipa-файл кстати стал легче (26 против 33 Мб).

Сделано:
• Редизайн списка моих Советов Дня
• Кеширование данных
• 2000 символов в посте (ну да, это было изи)
• Выбор фото через камеру или галерею
• Фильтры для фото
• Можно загрузить несколько фото в один пост
• Галерея для просмотра фото в посте
• Добавлена возможность не прибавлять баллы за пост
• Поиск по тексту, сфере, дате в Дневнике
• Английский язык в приложении (вынес весь харкод в ресурсы)
• Многочисленные улучшения и исправления

GetBetter теперь поддерживает английский и в en-сторах, там он зовется GetBetterApp. Спасибо Леше за новую иконку и маркет скрины.

Как и писал ранее, теперь приложение платное.
Скрин для истории 😅

Скоро выйдет обновление, починил лайки в советах дня.
Auto-renewable Subscriptions

Вчера посмотрел доклад Саши Зимина "История одного pet-проекта". В нем он рассказывал об идее своего приложения, трудностях на пути к окупаемости и выбранной бизнес-модели.

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

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

У GetBetter были высокие оценки (18 пятерок и отзывы). Но совсем недавно оно получило две единицы. В одном отзыве пользователь жаловался, что категории "нельзя редактировать". Я изначально хотел минимум кастомизации. Вот правила, ты по ним играешь. Я изначально ориентировался на самую популярную схему колеса жизни из 8 сфер.
Второй отзыв был о том, что "невозможно зайти в приложение". Я написал человеку, но без ответа. Тогда я добавил кнопку "написать разработчику" на экране регистрации, чтобы человек сразу мог писать мне в телегу.
И через пару дней написала девушка с той же проблемой. "Не могу зарегистрироваться." Я начал гуглить ошибку, люди в сети обсуждали ее, но все их советы по настройкам Firebase уже были сделаны мной ранее. Девушка прислала скриншот, и меня смутил оператор связи. Погуглил — он работает в Севастополе и Крыму. Вот в чем причина траблов! Firebase — это гугловый сервис, санкции и все такое.
Выкатил новую сборку с дикслеймером для крымчан, чтобы пользовались VPN.
Тем временем

12 место среди платных приложений в категории "Образ жизни". Десять дней назад было 36-ое.
Ссори, что не пишу.
Приложение почти перестали покупать из-за ограничений оплат Apple.
Потому и стимула (и времени) заниматься им немного.
Прилетали предложения по фичам, что-то сделал, когда было настроение.
Сейчас ещё и вопрос по оплате dev аккаунта в июле. Если не получится, то апп удалят из стора. Так что берите, пока есть😅
Сегодня мне 35, во мне много грузинской еды и вина, меня окружают близкие — и это хорошо.
Возможно, буду сюда писать что-то не связанное с GetBetter. Так что не удивляйтесь, если окажетесь подписанными на странный канал.
Всем мир.
9
Channel name was changed to «Сто лет наедине»
Чем больше я слышу разной информации от коллег по найму, стажировкам, проектам, тем больше укореняюсь в мысли, что "войти в айти" с каждым годом все сложнее.

Джунов много, вакансий для них мало. Стажировка — хороший вариант, но теперь далеко не все компании готовы на это.

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

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

Мне понадобилось 6 месяцев с нуля, чтобы попасть в штат (хоть это и было по сути стажировкой) IT-компании. Там уже впитал все, что нужно для работы и дальше было легче.
Вообще, именно найти первую работу сложнее всего. На Хабре читал несколько статей, как люди проходят по 10-20 собеседований с тестовыми и все равно безуспешно. Настолько, что в итоге отказываются от идеи "вкатиться".

Закончу двумя поговорками.
Моя игра определенно стоила свеч, и походу я залетел в один из последних вагонов.
👍5