Проект: Quickify — Для Быстрого Чтения  Публичный пост
10 августа 2021  2974
Держи долор
Quickify - Для Быстрого Чтения

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

TL;DR о проекте:

Android приложение. Читалка для быстрого чтения по методу RSVP. Показывает текст небольшими порциями в одном и том же месте экрана.
Разгоняет скорость чтения в 2 раза почти без тренировок.

Субъективно у меня:

  • скорость чтения простого контента 500..600 слов в минуту (скорость при обычном чтении примерно 250)
  • усиливается фокус и вовлеченность в чтение
  • невероятно удобно читать в транспорте и на ходу


Ссылка в Google Play

Введение

Меня зовут Стас, у меня 7 лет опыта коммерческой разработки под Android.

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

Стабильно раз в год из потока идей я цеплял одну и пытался воплотить. И ни разу не переходил рубеж даже в 10% готовности проекта.

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

Обо всем по порядку.

Чтение как неизбежность

Все мы вынуждены каждый день читать. Даже несмотря на ощущение, что чтение умирает – оно остается быть неотъемлемым инструментом познания.

Neuralink – очень амбициозно, аудио книги – очень удобно, но рассматривание напечатанных символов на плоскости еще долго будет оставаться основным способом загрузки информации в мозг.

Библиотека
Библиотека

Чтение как процесс

Давайте взглянем на процесс чтения и посмотрим как можно его улучшить.

Обозначим цель: получать больше информации и\или меньше напрягаться.

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

Микродвижения глаз
Микродвижения глаз

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

Невозможность читать из-за усталости глаз стала для меня одним из толчков к разработке этого приложения.

RSVP

Мысленным движением я пришел к идее: что если вместо того, чтобы рассматривать каждое слово самому, слова будут сами друг за другом показываться на глаза с определенной частотой.
Идея не нова. Имя ей RSVP (Rapid Serial Visual Presentation)

Прототип

Первая рабочая версия была накидана за 2 недели вечернего кодинга.

Ничего сложного: берем текст, между пробелами, как правило, слова, после точки или другой закрывающей пунктуации – конец предложения.
Вычисляем необходимую продолжительность для показа одного слова – 60 секунд / 300 слов = 200 мс.
Добавляем дополнительную паузу, если слово длинное. Если слово чересчур длинное – разбиваем на части.

Настройка скорости
Настройка скорости

Эврика!

После реализации прототипа меня ждал большой сюрприз, который и определил дальнейшую страсть к проекту.

Я обнаружил, что RSVP – очень удобный способ чтения. Я могу воспринимать текст намного быстрее, чем глаза способны двигаться по тексту.

Реализация

На рынке уже есть несколько неплохих реализаций этой идеи. Но они все не без изъяна.

Основной целью было сохранить для пользователя привычный и знакомый ему опыт чтения.

Как пользователь, я не хочу подстраиваться под новую технику чтения. Как пользователь, я хочу скачать читалку и легким движением начать читать.

Читаем книги

Никакая читалка не обойдется без поддержки всех популярных форматов книг и документов

Все что надо
Все что надо

Читаем из интернета

Много сил было вложено чтобы подготавливать для чтения веб-страницы.
Картинки, таблицы, куски когда и другие подобные элементы, во время быстрого чтения показываются на экране на промежуток от 1 до 10 секунд, в зависимости от настроек.

Пример статьи с кодом
Пример статьи с кодом

Telegram Bot

Особо удобной фичей считаю Telegram Bot, который автоматически добавляет в библиотеку все что ему пришлете.

Telegram Bot
Telegram Bot

Результат

На все ушло примерно 4 месяца фулл-тайм и еще 3 месяца парт-тайм работы.

Предметная область приложения достаточно простая: обработка, сохранение и рендеринг текста.
Я бы мог закончить все в 2 раза быстрее, если бы работал для заказчика за деньги.

Но во время работы я словил мощный феномен, только ради которого стоило все затевать.

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

Код этого проекта – лучший, что я писал за 7 лет.
Я переделывал и переписывал его столько, сколько считал необходимым. И в результате, помимо готового продукта, я еще вышел на новый уровень как программист.

Монетизация

Я выбрал монетизацию на основе подписок. Долор в месяц, 10$ в год.

На данный момент бесплатная версия ограничена максимальной скоростью чтения в 400 слов в минуту.

Инсайты

Я начинал и забрасывал несколько проектов.
Переход от "я закончил 0 продуктов" до "я закончил 1 продукт" оказался очень сложным.

