Одна из основных ценностей Ноушен заключается в том, что обратная связь — это подарок. В последнее время отзыв №1, который мы слышали от пользователей, был однозначным: Ноушен кажется медленным.
Теперь у нас есть специальная группа инженеров, которые вносят существенные изменения в этот пользовательский интерфейс. Первой задачей этой команды было ускорить загрузку страниц Ноушен и сократить время, необходимое для навигации между страницами.
Нашим первым шагом было добавление поддержки SQLite в наши приложения, в результате чего первоначальная загрузка страниц у большинства пользователей стала на 50 % быстрее. Кроме того, навигация между страницами также стала на 50% быстрее.
Загрузка страниц и навигация между ними — это лишь часть уравнения, которое сделает Ноушен более производительным. Поэтому следующим приоритетом команды является производительность поиска и баз данных. В частности, поиск повлияет на многие аспекты Ноушен, даже за пределы Quick Find
, сокращая время, необходимое для поиска связей и сводок, @
упоминаний и связей между страницами.
А пока вот как мы подошли к задаче сокращения времени загрузки страниц Ноушен.
Технические изменения
Были предприняты комплексные усилия по увеличению загрузки страниц и скорости навигации на 50 %.
Для начала мы учли общую задержку нашей системы, оптимизируя каждую часть нашего стека. Например, мы разделяем большие пакеты кода в нашем приложении JavaScript, позволяя сначала загружать основные части приложения, а затем откладываем некритические части на потом (это называется разделением кода). Мы также улучшили нашу общую инфраструктуру кэширования как на клиенте, так и на сервере, что означает, что мы можем получать содержимое страницы гораздо эффективнее. В совокупности эти и другие технические изменения способствуют сокращению времени загрузки.
Все это должно ощущаться в продукте при переходе между страницами, особенно в приложениях Ноушен для Mac и Windows. Мы решили перенести наши настольные приложения на SQLite, поскольку это надежное решение для хранения данных, которое за последний год продемонстрировало заметное улучшение производительности наших мобильных приложений.
До появления SQLite мы полагались на IndexedDB для хранения данных на стороне клиента. Но мы столкнулись с квотами на хранилище, рядом ошибок и проблемами с производительностью, в частности на компьютерах с Windows, а это означало, что IndexedDB не могла масштабироваться с растущей базой пользователей Ноушен.
Теперь использование SQLite в качестве уровня хранения позволяет нам вообще обойти хранилище браузера — избегая ограничений хранилища, тонких различий между операционными системами и т. д. — создавая прочную основу для будущего роста.
Что это значит в будущем?
Теперь у нас есть хорошо контролируемый уровень хранения данных во всех наших специализированных приложениях. Это дает нам возможность делать гораздо больше на стороне клиента, чем это было возможно раньше. Когда больше данных хранится и эффективно извлекается из клиента, Ноушен может работать намного быстрее.
Этот прирост производительности — один из многих, которых мы надеемся добиться в ближайшем будущем, продолжая улучшать ваш опыт работы с Ноушен.
Хотите присоединиться к нам? Посетите нашу страницу вакансий , чтобы увидеть открытые вакансии.