Перейти к содержимому

Инженерия для приватности и надёжности.

Как мы подходим к инженерии в обоих продуктах: малое число зависимостей, производительность на мобильных устройствах как часть работы, а не отдельный этап на потом, и код, который мы можем поддерживать годами. Менеджер документов построен по принципу local-first; приложение для изучения английского языка спроектировано для работы с подключённым сервисом.

Как мы проектируем.

Обязательства, лежащие в основе обоих продуктов, изложенные конкретно, а не как лозунги.

Сначала область применения, потом функции

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

Local-first там, где это уместно

Менеджер документов построен по принципу local-first: документы предназначены для хранения на устройстве, а его основная функция спроектирована так, чтобы работать без сети. Это относится именно к этому продукту. Приложение для изучения английского языка спроектировано для работы с подключённым сервисом, поскольку уроки и практика поступают из этого сервиса.

Малое число зависимостей

Менеджер документов спроектирован так, чтобы исключить сторонний код из пути обработки документов и не запускать никакой аналитики по содержимому документов. Это исключает некоторые удобные библиотеки, и мы принимаем этот компромисс ради уменьшения поверхности атаки.

Производительность на мобильных устройствах как часть работы

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

Создано для поддержки

Формат хранения спроектирован так, чтобы оставаться совместимым в будущем, поэтому документы, созданные на раннем этапе, продолжают открываться по мере развития продукта. По той же причине мы предпочитаем читаемый код хитроумному.

Архитектура

Как устроен менеджер документов.

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

01

Документ на вашем устройстве

02

Зашифрованное локальное хранилище

03

Индекс на устройстве

04

Поиск и извлечение