Доведя этот проект до готовности, я вычислил для себя несколько критериев, которые повышают шансы на успех.

  • Мысль, что можно делать продукт вечерами, после работы или на выходных – самая большая ложь на свете. Даже маленькая идея может потребовать сотен часов полного погружения. Работая по выходным, переработка и выгорание наступают сильно быстрее, чем приходит первый результат.
  • Заведомо сложная идея обрекает на провал. Это максимально критично когда разработка ведется в одиночку и за свои деньги. Продукт с несколькими клиентскими приложениями, сервером, админкой, сайтом – сложно. Автономный сервис или приложение – легко.
  • Идея должна сразу пахнуть понятным способом монетизации. Писать много кода – очень утомительно. Без видимой награды провал неминуем.

Заключение

Я не пропагандирую читать только таким способом. С ростом скорости чтения закономерно падает качество восприятия.

Я нашел данный метод особенно удобным в следующих условиях:

  • Чтение простых текстов: новости, блог-посты, легкие статьи.
  • MUST HAVE для чтения в транспорте или на ходу. Не устают глаза, не теряется фокус. Это достигается за счет отсутствия необходимости делать сотни микродвижений глаз в условиях тряски.
  • При усталости глаз. Я выбираю большой шрифт и ставлю телефон в метре или двух от себя: одно большое слово прекрасно видно издалека, а текст листается автоматически.

P.S.

Очень полезно будет услышать обратную связь от членов клуба :)

Промокод VAS3K на бесплатный месяц.
На экране оплаты вместо своей карточки выберете "redeem promo code" или "воспользоваться промокодом".

Буду благодарен за хорошие оценки в Google Play

Всем хорошего чтения!

Связанные посты
50 комментариев 👇
Андрей Писков человек-оркестр (директор по IT-продуктам) 10 августа 2021

Будет жаль добавить ложку дегтя (это ваш продукт с кучей вложенных сил, а не просто ссылка на чей-то чужой).

Если кратко: истории уже очень много лет. Последний раз в питере серьезно изучала этот вопрос одна военная лаборатория (есть, скажем так, связи) лет 9 назад.

Кратко опишу две основные проблемы:

  • пересыхание глаз (люди начинают гораздо реже моргать, концентрируясь на быстро мелькающих словах), напряжение мышц глаза и т.д. — часть вещей могут приводить к необратимым изменениям тканей + банально сажать зрение;
  • скорость «чтения» выше, а вот усвояемость сильно ниже (особенно при проверке через, скажем, день и больше) по сравнению с «классическим» чтением.

Плюс, очевидные неудобства, когда хотите что-то быстро глянуть двумя абзацами ранее, перечитать мысль и т. д.

TLDR; если хотите таким образом худлит читать, то, в целом, будете читать быстрее (только не забывайте обильно моргать и расслаблять интервально глаза).

Но даже не мечтайте так быстро прочитать и усвоить какой-то материал.

Да и с худлитом тоже вопрос: будете ли вы в голове так быстро «картинку» строить = получите ли кайф.

  Развернуть 1 комментарий

@piskov, несмотря на "основные" проблемы, тема вполне юзабельна. Лично мне для усвоения текста надо прочесть его несколько раз, и rsvp как первый подход очень неплох, второй раз намного легче. Если уж прямо очень надо)

Очевидное неудобство в виде "надо посмотреть двумя абзацами ранее" уже решено в Reedy несколько лет назад.

Более того, сама техника натренировала мозг читать быстрее в режиме "как обычно", и глаза меньше начали уставать при длительном чтении.

Вы решили почему нет, а кто-то решил почему да, и получил новую модальность для решения простой задачи, со своими плюсами. Но это было ещё в те времена, когда RSVP внезапно попал на волну хайпа вокрук стартапа spritz inc

  Развернуть 1 комментарий

@piskov, первая проблема, кстати, является причиной, почему детям говорят "не сиди перед экраном, глаза посадишь!!!!" Слишком интересно, моргать начинают редко, глаза пересыхают, зрение падает постепенно.

  Развернуть 1 комментарий

@piskov, спасибо за отзыв. С морганием действительно есть нюансик. Я прорабатываю идеи как это можно решить. Например, раз N секунд делать паузу на K миллисекунд и подавать сигнал, что нужно моргнуть.

  Развернуть 1 комментарий

@Adamych, может менять место текста раз в несколько секунд? Тогда глаз будет двигаться

  Развернуть 1 комментарий

@eugenson, очень интересная мысль, мне не приходило в голову. Попробую сделать, посмотрю на удобство)

  Развернуть 1 комментарий

@Adamych, на хабре в свое время эта тема активно обсуждалась, вот нашел про моргание -

