Тот случай, когда #GetBetterApp стал для меня вполне себе заменой Instagram и VK. Потребность вести дневник есть, но не хочется делать это в публичном пространстве. Приватная лента собственных постов с картинками — самое оно. Плюс есть визуализация прогресса, и некоторая статистика для любителей циферок.
Раньше я пользовался приложением DayOne, но оно было слишком навязчиво с просьбой оплатить подписку.
В 2021 есть, кстати, мысли сделать GetBetter платным, с единой ценой в 1-2 доллара, без внутренних оплат.
Раньше я пользовался приложением DayOne, но оно было слишком навязчиво с просьбой оплатить подписку.
В 2021 есть, кстати, мысли сделать GetBetter платным, с единой ценой в 1-2 доллара, без внутренних оплат.
Бывает такое, что рабочий день кончился, а ты ближе к ночи придумал, как пофиксить тот баг. И с самого утра летишь к компу, смотришь, что это работает, и со спокойной душой идешь завтракать. Знакомо?
Anonymous Poll
79%
Да, братан, жиза
0%
Нет, зачем работать в нерабочее время?
21%
Я не программист и вообще не понимаю, о чем ты
Наверно, в любом коллективе время от времени рождаются локальные мемы. Для истории сохраню наши мемасы декабря, хоть они и в категории "memes without context".
Если это кажется лишним и вы на это не подписывались, дайте знать.
Если это кажется лишним и вы на это не подписывались, дайте знать.
Чего не умеет Firebase
Сервисы Firebase от Google действительно хороши. Auth берет на себя всю работу с авторизацией (до сих пор не люблю писать авторизацию😅). Cloud Message шлет пуши. Storage хранит файлы. Даже на бесплатном тарифе нормальные квоты, которых хватит для небольшого проекта.
Realtime Database — это NoSQL база с нестрогой типизацией. К сожалению, она не умеет в запросы с просчетом на стороне сервера (либо я просто не знаю, как).
В #GetBetterApp есть фича "совет дня", у котого можно ставить лайк. Я хотел, чтобы на экране отображалось количество лайков всех пользователей. Долго думал, как лучше это реализовать. В итоге сделал таблицу tip_likes, в которой id - это id юзера, а внутри лежит массив id залайканных им советов. И чтобы показать количество лайков, приходится получать ВСЕ данные этой таблицы и искать вхождение текущего совета в каждой записи. И хорошо, если пользователей меньше 1к (как сейчас). А представьте размер JSON даже для 10к юзеров! Хотелось бы прямо в запросе делать
Сервисы Firebase от Google действительно хороши. Auth берет на себя всю работу с авторизацией (до сих пор не люблю писать авторизацию😅). Cloud Message шлет пуши. Storage хранит файлы. Даже на бесплатном тарифе нормальные квоты, которых хватит для небольшого проекта.
Realtime Database — это NoSQL база с нестрогой типизацией. К сожалению, она не умеет в запросы с просчетом на стороне сервера (либо я просто не знаю, как).
В #GetBetterApp есть фича "совет дня", у котого можно ставить лайк. Я хотел, чтобы на экране отображалось количество лайков всех пользователей. Долго думал, как лучше это реализовать. В итоге сделал таблицу tip_likes, в которой id - это id юзера, а внутри лежит массив id залайканных им советов. И чтобы показать количество лайков, приходится получать ВСЕ данные этой таблицы и искать вхождение текущего совета в каждой записи. И хорошо, если пользователей меньше 1к (как сейчас). А представьте размер JSON даже для 10к юзеров! Хотелось бы прямо в запросе делать
entries.where { $0.contains(tipId) }.count и получать с сервера просто число, а не простынь.График отправки и открытия пуш-уведомлений.
В декабре 2020 добавил пуши для советов дня. Заметно, что пользователи оценили и стали охотнее тапать по ним.
В январские праздники прирост новых пользователей сильно вырос: от 3-6 в день в 2020 до 10-15 в день сейчас.
#GetBetterApp
В декабре 2020 добавил пуши для советов дня. Заметно, что пользователи оценили и стали охотнее тапать по ним.
В январские праздники прирост новых пользователей сильно вырос: от 3-6 в день в 2020 до 10-15 в день сейчас.
#GetBetterApp
Уже несколько пользователей #GetBetterApp дали понять, что хотели бы видеть настройку времени для push-уведомлений. Ну что ж, этим я сегодня и занялся.
В Firebase на бесплатном плане доступны только 10 топиков. 2 уже заняты под текущие пуши, значит остается по 4 кастомных под эту задачу.
Раскидал так: Советы дня (6, 8, 10 и 12 МСК), Итоги дня (16, 18,20 и 22 МСК).
Как только все юзеры перейдут на новую версию 1.11, то старые топики удалю (и в коде надо будет убрать их упоминания).
Удалил сохранение настроек пушей из Firebase Database и перенес их в UserDefaults на устройстве. Потому что хранить конфиг в удаленной базе было лишним. Я совсем забыл, что подписка зависит от FCM-токена, который привязан к устройству. Простыми словами, можно было подписаться на айфоне, а на айпаде под тем же аккаунтом показывалось бы, что айпад тоже подписан (а это не так).
Пока что сборка только у меня на телефоне. Потестирую уведомления и если все ок, то на следующей неделе выпущу.
В Firebase на бесплатном плане доступны только 10 топиков. 2 уже заняты под текущие пуши, значит остается по 4 кастомных под эту задачу.
Раскидал так: Советы дня (6, 8, 10 и 12 МСК), Итоги дня (16, 18,20 и 22 МСК).
Как только все юзеры перейдут на новую версию 1.11, то старые топики удалю (и в коде надо будет убрать их упоминания).
Удалил сохранение настроек пушей из Firebase Database и перенес их в UserDefaults на устройстве. Потому что хранить конфиг в удаленной базе было лишним. Я совсем забыл, что подписка зависит от FCM-токена, который привязан к устройству. Простыми словами, можно было подписаться на айфоне, а на айпаде под тем же аккаунтом показывалось бы, что айпад тоже подписан (а это не так).
Пока что сборка только у меня на телефоне. Потестирую уведомления и если все ок, то на следующей неделе выпущу.
Каждый раз удивляюсь, как продолжают ухудшать популярнейший в своё время «файлообменник» Skype. Уже несколько раз (даже после нескольких обновлений), после запуска приложения звук на макбуке сам выставляется на 100%.
Играющая музыка взрывается громкостью и доводит меня до каления.
Ну и в целом, если честно, убогий мессенджер)
Забавно, но на собеседовании я уточнял, где ведется переписка в компании. Телеграм? Я согласен на оффер!
Играющая музыка взрывается громкостью и доводит меня до каления.
Ну и в целом, если честно, убогий мессенджер)
Забавно, но на собеседовании я уточнял, где ведется переписка в компании. Телеграм? Я согласен на оффер!
(Не) Всё получается
В какие-то дни у тебя всё получается. Задачи понятны и быстро закрываются. Внутри приятное удовлетворение от проделанной работы. В продукте работают твои фичи.
А случаются дни, когда ты закапываешься в проблеме. Уходишь дальше, шерстишь интернет, читаешь документацию. И итогом оказывается, что проблема не решается. А если это конец недели, то совсем грустно.
Не врываешься, а вползаешь в выходные с некоторым ощущением бесполезности.
Так вот, это нормально.
И вроде простая и понятная истина, но в моменте лично мне всегда сложно.
В какие-то дни у тебя всё получается. Задачи понятны и быстро закрываются. Внутри приятное удовлетворение от проделанной работы. В продукте работают твои фичи.
А случаются дни, когда ты закапываешься в проблеме. Уходишь дальше, шерстишь интернет, читаешь документацию. И итогом оказывается, что проблема не решается. А если это конец недели, то совсем грустно.
Не врываешься, а вползаешь в выходные с некоторым ощущением бесполезности.
Так вот, это нормально.
И вроде простая и понятная истина, но в моменте лично мне всегда сложно.
В выходные выкатил 1.12 версию #getbetterapp:
• Добавлен уровень сложности (для тех, кто активно пишет или же пишет редко)
• Настройка времени пушей стала удобнее
• Добавлено количество постов по месяцам
https://apps.apple.com/us/app/id1522666671
• Добавлен уровень сложности (для тех, кто активно пишет или же пишет редко)
• Настройка времени пушей стала удобнее
• Добавлено количество постов по месяцам
https://apps.apple.com/us/app/id1522666671
Цифры
Ровно год назад стартовала разработка #getbetterapp.
Полгода назад (9.07.20) я выложил приложение в AppStore.
Сегодня произошла 1000 регистрация аккаунта.
Ура👏
Ровно год назад стартовала разработка #getbetterapp.
Полгода назад (9.07.20) я выложил приложение в AppStore.
Сегодня произошла 1000 регистрация аккаунта.
Ура👏
Раньше я очень любил обновлять софт
Меня завораживало, как ползут индикаторы загрузки, проценты обновления, как иконки на телефоне превращаются в "радар". Мне нравилось думать, что все мои программы становятся лучше.
Так было до того, как я стал разработчиком.
Теперь проблема версий влияет на работу, и лишний раз рисковать не хочется. По этой причине теперь я не спешу ставить мажорную версию ОС или IDE сразу после выхода, жду стабильной версии x.1. А еще лучше подождать, пока кто-то обновится и спросить — как у него, собирается ли проект.
Вот еще свежий пример. Обновил на днях в #GetBetterApp все поды, выкатил релиз в AppStore. И у меня перестала работать аналитика. Перечитал кучу форумов и stackoverflow. В итоге оказалось, что проблема в версии:
Меня завораживало, как ползут индикаторы загрузки, проценты обновления, как иконки на телефоне превращаются в "радар". Мне нравилось думать, что все мои программы становятся лучше.
Так было до того, как я стал разработчиком.
Теперь проблема версий влияет на работу, и лишний раз рисковать не хочется. По этой причине теперь я не спешу ставить мажорную версию ОС или IDE сразу после выхода, жду стабильной версии x.1. А еще лучше подождать, пока кто-то обновится и спросить — как у него, собирается ли проект.
Вот еще свежий пример. Обновил на днях в #GetBetterApp все поды, выкатил релиз в AppStore. И у меня перестала работать аналитика. Перечитал кучу форумов и stackoverflow. В итоге оказалось, что проблема в версии:
Firebase/Analytics 7.5.0 не работает, а на 7.3.0 все хорошо. Откатился и до следующего релиза буду жить без аналитики.Если бы #GetBetterApp были акциями, то вчера можно было бы фиксировать
Не знаю, с чем связан такой рост регистраций и использования. Возможно, с тем, что меня пригласили курировать студентов в мобильной лаборатории одного казанского ВУЗа.
Вчера была первая пара. У меня 11 человек, пришли 8. Рассказывали идеи своих будущих приложений. Идеи интересные: что-то завязано с тесную работу с другими юзерами, что-то должно по-умному работать с данными. Я все время выруливал беседу на вопрос — может уже есть аналог? Хороший research позволит сэкономить много сил на старте.
Приятно удивило, что несколько человек сказали, что сами напишут и поднимут бэк. Это круто, главное, чтобы мобилка была приоритетнее по вкладу и результату. Если вспомнить GetBetter, то Firebase сэкономил мне сотни часов разработки. С нуля до релизной версии прошло чуть больше 3 месяцев.
Не знаю, с чем связан такой рост регистраций и использования. Возможно, с тем, что меня пригласили курировать студентов в мобильной лаборатории одного казанского ВУЗа.
Вчера была первая пара. У меня 11 человек, пришли 8. Рассказывали идеи своих будущих приложений. Идеи интересные: что-то завязано с тесную работу с другими юзерами, что-то должно по-умному работать с данными. Я все время выруливал беседу на вопрос — может уже есть аналог? Хороший research позволит сэкономить много сил на старте.
Приятно удивило, что несколько человек сказали, что сами напишут и поднимут бэк. Это круто, главное, чтобы мобилка была приоритетнее по вкладу и результату. Если вспомнить GetBetter, то Firebase сэкономил мне сотни часов разработки. С нуля до релизной версии прошло чуть больше 3 месяцев.
Наткнулся на vc.ru на пост Clubhouse - почему я не буду там регистрироваться (cutt.ly/Ulz66aO) и делюсь с вами, так как он точно описал мои ощущения.
Вокруг уже СЛИШКОМ МНОГО информации и залетать на еще один огонёк нет желания. Для работы и жизни нужно узнать еще очень много, и впитывать что-то рандомное мне кажется пустой тратой времени.
Да, в Clubhouse интересно (наверно), да, это хайп и модно. Но очень маловероятно, что это будет полезно.
По тем же причинам я не ставил себе TikTok (недавно сдался, так как Технократия завела себе акк, но позже снова удалил). В Instagram захожу раз в день. Лента ВК вообще каждый раз только портит настроение.
С некоторой периодичностью чищу подписки в youtube и телеге.
К следующей аттестации в Технократии надо подтянуть матчасть. Всегда есть чем заняться на пет-проектах. Есть дела по написанию учебной программы для iOS-стажеров. Для разгрузки мозгов есть UFC и FIFA (2-4 часа в неделю), и, конечно, футбол (четверг мой любимый день недели).
А еще, конечно, печатные книги. В них нет оповещений и это прекрасно.
Вокруг уже СЛИШКОМ МНОГО информации и залетать на еще один огонёк нет желания. Для работы и жизни нужно узнать еще очень много, и впитывать что-то рандомное мне кажется пустой тратой времени.
Да, в Clubhouse интересно (наверно), да, это хайп и модно. Но очень маловероятно, что это будет полезно.
По тем же причинам я не ставил себе TikTok (недавно сдался, так как Технократия завела себе акк, но позже снова удалил). В Instagram захожу раз в день. Лента ВК вообще каждый раз только портит настроение.
С некоторой периодичностью чищу подписки в youtube и телеге.
К следующей аттестации в Технократии надо подтянуть матчасть. Всегда есть чем заняться на пет-проектах. Есть дела по написанию учебной программы для iOS-стажеров. Для разгрузки мозгов есть UFC и FIFA (2-4 часа в неделю), и, конечно, футбол (четверг мой любимый день недели).
А еще, конечно, печатные книги. В них нет оповещений и это прекрасно.
vc.ru
Clubhouse - почему я не буду там регистрироваться — Личный опыт на vc.ru
Я думаю сейчас все слышали о новой социальной сети Clubhouse. Это чистый хайп. Инвайты разлетаются, как горячие пирожки. Люди пишут восторженные отзывы и рассказывают почему стоит там зарегистрироваться.
Баг с удалением своего аккаунта
Один пользователь #GetBetterApp написал мне письмо: "Прошу сообщить, почему не удаётся удалить аккаунт в приложении GetBetter? Выдаёт ошибку." Я попросил скриншот ошибки, а сам запустил проект, чтобы воспроизвести ошибку. Создал анонимный аккаунт, жму "удалить" — все работает.
Приходит письмо со скриншотом. Ага, значит требуется повторная аутентификация. Читаю документацию: для критических действий требуется, чтобы пользователь недавно вошел в систему (менее 5 минут назад).
Давайте пофиксим этот баг 👇
Один пользователь #GetBetterApp написал мне письмо: "Прошу сообщить, почему не удаётся удалить аккаунт в приложении GetBetter? Выдаёт ошибку." Я попросил скриншот ошибки, а сам запустил проект, чтобы воспроизвести ошибку. Создал анонимный аккаунт, жму "удалить" — все работает.
Приходит письмо со скриншотом. Ага, значит требуется повторная аутентификация. Читаю документацию: для критических действий требуется, чтобы пользователь недавно вошел в систему (менее 5 минут назад).
Давайте пофиксим этот баг 👇