Pull to refresh

Dev story одной .NET утилитки

Reading time 2 min
Views 3.5K
Однажды в студеную зимнюю пору…

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

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

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

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

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

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

Довольно быстро родилось название, и нарисовался список задач, которые надо было решить: логирование ошибок, graceful failure, лицензирование, регистрацию в каком-либо payment gateway, создание сайта с возможностю оставлять на нем вопросы и предложения по функционалу, и всякое другое по мелочи. Делать это все было очень интересно, хотя процесс и затянулся. В середине декабря версия 1.0 стала готова к релизу. Работал сам продукт, работал движок, выдающий триальные и полные лицензии (по сигналу от payment gateway).
image

Несмотря на то, что по-хорошему надо было бы сделать продукту какой-то пиар (вероятно купить немножко Google AdWords или другой контекстной рекламы), был сделан только маленький анонс на Reddit в середине февраля, давший несколько закачек в течении пары недель. К моему удивлению, месяц спустя на сайте windowsdeveloper.de обнаружился перевод нашего описания продукта, что принесло еще несколько закачек.

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

Коммерческой пользы на данный момент чуть меньше, чем нисколько, но зато полученный опыт разработки с нуля до состояния «можно купить» очень радует. В том числе, на Reddit было получено пара конструктивных комментариев, один из которых содержал предложение по расширению функционала. Ну и утренняя рассылка со счётчиком закачек поднимает иногда настроение.
Tags:
Hubs:
-14
Comments 12
Comments Comments 12

Articles