18+
  • Образ жизни
  • Технологии
Технологии

Как команда программистов из Петербурга разработала онлайн-переводчик, попавший на главную страницу App Store

Спустя полгода сверхсекретной (ну, почти) разработки команда программистов из Петербурга запустили приложение Graspp, которое за считанные дни вышло на главную страницу App Store. Это онлайн-словарь с новой неожиданной механикой: чтобы узнать перевод незнакомого слова, достаточно показать на это слово пальцем (да-да, прямо в книге!) и навести камеру. Основатель проекта Арсений Коган рассказал «Собака.ru», зачем они сделали «еще один переводчик».

Лаки Ийнбор, Арсений Коган, Егор Дубовицкий и Антон Югов (за кадром) запускают Graspp

Лаки Ийнбор, Арсений Коган, Егор Дубовицкий и Антон Югов (за кадром) запускают Graspp

Об идее

Закройте глаза и сделайте глубокий вдох: переношу вас в лето 2019. Теплый день, конец августа. Время, когда слово «зум» еще ассоциировалось в основном с фотоаппаратами. Мы в гостях у Джона (не путать с Джеком) Николсона, писателя и переводчика. У Джона серьезная библиотека, и, как вы уже догадались, многое — на английском языке. У меня в руках альбом "Petersburg Perspectives". Художественные фотографии города дополнены очерками иностранцев. Один из очерков в этом альбоме, как вы уже догадались, написал сам Джон, когда в начале 90-х переехал в Петербург, сразу после окончания Оксфорда.

Очерк Джона Николсона, с которого начался Graspp

Очерк Джона Николсона, с которого начался Graspp

Мы люди простые, Оксфорд не заканчивали — в тексте встречаются незнакомые слова. Тут два варианта: слово пропустить, типа, по смыслу догадаюсь. Работает иногда, но нюансы теряются, а бывает и совсем непонятно ничего. Второй вариант: берешь смартфон, смиренно на клавиатуре вводишь слово — скучно и долго. Есть и третий вариант, на самом деле: фото-переводчики. В Google Translate, например, можно навести камеру на текст и он весь прямо там на картинке переведется. Магия! Проблема в том, что эта магия (черная) совсем для чтения не предназначена. Переводится весь текст на фото, все скачет-прыгает. И не поймешь, где то слово, которое ты искал. Да и вообще! Мне слово посмотреть нужно, а не этот ваш машинный перевод читать.

Текст и попытка его перевести в Google Translate

Текст и попытка его перевести в Google Translate

Стал думать. Так, камера есть, слова распознавать можем. Но как выделить нужное слово? Прицел? Рамочка? Стрелочка может быть… Да ведь у нас же есть, чем указывать! Палец! Бог дал нам пальцы, десять штук. Первая мысль: на меня сошло озарение. Следующая мысль: да есть такое уже, наверняка. Весь оставшийся день я провел в App Store в поисках такого приложения. НЕТ! То есть 2019 год (эх!), а нормального способа перевести слово в тексте — нет. Решено: надо делать. 

Вообще, я думаю, весь этот проект — попытка закрыть детский гештальт. Я учился в школе, где детей мучают латынью и древнегреческим (не спрашивайте ничего!). Я помню это ощущение, когда ты ищешь в словаре одно слово, а потом оказывается, что это аорист первый (прошедшее время в древнегреческом языке — прим. ред.), и смотреть нужно на другую букву… но это уже другая история.

Стартап по-петербургски: первый пункт в списке дел на день — затопить камин!

Стартап по-петербургски: первый пункт в списке дел на день — затопить камин!

О везении

Знаете, бывает, что все как-то складывается. Так и с нашим «пальцем»: дизайнер Егор Дубовицкий сразу же согласился нарисовать первые прототипы. Будущего нашего инвестора моя девушка встретила в «Коржове» буквально и недели не прошло. Сходила, называется, за хлебом. Утренний «нетворкинг» Петроградской стороны и Крестовского острова! Через несколько дней я иду по Московскому проспекту, перехожу Фонтанку. Навстречу летит Дим По (художник и дизайнер. — Прим.ред.) на моноколесе. Перехватил его, рассказал идею. Он поддержал, посоветовал программиста по имени Лаки. Встретились в «Гараже» (помните, раньше так можно было?), все обсудили и дальше я уже никого не искал. Чтобы вы понимали: iOS разработчиков на рынке крайний дефицит, найти кого-то адекватного — да еще и так, чтобы не пришлось закладывать фамильные драгоценности — задача практически невыполнимая! (Это информация для вас, дорогие школьники и студенты) Но нам повезло: у нас теперь был Лаки!


Будущего нашего инвестора моя девушка встретила в «Коржове» буквально и недели не прошло. Сходила, называется, за хлебом.

Кстати, старожилам на заметку: помните клуб «Доменикос» в начале девяностых? Я сам не помню, но мне рассказывали. Так вот наш Лаки — сын того самого Лаки, основателя «Доминикос». Тут интересны две вещи. Во-первых, наблюдается явный культурный сдвиг в сторону IT. Это приятно. Во-вторых, отчество Лаки (из-за ошибки в российском паспорте папы) — Локиевич! 

Разработчик Graspp Лаки Локиевич работает в первом офисе компании