*Как решается вопрос с морганием?
Просто не забывайте моргать. Это относится не только к чтению. Допускать пересыхания поверхности глаз нельзя. Вообще, моргание — это очень быстрый процесс. Обычно не возникает сложностей с морганием даже на скорости чтения в 1000 wpm. Главное не забывать. Но если есть затруднения, особенно на высоких и сверхвысоких скоростях, то рекомендуется где-нибудь раз в минуту останавливаться и зажмуриваться на пару секунд. Также можете пробовать моргать глазами по очереди :) Хотя, возможно, просто стоит снизить скорость до уровня, на котором с морганием не возникает сложностей. habr.com/ru/post/220775/ *

Как вариант - раз в минуту вибрировать в руку и текст отключать на пару секунд?

  Развернуть 1 комментарий

@eugenson, спасибо за ссылку. Читал эту статью раньше, но не обращал внимание на моргание. Я лично с этим проблем пока не словил, но вижу, что надо делать какую-то фичу.

  Развернуть 1 комментарий
Yaroslav Lunev Адвокат дьвола 10 августа 2021

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

UPD: пошел в апстор, оказывается там есть из чего выбрать по запросу RSVP.

  Развернуть 1 комментарий

@Yardy, держу мысль о версии приложения на айфон, благо технология Kotlin Multiplatform позволит как минимум половину когда портировать одним махом. Но нужно сначала протестить концепцию на Android)

  Развернуть 1 комментарий

@Adamych, для кроссплатформенности рекомендую флаттер, в целом очень похож на Котлин, Базовая концепция очень простая, если заинтересует - пиши в тг, расскажу что как)

Рубрика: непрошеные советы

  Развернуть 1 комментарий

😱 Комментарий удален его автором...

  Развернуть 1 комментарий

Идея выглядит очень красиво, жаль что у меня айфон (

  Развернуть 1 комментарий

@RomanGrunin,

Android, Flutter DEV
жаль что у меня айфон (

Простите, но улыбнуло — отличная современная иллюстрация сапожника без сапог :-)

  Развернуть 1 комментарий

@RomanGrunin, на айфоне куча подобных аппов, вчера смотрел, Outread, Wordex из более менее. Вордекс — бесплатный и красный прицел посреди слова ставит, чтобы глаза не прыгали. Аутрид — платный и прицел не ставит, но приложенька приятнее. Короче, прицел рулит.

  Развернуть 1 комментарий

@RomanGrunin, можете глянуть еще UpRead · Speed Reading App

  Развернуть 1 комментарий

Красавчик! Отличное приложение и интересно было почитать про разработку:) Желаю успехов! Теперь осталось самое сложное - привлечение пользователей, удержание, работа с отзывами, и т.д :)

  Развернуть 1 комментарий

@Zefir, спасибо за отзыв! Раскрутка, действительно, очень тяжелое дело. Я даже не представляю как это и что меня ждет.

  Развернуть 1 комментарий
Алексей Пушкарёв virtual tour developer, Statement Music founder 11 августа 2021

Несколько лет назад было написано приложение под андроид, называется Reedy. Создатели тоже ограничились только плагином под хром и андроидом, к моему сожалению, эпол проигнорировали. Но для того, что они сделали, это был End Game, как мне кажется. Был даже материал на хабре с разбором фич и хаков.

Ваш проект чем-то отличается?

  Развернуть 1 комментарий

@apushkarev, несовершенство Reedy и сподвигло меня на свою разработку. Принцип ровно такой же.

Я считаю, что мое приложение более удобное, функциональное и надежное.

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

  Развернуть 1 комментарий

@Adamych, готов заплатить не долор, а десятку за версию для ios
и букмарклет для сафари)

  Развернуть 1 комментарий

@apushkarev, ого, меня удивляет спрос на ios версию) Начну раскуривать сколько мне будет стоить усилий портирование на ios.

  Развернуть 1 комментарий

@Adamych, ну в смысле, ios всё ещё остаётся более прибыльной платформой для девелоперов, люди тупо оставляют там больше денег(((

  Развернуть 1 комментарий

Когда-то пробовал похожие приложения. Это самое удобное. Картинки хорошо отображаются, очень удобно. Спасибо, подписался. Нашел одну проблему - нельзя читать закрытые посты клуба и авторизоваться через приложение тоже (в покете реализована возможность аторизации, было бы круто получить такое и здесь)

  Развернуть 1 комментарий

@eugenson, спасибо за отзыв! Рад что вам понравилось)
Планирую сделать авторизацию, как минимум для нашего клуба, в ближайшее время.

  Развернуть 1 комментарий

Было бы интересно узнать продуктовый разбор проекта: обзор аналогов и конкурентов, их проблем, выдвижение гипотез как можно обойти эти проблемы, обзор ЦА, модели монетизации, когда окупится и т.д. В текущем виде текст выглядит как «я нафигачил сложный технический проект, пользуйтес» :) Что конечно же тоже занимает свою нишу проектов с основной целью технического развития автора, но я вижу, что у вас есть цель монетизироваться, то есть быть не только технически интересным проектом для автора, но и полезным проектом для пользователя. Видимо, подробности или не исследовались, или ушли за рамки поста.

В любом случае, это интересный sneak peak в проект, будет интересно узнать больше с точки зрения продукта!

  Развернуть 1 комментарий

@murfel, ваш комментарий заставил задуматься. Пока что рыбов я только показываю...
Еще не доходил до момента выпуска своего продукта в свет, предстоит разобраться со всем вами перечисленным.

  Развернуть 1 комментарий
Кирилл Пименов Старший по парольчикам 13 августа 2021

На старательно дегуглизированном телефоне не получается никак заплатить — и даже цен не видно. (Вот кто бы мог подумать, а?!)

Есть ли какой-то вариант заплатить напрямую, и получить ссылку на секретный реп под F-Droid, где приложение будет обновляться, и не иметь при этом ограничений бесплатной версии?

Я бы и поднять такую репу помог бы, естественно. (Для тех полутора землекопов, которые, как и я, угорают по духу старой школы и полному контролю за собственными девайсами.)

  Развернуть 1 комментарий

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

  Развернуть 1 комментарий

Интересный метод. На apple watch была читалка которая показывала книги вот так по слову. Но была очень глючная и постоянно вылетала. В целом мне этот метод не подошёл - устают глаза. Открыл для себя TTS на запредельных скоростях. Получается почти так же быстро как RSVP

  Развернуть 1 комментарий

@anatolt, а что такое ТТС?

  Развернуть 1 комментарий

@Yardy, Text To Speach (TTS) - когда синтезированный голос читает тебе книгу. штука на любителя, но зато всегда ровный голос с ровными интонациями, привыкнув к которым можно вообще забыть о нём и получать из книги прямо картинки в мозг. Плохо работает с книгами, где есть какие-то математические выкладки (например в книге "от ИИ до зомби" которую сейчас читаю слушаю) но в таких случаях можно остановить бубнёж робота и посмотреть на формулы/цифры/непонятный абзац глазами.

  Развернуть 1 комментарий

@anatolt, подскажите, а каким приложением пользуетесь для чтения через TTS?

  Развернуть 1 комментарий

@Adamych, на андроиде задонатил aloud reader на iOS глючный capti. Из-за того что на iOS все читалки с TTS которые я перепробовал работают как говно - ношу с собой специально отдельный андроид телефон чтоб книжки слушать. Заодно запасной девайс на случай когда мой старенький 6s айфон садится.

  Развернуть 1 комментарий

@anatolt, в ближайшее время планирую прикрутить TTS. Очень привлекают меня голоса от Amazon Polly. Один из лучших TTS генераторов, которым можно пользоваться за деньги.

Главный вопрос это стоимость. Они просят 4 бакса за 1кк символов. По моим расчетам это очень приблизительно 10 часов чтения на скорости 350.

Для вас был бы удовлетворительным ценник за подписку в 4-6 баксов в месяц за очень качественны голоса ?
Или стандартные TTS голоса вполне устраивают?

  Развернуть 1 комментарий

@Adamych, стандартные голоса устраивают. 6 баксов в месяц платить не готов. вообще не люблю сервисы с подписными моделями, могу заплатить 1 раз небольшую сумму.
но на одного меня ориентироваться не стоит. я жлоб, причём довольно специфичный.
с удовольствием протестирую когда прикрутите TTS.

  Развернуть 1 комментарий

Пожалуйста, посоветуйте под iPhone хороший аналог, раз у вас уже есть опыт в таких приложениях. Спасибо :)

  Развернуть 1 комментарий

@khomaldi, попробуйте UpRead · Speed Reading App или Outread: Speed Reading Trainer
Я ими попользовался буквально чуть-чуть, но выглядят функционально.

  Развернуть 1 комментарий

Не уверен, что правильно писать сюда, но баги:

  1. При первом запуске на секунду мелькает "Hi ✋🏻" и сразу же открывается эта статья, (ps. получается промокод в конце - для всех установивших?))
  2. При отображении по два слова иногда эти они не влезают в экран. В этой статье, например, такое со словами "личном приложении"
  Развернуть 1 комментарий

