Всем привет! 28 октября 2026 года исполнилось два года моему пет-проекту PyLab — моему детищу и просто очень приятному и тёплому вечернему времяпрепровождению.
Сегодня жизнь проекта разделилась на два направления:
Непосредственно приложение. В этой статье не будем дробить его на редактор и обучение — о том, как устроены курсы и редактор, я подробно рассказывал в прошлой статье.
Соцсети :)))) Да-да, я решил вынести творческую деятельность и в соцсети: снимаю юмористические видео с элементами обучения тому, что сам изучаю с недавнего времени.
С чего начнём
Прежде чем перейти к компромиссам и к тому, насколько сильно комьюнити влияет на приложение — и на то, какое оно сейчас, и на то, каким будет, — пара слов о том, о чём эта статья.
В прошлый раз я рассказывал, что умеет PyLab: курсы, редактор, встроенный интерпретатор, библиотеки. Сегодня хочу рассказать о другом — не о функциях, а о решениях. Какие из них сработали, какие нет, и почему почти каждое заметное изменение за последний год так или иначе пришло от пользователей.
Роль комьюнити
Насколько большую роль комьюнити и пользователи играют в превращении пет-проекта в продукт, в полной мере описать невозможно, но я попробую показать на конкретных примерах.
Сразу скажу: правильных и неправильных решений не бывает, но удачные и неудачные — определённо есть.
Неудачное: быстрые релизы с горячими правками
Одно из таких неудачных решений — быстрые релизы с горячими правками. Каждая «быстрая» правка порождала ещё более тяжёлые баги, а иногда и вылеты на старте. Одуматься сразу заставляет резко падающий рейтинг приложения — и, к сожалению, именно рейтинг, а не письма на почту: большинство пользователей не пишут, а просто ставят оценку.
Удачное: мажорная версия 4
Самое удачное решение было принято год назад при переходе на мажорную версию 4 — полноценный редизайн и переход на новый фреймворк.
А минусы будут? Будут. Помимо глобальной перестройки UI и UX был переработан движок, а значит, многое пришлось переписывать и заново ловить баги. Но именно эта версия стала фундаментом, на котором дальше строилось всё остальное.
Слушать тех, кто пользуется
Как я уже отмечал, важно слушать комьюнити и прислушиваться к его идеям, потому что они — пользователи, а ты — разработчик.
Одно из самых крутых предложений, которое плотно закрепилось и всем понравилось, — управление текстовым курсором (кареткой) кнопками громкости. Оказалось, что это удобно не только в повседневной жизни, но и при тестировании.
Ещё в мажорной версии 3 была явная проблема с устройствами Samsung и их системными клавиатурами, и эта функция помогла заметно улучшить опыт использования.
Образование и цена ошибки
С недавнего времени приложение появилось в категориях «Образование» и «Изучение языков», и вместе с новой аудиторией пришло много проблем с прохождением заданий.
Огромное спасибо всем пользователям, которые пишут на почту! Я напрямую с ними общаюсь, подсказываю и вношу правки.
К сожалению, сейчас в RuStore наблюдаются задержки с модерацией приложений, поэтому цена ошибки очень высока: исправление может дойти до пользователей далеко не сразу (7-8 дней официальное заявление поддержки RuStore). Если же вы пользуетесь iOS, у вас всё будет стабильнее — модерация в App Store в среднем занимает около 16 часов, что очень радует.
Вместо заключения
За два года PyLab прошёл путь от «хочу запускать Python на телефоне» до приложения с курсами, редактором, тысячами пользователей и собственными персонажами в соцсетях. И если оглянуться назад, становится понятно: лучшие решения в проекте принимал не я один.
Что я для себя вынес:
Не торопиться с релизами. Горячая правка, выпущенная без тестов, почти всегда обходится дороже, чем день ожидания. Особенно когда модерация может занять неделю.
Рейтинг — это тоже обратная связь. Большинство людей не напишут письмо, они просто поставят оценку. Поэтому каждое падение рейтинга стоит воспринимать как сообщение.
Пользователи видят то, чего не видишь ты. Управление кареткой кнопками громкости придумал не я, а стало оно одной из самых любимых функций.
Отвечать людям лично. Живая переписка с пользователями — лучший способ найти баги и понять, чем приложение на самом деле является для них. Дальше в планах — продолжать доводить до ума курсы и редактор, развивать соцсети и, как обещал, рассказать о компромиссах, на которые пришлось пойти, чтобы всё это работало на мобильных устройствах. Это будет темой следующей статьи. Но в будущем обновление 4.4.2, которое уже доступно на iOS и выйдет скоро на Android появится новостная лента, чтобы общение с Вами было быстрее и проще.
А пока — пробуйте PyLab, пишите в комментариях и на почту, что нравится, что нет и чего не хватает. Как видите, ваши идеи действительно попадают в приложение :)
Ссылки:
PyLab в RuStore (Android)
PyLab в App Store (iOS)
Спасибо, что дочитали!
Комментарии (4)