Разработчик Graspp Лаки Локиевич работает в первом офисе компании

С офисом тоже повезло: у Джулиано ди Капуа как раз освободился один отсек на его дебаркадере: том самом, который прославился благодаря лайфстайл-проекту Life Aquatic Яны Милорадовской (главного редактора «Собака.ru» — Прим. ред.). Потом мы шутили, что, если компания Apple начиналась в гараже, то мы — в доме на воде!

О сложностях

Несмотря на кажущуюся простоту, механика «показал пальцем и увидел перевод» — технически довольно сложная задача. Для этого нужно как-то программно определить координату кончика пальца в потоке видео, распознать текст на картинке и найти в нем то слово, на которое палец указывает. Слово нужно стабильно «подсветить», проверить, что распознавание прошло без ошибок, перевести и показать перевод. С точки зрения дизайна тоже все интересно: у нас примера не было, приходилось все придумывать самим.

Несколько разных концепций, которые не были приняты

Несколько разных концепций, которые не были приняты

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


Мне пришлось выучить Python и собрать больше пяти тысяч фотографий разных пальцев, чтобы было на чем тренировать нашу «модель»

Где-то два месяца мы вообще не были уверены, что у нас получится сделать все, как мы задумали. Например, готового open-source решения для определения кончика пальца не оказалось. Сначала я искал партнеров, которые занимаются machine learning (для определения пальца мы используем машинное обучение), но мне называли какие-то дикие суммы за разработку этого модуля. Решили делать все сами: мне пришлось выучить Python (язык программирования, используется для машинного обучения) и собрать больше пяти тысяч фотографий разных пальцев, чтобы было на чем тренировать нашу «модель».

Я хорошо помню день, когда все эти технологии сложились, и нам удалось протестировать прототип! Я тогда подумал: а вдруг все действительно получится?! За два месяца я уже начал сомневаться, что мы справимся, и вот у меня в руках вещь, которая работает!

Первое полноценное демо

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

О запуске

После праздников началась подготовка приложения к запуску — целая пропасть мелочей, которая отделяет прототип от законченного продукта. Аккуратный перенос дизайна в код, обработка редких случаев, оптимизация потребления ресурсов, исправление багов. Не совру, если скажу, что этот список можно продолжать бесконечно!


«Запускаться поехали в деревню Силино. По принципу "пока не выложим в App Store — не расходимся"»

Чтобы как-то бороться с этой бесконечностью мы всей нашей командой запускаться поехали в деревню Силино. По принципу «пока не выложим в App Store — не расходимся». Сняли дом, который мы обычно снимаем в теплое время года. Летом там отвлекающих факторов масса, а в конце февраля — никаких. Сработало. Мы провели несколько суток за компьютерами, отправили приложение на ревью (каждое приложение в App Store проходит модерацию сотрудниками Apple) и… затопили баню. Я сижу, довольный, в клубах пара, пью «Молоко +» из бара «76» и не выпускаю из рук телефон: жду подтверждения. И в какой-то момент вижу: в «сторе». Такая радость — видеть результат нескольких месяцев работы! Мы прозвали это место Silino Valley — по аналогии с Silicon Valley, местом в Калифорния, где расположены штаб-квартиры международных высокотехнологичных корпораций вроде Apple, Facebook и Google.

Дом в Silino Valley. Фото: Егор Дубовицкий

Дом в Silino Valley. Фото: Егор Дубовицкий

О планах (и мечте)

На самом деле Graspp — это больше, чем «еще один переводчик». Это вообще новый способ взаимодействия между цифровым и физическим миром. То есть раньше вы могли что-то мышкой делать, на экране нажимать, на клавиатуре набирать. Теперь еще можем пальцем на что-то указать, а софт это обработает. Представьте, гуляете вы по Праге, и тут вдруг перед вами интересный изогнутый дом. Открываете обычную камеру на айфоне, указываете на дом пальцем — и вот ответ из Википедии: оказывается это «Танцующий дом» Фрэнка Гери!


«Мы не расстроимся, если Apple нас купит!»

Мы хотим эту тему развивать: сначала добавим больше языков, Википедию, выделение фраз и целых предложений. Возможно, сделаем поиск по объектам. Но наша мечта, конечно, стать стандартной механикой в камере на iOS. Не расстроимся, если Apple нас купит! Но даже если сделают сами — круто: мы эту штуку придумали, этого уже не отнять.

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

Демо приложения Graspp

Скачать Graspp

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

Скачать Graspp c App Store.

И самое главное. Мне часто говорят: вау, классная штука, но сам я на английском не читаю, тяжело. Так вот! Представьте, что у вас дома коллекция пластинок стоит, но не было проигрывателя. Так вот мы сделали этот проигрыватель. Точнее, нет, даже выигрыватель! С Graspp’ом то, что раньше было читать лень из-за большого количества лексики, теперь легче в 10 раз читать. Сейчас времени для этого стало больше. Попробуйте.

С любыми комментариями и вопросами о приложении обязательно пишите нам на почту: team@getgraspp.com

Комментарии (1)

  • Оксана Соколова 28 апр., 2020
    Статью прочла с наслаждением, радовалась за ребят. Удачи, конечно! Молодость, ум, красота. Жду версии для Андроида :).

Купить журнал: