среда, 24 сентября 2014 г.

Локализация приложений - Duolingo - Сколько языков я знаю?

Одним из самых важных факторов, определивших успех моих приложений, явился их перевод на 9 европейских языков. Англоязычные страны приносят от силы 40% общего дохода. Топ-5 по странам на сегодня: США 27.9%, Германия 10.9%, Россия 8.7%, Франция 6.5%, Швейцария 6.4%.

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

Например, у меня есть приложение "Химические элементы" (iOS, Android). Если искать словосочетание "periodic table" в американском App Store, найдутся 240 приложений для iPhone. Мое - на 61-м месте. Не очень впечатляющий результат. Поверьте, даже гики не будут листать до 61-го эппа, если впереди полно хороших бесплатных таблиц элементов. Теперь ищем "периодическая таблица" в российском Эпп Сторе: 9 приложений всего. Мое - 3-е. (Для "периодическая система" - 2-е из 4). Шведский Store: periodiska systemet - 3-е из 4. В Швеции есть химики, и на третьем месте они мое приложение точно найдут. Соответственно в России приложение "Химические элементы" заработало 21% от всех своих доходов, в Швеции - 12%, в США - 11%. Если бы я его не локализовал, то вместо $360 за полгода (что нормально), было бы $70 (негусто).

Большинство моих приложений переведено на английский, русский, немецкий, французский, испанский, итальянский и португальский языки. На Андроиде язык можно поменять в "Опциях" приложения, на iOS - пока только в настройках устройства. В марте я стал добавлять шведский. В апреле - голландский. И сразу наблюдал взрывной рост доходов от Швеции, Нидерландов и Бельгии.


Во всех странах мира можно найти мои приложения по английским ключевым словам, но всем нужно на своем. Есть шведский, нет норвежского: Швеция - $588.15, Норвегия - $45.04; есть голландский с французским, но нет японского: Бельгия - $386.24, Япония - $65.52. Ничем другим - ни размером, ни продвинутостью населения - не объяснить эту разницу в доходах от этих стран. По странной политике Apple ни в Украине ($28.59), ни в Беларуси ($3.89) не ищутся русские ключевые слова - только английские. Зато в США ищутся испанские, что не может не радовать.

Итак, переводы - это безусловно хорошо, но они стоят денег / времени. Профессиональные переводы не так уж дороги, но для моих эппов даже 5 центов за слово не вариант. Поэтому перевожу я все сам с помощью Google Translate, Bing Translator и Wiktionary. Тут почтенный читатель скривится, потому что он наслышан об ужасном машинном переводе: "наших приложений лучше покупать". У меня есть целый ряд оправданий:

1) Я стараюсь минимизировать количество переводимых фраз и делать их грамматически проще.
2) Я выбираю темы для приложений, которые позволяют легко переводить базу данных: названия всех химических элементов или всех стран мира на всех языках без труда находятся в Wikipedia.
3) Онлайн-переводчики уже весьма прилично переводят с английского на основные европейские языки. Русский язык сложен, содержит много падежей, переводы на него хромают. Но с русским-то у меня меньше всего проблем. Иначе бы он не попал в число поддерживаемых языков.
4) Некоторые приложения нет смысла переводить на все языки. Мои "Российские регионы" (iOS, Android переведены только на русский и на английский. И я не думаю, что бразильцы сильно расстроятся от того, что не смогут отгадать Чечню или герб Ярославской области на португальском.

5) У меня есть знакомые, которые могли бы помочь мне с переводом на французский или на китайский, но я же все сам, не люблю никого просить о помощи. Заодно получаю базовые представления о других языках.
6) За все время я не получил ни одного отрицательного отзыва от пользователей, в котором бы критиковалось качество перевода. Наоборот, я вижу благодарности за то, что приложение было переведено на их язык.

Два любимых примера:
1) Вначале я выпустил приложение "Неорганические кислоты" (iOS, Android) только на английском и русском, уж очень у него большая и запутанная база соединений.


И вскоре мне написал некий итальянец по имени Сандро, который предложил свою помощь в переводе приложения на итальянский (он уже поиграл в мои другие приложения, которые были переведены на 7 языков). Я не хотел грузить бедного волонтера переводом всяких "азотноватистых кислот" (acido iponitroso), но его помощь в проверке всех стандартных фраз ("Вы хотите стереть весь прогресс?") оказалась бесценной. Я стал регулярно отправлять ему свои переводы на проверку, и со временем он стал отвечать, что ошибок не видит.

2) Приложение "Кантоны Швейцарии" (iOS, Android) удостоилось самого длинного 5-звездочного отзыва, что я когда-либо получал:
Ich finde diese Schweizer Kantone App sehr gut für mich, denn wir haben das NMM Thema Schweiz und das ist die perfekte App um das zu üben! Ich habe diese App meiner Lehrerin vorgeschlagen und sie hat auf alle IPads der Schule diese App heruntergeladen. Momentan gibt es einen kleine Wettkampf, wer am meisten im Zeitspiel schafft. Es macht mega Spass und der Rekord hat unsere Lehrerin aufgestellt mit 35 Punkten. Ich hoffe sie bringen noch mehr solche guten Spiele heraus!


Моих познаний в немецком хватает, чтобы понять, что "ich" - это "я", а вот насчет "vorgeschlagen" и "heruntergelden" я уже не силен. С помощью того же Гугла я узнал, что:
"Я считаю, это швейцарские кантоны приложение очень хорошо для меня, потому что у нас есть тема НММ Швейцария и это идеальное приложение к практике, что! Я предложил это приложение к моим учителем, и она скачал на всех IPADS школы это приложение. В настоящее время существует мало конкуренции, чтобы увидеть, кто создает большую часть времени в игре. Это супер весело и рекорд наш учитель настроить с 35 очками. Я надеюсь, что они приносят больше таких хороших игр из!"

Ну, то есть если даже "прусскому учителю" это приложение понравилось (да-да, я знаю, что Швейцария - это не Пруссия), то не так уж я налажал в немецком. И появилась у меня гордость за то, что простой русский паренек из штата Юта смог вывести свое приложение в топ словесных игр в далекой Швейцарии. (Или они подумали, что его делал некто из франкоговорящих швейцарцев, и вообще они должны быть мультилингвальны и толерантны). Кстати, 35 правильных ответов за 1 минуту - это действительно очень круто.

Наконец-то в моей жизни появилась практическая, измеряемая в долларах, польза от иностранных языков. До этого я жил как мой брат, который проведя на стажировке во Франции (в самом Париже!) 3 месяца, по-французски не выучил вообще ничего - absolutely nothing. (Он возражает, что выучил: sortie - это выход).

Я же начал постепенно отличать португальский от испанского и выучил комбинации клавиш для таких замечательных букв как å, ß, ø и необходимых знаков препинания ¿ и ¡. У меня нет цели научиться говорить на этих языках или набрать словарный запас. Моя роль скромна - корректировать онлайн-переводчики. Google и Bing часто переводят фразы по-разному, и я выбираю, как лучше.

Для начала я прочитал статьи в Wikipedia в духе "Portuguese grammar", но больше всего мне понравился знаменитый Duolingo, созданный учеными из Carnegie Mellon University. В 2013 году Apple назвали их мобильную iOS версию "Приложением года" - впервые этот титул достался не игре. Мне же больше подошла онлайн-версия, где основные языки учат миллионы людей.


Я решил учить немецкий (самый сложный), испанский (самый полезный) и итальянский (самый любимый). Сорри, французский, португальский и остальные, ваш час еще не настал. Ну, учить - это громко сказано. Каждое утро (каждое - у меня 130-дневая бесперерывная серия со времени нашего путешествия в Сиэтл) я трачу 15-30 минут на то, чтобы пройти по уроку в каждом из трех языков. Каждый урок состоит из того, что надо перевести на английский или с английского около 20 предложений. Больше трех ошибок - начинай сначала. В английском я, кстати, тоже далеко не безгрешен да и опечатки часто делаю.

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

