Pull to refresh

Client for Google Translate

Reading time4 min
Views1.2K


Прошло восемь месяцев с первого релиза клиента. Вчера я выложил новую версию (4.3.332). Для тех, кто не знает, речь идет о переводчике для Windows, который позволяет быстро переводить в большинстве приложений, просто выделив текст мышкой. Перевод осуществляется, как не трудно догадаться, с помощью сервиса Google Translate. Первый пост. Сайт переводчика.

Но я хочу рассказать не о возможностях новой версии, а о тех нескучных восьми месяцах работы.

Маленькие радости начались буквально через месяц после выхода первого релиза — я получил письмо от человека, представившегося продакт-менеджером Google, который вежливо попросил сменить доменное имя, чтобы не вводить в заблуждение пользователей. Дело в том, что первоначально я зарегистрировал и разместил программу на домене googletranslateclient.com. Просьба была как нельзя кстати: я только что провел сео-кампанию и выложил программу на 800+ download-сайтах. Естественно, везде были ссылки на googletranslateclient.com.

Договорились, что я беру месяц на переезд (чтобы Google проиндексировал по редиректу новый сайт) и затем удаляю старый домен. А все из-за того, что не доглядел в соглашении Google AJAX API пункт, запрещающий использовать слово Google в названии домена.

После переезда поисковый трафик резко упал, не смотря на «правильный» редирект с прежнего сайта и прочие попытки минимизировать ущерб с помощью Google Webmaster Tools. Раза, эдак, в три. До сих пор наверстываю.

Пару месяцев назад Google преподнес еще один сюрприз: изменился API. Изменения были незначительными, но клиент выдавал уже не то, что нужно. Исправил быстро, за день, но это был не лучший день в моей жизни.

Кстати, второй такой день случился пару недель спустя, когда мне стали приходить сообщения от благодарных пользователей типа «Чтоб ты, сука, сдох и в аду горел синим пламенем!», причем, на языках всего мира! Нет, ну бывает, что программа не нравится, но чтобы смерти желать… Однако, гнев пользователей был объясним: в первой «монетизированной» версии я допустил ошибку, которая вызывала напоминание об окончании демо-периода версии Pro примерно каждые 10 минут, хотя планировалось показывать его всего пять раз за все 30 дней, а потом тихо перейти на версию Free. Исправлял тоже быстро, вспоминая фильмы, где страшные негры тыкают иголки в фигурки главных персонажей :)

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

В итоге, я решил попробовать VPS. Это избавило от проблем с перегрузкой, однако появились проблемы с техподдержкой. Любимым ответом саппорта было «так вы подключитесь по SSH и сделайте все как вам надо». После вопроса «а что это такое?» мне, конечно, помогали, но осадок остался.

Но самый большой подарок я получил на новый год! К концу декабря мой VPS устал. Поработает пол дня и приляжет отдохнуть. Из тех инструментов, что мне были доступны (SSH не в счет), я имел статистику загрузки процессора и возможность послать запрос на перезагрузку сервера. Так вот, статистика загрузки говорила мне, что процессор чем-то сильно озадачен, а запрос на перезагрузку выполнялся в ручную людьми из техподдержки. И они не торопились бежать от праздничного стола к ресету, а уж тем более решать проблему.

В результате, после нескольких дней борьбы, я просто перешел на зарубежный хостинг. Сейчас сижу на VPS от HostGator — срок не большой для оценок, месяц не прошел, но одно очевидно: гораздо удобнее. Во время переноса мне ни разу не пришлось обращаться в техподдержку и вспоминать про SSH. Все, что мне нужно, решается через С-панель. Ну и за те же деньги я получил экономию на исходящем трафике. Грубо говоря, я платил нашему провайдеру 1800 рублей за хостинг и примерно столько же набегало за трафик (превышение исходящего зарубежного к исходящему российскому было платным). Теперь плачу $50 и не думаю о трафике.

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

К вопросу о скорости. В уже упомянутом выше Google Webmaster Tools есть инструмент, показывающий скорость загрузки страниц. Мой сайт был сделан на собственной CMS, довольно шустрой (ну, там просто ничего лишнего) и фраза «ваш сайт медленнее, чем 70% сайтов в интернете» задевала мое самолюбие. Во-первых. я не понимал почему. Сайт всего несколько страниц, выдача кэшировалась на уровне PHP (то есть, однажды сгенерированная страница просто инклюдилась из кэша). Картинки ужаты до неприличия…

Оказалось, в наше время этого мало. Пришлось запихнуть все картинки в одну и использовать технологию спрайтов, отказаться от всяких javascript-красивостей (а у меня был скрипт для зума скриншотов на 27Кб), включить всякие E-tag'и и отдавать HTML в gzip. Результат — ускорение почти в 7 раз (!) по мнению гугловского инструмента. Сейчас страницы загружаются в среднем за 1-2 секунды.

Надо сказать, что все эти эпизоды происходили на фоне непрерывной работы над самой программой и конкретно сбивали с ритма. От первых версий в клиенте не осталось практически ничего, в 4.3 я избавился от последнего рудимента в виде компонентов IE в качестве транспорта. Зато теперь перевод выполняется с непостижимой для меня скоростью. Надеюсь, пользователи это тоже оценят.

Из больших задач на будущее остается портирование под Мак и Линукс, надеюсь к годику у нас прорежутся новые дистрибьютивчики. Большое спасибо всем за отзывы и критику.
Tags:
Hubs:
Total votes 76: ↑68 and ↓8+60
Comments126

Articles