За кулисами в Энки - Эпизод 1

С момента бета-версии Enki мы много работали над исправлением ошибок и доработкой приложения. Мы решили, что пришло время рассказать вам о том, чем мы заняты; наши новые функции, то, что мы сломали и исправили, и над чем мы сейчас работаем.

Новый вещи:

  • Параметры пропуска / возврата на тренировке. Мы слышали много просьб вернуться к анализу, чтобы пользователи могли добавить его в избранное, прокомментировать или изменить свой отзыв. Теперь мы добавили эту опцию в верхний правый угол пользовательского интерфейса. Это была довольно сложная задача для пользовательского интерфейса, поскольку мы с самого начала решили, что прокрутка для обратной связи должна быть «основным» взаимодействием. Тем не менее, мы понимаем, что некоторые пользователи хотят пропустить информацию, если они считают ее неуместной, неправильной или неподходящей для их обучения, и это обратная связь, которую мы также будем учитывать.
  • Материальный (-ский) пользовательский интерфейс для Android. Мы начали разработку Enki только для iPhone, но, увидев, что многие (более половины) людей, ответивших на нашу анкету (спасибо!), являются пользователями Android, мы сделали порт для Android, используя ту же кодовую базу. С тех пор мы работали над различением элементов пользовательского интерфейса между ними, начиная с основных действий по анализу (комментарий, добавление в избранное и публикация). Мы понимаем, что еще многое предстоит сделать, и работаем над этим!

Под капотом

  • Сделайте это заново, используя redux. Вы могли слышать об этом тусовке в эфире. Этот волшебный новый фреймворк, вдохновленный моделью Flux, охватившей React и JS-сообщество. Мы это сделали, и мы решили провести рефакторинг нашего приложения с помощью redux, обрабатывающего все, что происходит под капотом. До сих пор это был очень интересный опыт, и мы очень рады видеть, как эта смелая новая структура растет и применяется во все большем количестве проектов.
  • Алгоритм рекомендаций. По мере роста нашей базы данных мы постоянно пытаемся улучшить то, как объединить наши атомарные идеи, чтобы сформировать для вас идеальную тренировку. Например, мы добавили взаимосвязи между различными идеями, чтобы вы всегда видели введение в предметы, прежде чем углубляться в детали.
  • Devops. Мы переработали нашу инфраструктуру и теперь можем развертывать новые функции еще быстрее с помощью Docker, Gitlab и Rundeck. Наш мониторинг также значительно улучшился, чтобы мы могли готовить тренировку для каждого из вас каждый день. И последнее, но не менее важное: мы готовимся к привлечению большего числа пользователей, поэтому перешли на AWS и настроили Docker Swarm для масштабирования в любое время.

Исправлено:

  • UI. Мы внесли некоторые изменения в пользовательский интерфейс, чтобы сделать его понятнее и доступнее:
  • Выбор темы: было неясно, можно ли выбирать разные уровни, когда мы все еще использовали пузыри, которые увеличивались с увеличением количества нажатий (эй, Apple сделала это, почему мы не могли ?). Поэтому мы перешли на просто отображение доступных уровней сложности.
  • Скрытые действия. Действия со статистикой раньше скрывались за верхней панелью, и вам приходилось опускать ее, чтобы раскрыть. Это было слишком много шума, чтобы делать что-то настолько простое, как одобрение идеи, поэтому мы сделали их доступными непосредственно на нижней панели и плавающей кнопке действия.
  • Подключение. Хотя это мало что меняет для существующих пользователей, мы обновили процесс адаптации, чтобы сделать взаимодействие более понятным для всех. Если вы уже прошли через этот процесс, вы не сможете увидеть его снова, но теперь он включает в себя анимацию, мигающие кнопки, кошек, собак и фильм Майкла Бэя (клянусь, это так).

  • Недавние проблемы с производительностью. Недавно мы заметили значительное увеличение времени загрузки приложения. В прямой корреляции мы также заметили рост числа пользователей, жалующихся на проблемы с производительностью. Изучив это, мы нашли виновника и… (барабанная дробь) это была наша новая библиотека подсветки кода. Недавно мы перешли с Highlightjs на Prismjs, чтобы выделить примеры кода в наших исследованиях, в основном из-за того, что Prism поддерживает синтаксис ReactJS / JSX (и мы React). На время загрузки на iPhone это не сильно повлияло, но на Android пользователи начали сообщать, что время загрузки составляет до 18 секунд (!). Как только мы изучили это, мы поняли (с глубоким замешательством), что поставляем код Prism для каждого отдельного поддерживаемого языка (даже включая brainfuck и LOLCode). Теперь это исправлено, и производительность значительно улучшена:
  • Тренировка не подготовлена. Наша ежедневная работа по подготовке к тренировке провалилась в субботу, 20 февраля, и многие люди не прошли ее в тот день. У нас возникли проблемы с нашей серверной частью, но мы не осознали их достаточно рано, поэтому это коснулось некоторых пользователей. Нам очень жаль, что некоторые люди потеряли свою серию, и по этой причине мы ввели исправление (немного грязное и хакерское), которое по-прежнему будет учитываться в вашей серии.
  • Проблемы с регистрацией / входом. Пытаясь исправить бэкстек Android, мы сломали некоторые части навигации, что означало, что при входе в систему пользователи перенаправлялись за пределы основного приложения, а не на главную страницу. Мы откатили изменения, и теперь это тоже исправлено.
  • Backstack Android. Мы пытались это исправить. Мы потерпели неудачу и сломали другое (читайте выше). Мы попробовали еще раз. Нам это удалось!