Сколько, получается, языков я знаю?
Полтора.

воскресенье, 21 сентября 2014 г.

Мой брат - постдок

Кто такие студенты, знают все. И про аспирантов слышал каждый. А вот о постдоках обыватели не знают. Тем временем, решил я написать своим давним знакомым, и оказалось, что его среднестатистический портрет: говорит по-русски, живет в США, постдок. И брат мой таков, да я и сам по всей логике вещей должен был подпадать под это описание. Но вот мой брат - постдок, а я уже нет. Как это получилось?

Сегодня брат мой да я отправились в его офис переустанавливать на Мак-мини операционку. И вот лежу я на диване в его офисе, надо мной карта немецких Альп и думаю: "А был бы у меня, химика-постдока, такой отдельный офис, с табличкой 'Андрей Соловьев. Postdoc'. Такой большой, что после него офисы в Microsoft Research показались бы крошечными, а выделенный мне в Беркли метр общего стола - слева человек, справа человек, тяга в соседней комнате - казался бы издевательством над званием PhD. Чтобы в офисе не было окна, дверь наглухо запиралась и все бы понимали: "Не мешайте! Постдок думает". А я мог бы лежать в это время на диване, и дремать, а не клевать носом, сидя в неудобном кресле. И чтобы в выходные в офис я приходил исключительно из-за того, что дома интернет слабый, а не потому что от меня кто-то требует или ожидает работать в день воскресный и в день субботний. И чтобы платили мне 65k, а не 39.5k". И тут я проснулся.

Xcode установился, и мы вместе с братом посмеялись над лопатоподобным разрешением симулятора 6-го iPhone. Близился час обеда. В офисе есть старые микроволновка и холодильник, но брат ими не пользуется, а ходит на ланч в местный Student Union. Придешь так на работу к 10-11, а тут и время ланча подошло - пошел прогулялся. Вернулся, еще немного понажимал на клавиши, почитал статьи, как уже 5 часов пробило - пора идти домой. Но это у него большой прогресс по сравнению с постдокством в Питтсбурге: там у него не было такого замечательного офиса - нельзя же сосредоточиться на работе, когда кругом вертятся посторонние люди - поэтому там он работал исключительно дома и лишь на 1.5 часа в неделю приходил на факультет поболтать с руководителем.

После защиты в ноябре 2012-го он был переведен из аспирантов в постдоки, но продолжал работать над тем же проектом (формальное доказательство гипотезы Кеплера о плотнейшей упаковке шаров), с тем же профессором Томасом Хейлсом, только платить ему стали существенно больше. Он часто повторял, что остался не потому, что не может найти другую позицию постдока, а потому что хочет завершить свой проект. Проект под кодовым названием Flyspeck, начатый еще в 2003 году, будет в итоге завершен 10 августа 2014 года, и мой брат скажет: "Ни в одно еще лето я не работал так продуктивно". На самом деле нужно было выждать, пока у нас закончится договор на аренду питтсбургской квартиры, чтобы не платить early termination fee в размере 3 месячных плат.

Договор заканчивался 29 июля 2013 года, и чем ближе подбиралась эта дата, тем настойчивее я напоминал брату, что пора бы уже подаваться на постдока. Я этим озаботился за год до защиты. "И чем эта поспешность кончилась?" - "Ничем хорошим, но…" Наконец, 7 июля мы начали писать письма профессорам. Я ничего не понимаю в формальных доказательствах, но мне только дай что-нибудь поискать, составить список профессоров: кому написали, кто ответил и так далее.