@psydvl, спасибо за отзыв.

  1. Это фича, я сделал побыстрому перед публикацией, чтобы сразу прочитать ее в приложении. Немного коряво переходит выглядит. Промокод работает для всех, вводите на экране подтверждения оплаты, которое снизу появляется
  2. Вот это из головы вылетело, надо пофиксить.

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

  Развернуть 1 комментарий

@Adamych Кстати, и промокод, я например, не нашел куда вводить. Почитал пол-статьи, решил что надо быстрее, оплатил, в конце увидел что есть промокод) А куда его вводить уже нет

  Развернуть 1 комментарий

@eugenson, даа, там не интуитивный флоу с промокодом в гугл плей. Когда на экране подписки откроется белое окно для оплаты, вместо своей карточки выберете "redeem promo code" или "воспользоваться промокодом".

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

  Развернуть 1 комментарий

@Adamych, спасибо. Это я написал в плане репорта а не сэкономить долор)

  Развернуть 1 комментарий
Michael Dugaev - — Чаще всего руковожу ИТ и всем, что рядом 12 августа 2021

Интересно, спасибо!

1 Как поменять оранжевый цвет основной буквы на что-то другое? ))

2 Если правильно помню, фишка spritz была еще в поиске правильной буквы в слове, по которой надо центрировать для чтения. Как Вы решили эту задачу?

  Развернуть 1 комментарий

@MichaelD, спасибо за вопросы

  • Пока никак, но у меня почти все готово чтобы выпустить эту фичу. Доделываю настройку и подбираю палитру цветов.
  • Я пока не вкладывал много усилий в расчет позиции этой буквы. Сейчас она выбирается в пределах первых 5-ти букв, в зависимости от длины слова. Практика показала, что этого вполне хватает. Как освободится время, попробую найти науку на этот счет.
  Развернуть 1 комментарий
Денис Кандров Делаю линейку для производительности ПО 13 августа 2021

Спасибо!
Идея прикольная, правда долго читать в таком режиме не могу себя заставить и переключаюсь в обычный, потом снова включаю RSVP.

Идея для улучшения: думаю в режиме, когда показывается несколько слов (я про настройку 1-2-3-4 слова), было бы круто, чтобы приложение понимало, где у слов есть предлоги и показывало бы их не в конце текущей пары слов, а в следующей. То есть показывалось бы слово со своим предлогом.

Например в тексте "Сегодня на улице был дождь" сейчас будет такая разбивка для показа одновременно двух слов:

"Сегодня на" | "улице был"| "дождь"

Но стало бы:

"Сегодня" | "на улице"| " был дождь"

Думаю восприятие текста повысилось бы.

  Развернуть 1 комментарий

@toborob, отличная идея насчет предлогов, так и сделаю, спасибо!
Небольшой совет из личного опыта: дайте себе привыкнуть к этому методу :)
А на какой скорости вы сейчас читаете?

  Развернуть 1 комментарий

@Adamych,
Да, вот такими переключениями и пытаюсь привыкнуть.
Скорость пробовал разную:

  • 200 прям мало
  • 250 вроде норм, но ловлю себя моментами на том, что жду
  • 300 тоже вроде норм, но теперь ловлю себя на том, что останавливаю и смотрю, а что там было
  • 390 пробовал, типа чтобы сразу на экстриме глянуть как будет, новое не получилось особо понять, скорее как перебор слов. Иногда с обычной книгой тоже бывает, когда на фоне о чём-то задумаешься. Но вот уже прочитанное перечитать в целом зашло.

Как-то так.

Отправил даже один репорт об ошибке. Кстати про репорт, он не исчез с экрана, книга распарсилась в целом и можно было бы её читать, но этот интерфейс с повторить снова и отправить репорт мешали. В итоге скачал книжку в другом формате и взлетело. Книга на которой упало отсюда в формате epub.

  Развернуть 1 комментарий

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

  Развернуть 1 комментарий

Крутой проект, но практическая польза непонятна. Я очень часто перечитываю небольшие отрывки, чтобы лучше вникнуть — как быть?

  Развернуть 1 комментарий

@OwX6Q1Fefan4Wnbe, Я бы рекомендовал немного подождать и дать время мозгу привыкнуть. По поему опыту, около недели чтения по 10-15 минут в день достаточно чтобы освоится. Но гарантий пользы, конечно же, тут нет.

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

  Развернуть 1 комментарий

😎

Автор поста открыл его для большого интернета, но комментирование и движухи доступны только участникам Клуба

Что вообще здесь происходит?


Войти  или  Вступить в Клуб