Текущая работа и планы на будущее:

  • Содержание: мы много работали над улучшением и расширением наших тем и предметов. Сотни новых идей готовы войти в ваши тренировки вместе с сотнями других, которые в настоящее время находятся на стадии рассмотрения. Мы также работаем над введением новых тем, включая python, git, CS Theory, Networking ... Одна из них появится на устройстве Enki рядом с вами в ближайшие пару недель. До сих пор мы держали процесс создания контента внутри компании, что означает, что мы можем внимательно следить за качеством информации и давать каждому хорошее представление о желаемом формате. Мы по-прежнему нанимаем учителей по нескольким предметам, но наш грандиозный план состоит в том, чтобы в конечном итоге внести свой вклад в сообщество!
  • Отслеживание прогресса. Прямо сейчас ежедневная серия и результаты игр - единственное, что дает вам представление о вашей «результативности» в приложении. Вместо этого мы работаем над отслеживанием прогресса пользователей по каждой теме и подтемам, чтобы они лучше понимали, как они проводят время в Enki, а также предоставляем им больше возможностей для выбора того, что они хотели бы улучшить.
  • Interactive Insights. Мы получили очень положительные отзывы о наших играх enki, но мы также слышали, как пользователи просили больше взаимодействовать во время уроков. Теперь у нас есть рабочая версия, которая расскажет вам о конкретных идеях, и мы работаем над созданием контента для всех имеющихся у нас идей.
  • Собственное приложение: превращение Enki в гибридное приложение уже на раннем этапе дало нам множество преимуществ. Мы можем выполнять итерацию по функциям намного быстрее, уделять одинаковое внимание как iOS, так и Android, а также отправлять обновления и исправления для установленных приложений, не заставляя пользователей обновлять приложение (отметьте это, чтобы узнать, как). Однако по мере того, как Enki становится все более многофункциональным, мы чувствуем, что близки к тому, чтобы максимально использовать возможности гибридного приложения. Поэтому мы планируем выпустить нативные приложения для Android и iOS, прежде чем выпускать общедоступную версию.
  • Сообщения в блогах: например, этот (шутка о рекурсии, тоже мета?), и другие будут в будущем.

Это очень захватывающее время для нас, и мы очень рады, что наши пользователи участвуют в нем. Наши тарелки полны, но мы все жаждем продвигаться вперед и учиться в процессе. Если вы другой разработчик программного обеспечения, то, скорее всего, вам знакомо это чувство, и именно поэтому мы создаем enki! Мы хотим, чтобы вы стали частью нашего пути - если вы уже являетесь пользователем, отправьте свои лучшие идеи и самые большие усилия здесь. Или, если вы наткнулись на этот пост и дочитали до него, вам следует присоединиться к нам!

До скорого,

Энки на