Во-первых, мой брат хотел перейти в computer science. На PhD он поступал на чистую математику, ему повезло, что в Питтсбурге оказался такой профессор как Хейлс и его диссертация была в общем-то программистской. С каким восторгом уже в Юте он мне признавался, что с интересом читает научные статьи. Математические публикации его читать не тянуло. Математико-биологическое моделирование - тем более. А тут были настоящие программы, настоящие открытия, работа одновременно научная, но и практически полезная, фонтан идей.

Во-вторых, мой брат хотел остаться в США. И не только из солидарности с моей грин-картой и общим стремлением минимизировать бюрократию при переезде. Привыкли мы тут. Что такое SSN знаем, а что такое ИНН - c трудом. Поэтому когда один канадский проф, впечатленный выступлением моего брата на конференции в NASA, пригласил его на постдока, мой брат вежливо отказался. Уж лучше дядя Сэм, которого знаешь, чем тот, которого не знаешь.

География подачи была широкой. По сайту NSF я искал, у кого из профессоров есть деньги на формальные доказательства, посылал брату ссылки, и если кандидатура была одобрена, то мы переделывали под конкретного профессора общее письмо, и мой брат его отправлял. Работая в команде, мы отправили за неделю 48 писем и стали ждать.

Две трети профессоров рано (через 5 минут после отправки письма) или поздно (через пару месяцев), но ответили. Причем ответа чаще не было из провинциальных Южных Каролин и Миссури. Другие отвечали: «Прекрасное сиви, но 1) у меня нет денег; 2) у меня есть деньги, но постдоки тоже есть, вы бы пару месяцев назад написали, а так пишите в следующем году; 3) я никогда не беру постдоков; 4) я ушел на пенсию, а грантовые деньги вернул государству; 5) деньги есть не под то, чем вы занимались, а постдоки должны работать, а не учиться чему-то новому; 6) я сейчас собираю стопку сиви от претендентов, по осени буду считать; 7) у меня нет денег, но меня недавно спрашивали люди из Apple, нет ли у меня на примете хороших программистов».

Все же у брата состоялись несколько телефонных и Скайп-интервью. В том числе с Berkeley и MIT, которые я не относил к "тихим и дешевым местам, в которых нужно отсидеться до получения грин-карты". Наконец, два профессора пригласили брата к себе на кампус для окончательного интервью. Один из них звался Sriram Sankaranarayanan и был профессором в Университете Колорадо в Боулдере, другой - Ganesh Gopalakrishnan и был профессором в Университете Юты. "Индусы наступают!" - закричите вы и правильно сделаете. В компьютерных науках они уже почти наступили. Вот перенесут кампус Microsoft Research из Редмонда, штат Вашингтон, в Бангалор, Индия, и наступят. Шрирама брат не знал, а Ганеша уже встречал на той же НАСАовской конференции.

Тем временем мы переселились в отель, не зная еще ехать нам в Солт-Лейк-Сити или только до Денвера. Вначале брат слетал в Колорадо, и там ему все понравилось, и он им понравился. Оффер был в процессе подготовки-отправки, и поездка в СЛС казалась пустым знаком вежливости (раз ее платят, то что ж не слетать). Но там брату понравилось еще больше, и оффер был выдан ему на руки в последний день его прибывания. И сумма там стояла $60k в год, а не $50k (отмечу, что обе суммы - нереально большие для постдока-химика первого года, но надо же как-то академии бороться с Гуглом и прочими за лучших программистов).

Дилемма разрешилась неожиданно. Боулдер поплатился за свою забюрокраченность. Мой брат был в визовом статусе F1-OPT, 12 месяцев которого подходили к концу уже в декабре. Нам и в голову не приходило проверить, участвуют ли государственные университеты в программе E-Verify, позволяющей продлить OPT еще на 17 месяцев, если степень получена в науке или инженерии. Оказалось, что Колорадо-Боулдер такого продления не делает, и они уже начали готовить брату рабочую H1-B визу. Для моего брата, ненавидящего всякую бюрократию, выбор в пользу Юты стал очевиден.