Octagon77
28.10.2026 07:31Забавный факт - размер приложения на сайте Эппл и в магазине Эппл (iPadOS 15.8.8 если что) разный.
Вы правильно продвигаете приложение, но как по мне - слишком рано.
Разница версий в RuStore и AppStore столь велика, что никакая неторопливая модерация её не объясняет.
И на iPad, и на андроид приложение не появляется ни в списке Share, ни в файловом менеджере (Files и Solid Explorer соответственно). Да, загрузить и выгрузить файл можно, но абы как и на костылях.
На iPad все
сколь либо профессиональныеприложения от хотя бы не вполне начинающих любителей реагируют на свайпы, а не на кнопки громкости, а встроенные в ОС средства управления курсором решают проблему частично.
Это, на мой взгляд, критические недоработки от которых эффект от привлечения масового внимания к приложению может быть отрицательным.
И не критические:
если приложение для обучения, то версия Питона может быть не последней считанные недели, если не дни.
встроенный официальный help, разумеется с решённой проблемой блокировки доступа к содержательной части частью исторической, опять же как по мне, ценнее курсов. И тому и тому место в приложении или приложениях - компаньонах, что, опять же как по мне и возможно неверно, позволяет немедленно перейти к монетизации.
не понятно как в редакторе не заморачиваться с отступами, например, перенести фрагмент кода с глобального уровня в функцию.
при запуске на выполнение, редактор должен продолжать скроллить текст, но не реагировать на ввод с клавиатуры.
по полю ввода должно быть видно - ожидает оно ввод или нет. По хорошему - какой ввод - завершающийся Enter или нет.
на случай классических примеров типа расстановки ферзей по доске, хорошо бы иметь возможность выбрать шрифт вывода
хотелось бы услышать, а может я читал невнимательно, про архитектуру, а то кажется, что приложение раза в 4 медленнее a-Shell и в 14 раз медленнее Termux ну просто так, без видимых причин.
И ещё - если перенести input() из глобального контекста в функцию, на iPad, но не на Андроид, ошибка типа await не в асинхронной функции.
С чего я прицепился?
Да краем глаза слежу - что, собственно, у меня останется если по ходу развития событий отберут и комп и Termux и Google Terminal... Ситуация моделируется если всё выключить и телефону поручить что-то рассказывать, самому прилкчь. Вроде как - такие вот приложения про разное, наиболее полезные - про Python и JavaScript.

c3n9 Автор
28.10.2026 07:31Спасибо за такое развернутое сообщение, очень приятно и ценно!!!
Сначала скажу почему медленно, потому что собственная реализация движка и стараюсь сделать лучше, уже сейчас лучшая версия себя )))) Буду работать и еще раз работать
Да, разница между Android и iOS версией есть, но к сожалению это обсуловлено строгими правилами платформы и чтобы добавить ту или иную функцию, допустить ее к модерации необходимо переосмыслить ее в рамках реализации и подачи модерации.
Я возьму в работу Ваши предложения и в скором времени добавлю, но пока не могу точно сказать что попадет из всего в приоритет, но добавить в share точно надо скорее. Кстати, на android есть отображения "открыть с помощью PyLab" при открытии файла .py
SadLion
Этот ваш рустор на телефон ребёнку ставить явно не комильфо, на сайте бы apk отдавать.
c3n9 Автор
Мы уже работаем над этим, Вы можете написать мне на почту указанную в карточке приложения в RuStore и я отправлю Вам последнюю версию. Хочется сделать удобный механизм обновления ПО без RuStore