У меня вызывают улыбку фразы: "Твой брат легко найдет работу в IT". Легко-то легко, но он не будет ее искать. Тот, кто познал эффективность истинно свободного научного творчества, никогда не пойдет работать под чье-либо начальство с графиком 9-5 и 10 днями отпуска в году. Мой брат всегда смеялся над тем, как я раболепствую перед своими руководителями, и я видел, что ему никогда не понять, что такое быть студентом, аспирантом, постдоком, профессором в химии (или биологии).

Вы скажете, что я все это написал, потому что я завидую своему брату, что тот выбрал правильный путь. Нет, я свою неправую химию не поменяю на правую computer science. Ну, разве что на время :) Будь у меня в Беркли зряплата $60k, то, может быть, и не поменял бы. А написал я все это для того, чтобы подчеркнуть несправедливость распределения грантов NSF между науками. С какой стати грант для программистов должен быть те же $500k в год, что и для химиков? Вот брату дали компьютер такой, Macbook Pro сякой, и все, больше ему ничего для работы не надо. Никаких реактивов, растворителей и спектрометров ЯМР. Вот они и катаются на народные деньги по конференциям - куда их еще тратить? А брат говорит, что все честно: что от химиков нет никакой пользы, что их реакции и вещества в банках никому не нужны, а вот от компьютерщиков сейчас самая большая выгода американской экономике идет. Вот и рассудите, кто из нас прав.

воскресенье, 14 сентября 2014 г.

Чем я сейчас занимаюсь - The First Milestone

В конце августа мой брат взял неделю отпуска и переписал код под Андроид. И теперь, когда наши приложения доступны на двух основных мобильных площадках (все наши приложения в Apple App Store (iOS) - 46 штук; и все наши приложения в Google Play Store (Android) - 38 приложений), я могу рассказать широкой общественности, чем я сейчас занимаюсь.

Для начала график доходов за 8,5 месяцев:


Первый год после ухода из постдоков я отдыхал, экспериментировал, собирался с мыслями, и только в этом январе ко мне вернулось рабочее настроение, у меня появился iPod Touch, и я смог, не отвлекаясь, заняться разработкой приложений. Поэтому отсчет на графике ведется с начала этого года, хотя аккаунт разработчика создан 27 мая 2013-го.

Эксперименты показали, что игры приносят больше денег в первые дни после запуска, но потом без продвижения сваливаются в ноль. Образовательные приложения дают небольшой, зато стабильный доход. Поэтому большинство своих приложений я создал по модели, которую называю "letter quiz" (или "spelling quiz"), только меняя темы: список приложений может быть найден на моем сайте asmolgam.com (русская версия). В том числе я создал 9 химических приложений. Но наиболее прибыльными пока являются приложения географические, такие как Флаги всех стран мира (iOS, Android), 50 Штатов США (iOS, Android) и Страны Европы (iOS, Android).

Из приведенного выше графика видно, что если в январе мои доходы составляли в среднем $3.5 в день, то начиная с 20 августа, они не опускались ниже $150 / день (75% - доходы от рекламы, остальное - продажи). В посте о разочаровании в академической науке я поставил себе две промежуточные цели (майлстоуна): 1) выйти на самоокупаемость за 2 года; 2) иметь миллион долларов через 5 лет. Нынешние мои доходы сопоставимы с посточьей зарплатой. Считаю, что первый майлстоун был достигнут меньше, чем за отведенные 2 года.

Что дальше? Я не отказываюсь от своей мечты обустроить лабораторию с собственным финансированием, а потому буду двигаться ко второму майлстоуну. Я только лишь в начале пути, и мне еще многому предстоит научиться. Я знаю, как за 3 дня сделать приложение, которое будет приносить $1/день, но я не знаю, как сделать приложение, приносящее $100/день. Мы прекрасно работаем в команде с моим братом, но для него это всего лишь хобби - пара часов после основной работы, а чтобы штурмовать миллион он мне нужен на фул-тайм. Поэтому следующей задачей станет получение для него грин-карты.

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

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

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