tag:blogger.com,1999:blog-89540407366904732172024-02-19T01:35:49.701-08:00MaxSoft BlogРассуждения о программированииMaxsofthttp://www.blogger.com/profile/04613703478087337590noreply@blogger.comBlogger3125tag:blogger.com,1999:blog-8954040736690473217.post-66526054290312463502016-06-01T07:08:00.002-07:002016-06-01T07:55:35.451-07:00Первая тысяча долларов на Ruby on Rails<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="clear: both; text-align: left;">
Ну вот и свершилось! Первая штука баксов заработана. Ну а вы держитесь здесь, всем удачи и здоровья :)</div>
<div style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgb7GCvRimV9HPw7h-cc6PVMScGIgKtW4TL0djd4Pi1Ixn7A2IMWr4TdOplB7UmYnEBMqPmrfkpbrsM7SIZsoaY8WSN4sDqapM0Tg7xeTLw-cnVpP4rMyL-q_UzoIDoYGtgVwwyxCW5eNU/s1600/Screenshot_20160601-194419.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgb7GCvRimV9HPw7h-cc6PVMScGIgKtW4TL0djd4Pi1Ixn7A2IMWr4TdOplB7UmYnEBMqPmrfkpbrsM7SIZsoaY8WSN4sDqapM0Tg7xeTLw-cnVpP4rMyL-q_UzoIDoYGtgVwwyxCW5eNU/s640/Screenshot_20160601-194419.png" width="480" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
На самом деле, через полгодика будет и вторая штука баксов. Тем более вчера я перевел сайты на все языки мира, добавив пару строчек Google Web Translator в шаблон. Так что ожидаю теперь пользователей из всех стран, и увеличение дохода раз в 50 :)<br />
<br />
Кто тут говорил что Ruby плохой язык? Впрочем, какое то время я на эти сайтики потратил, в сумме наверное месяц набежал, вместе с обучением. На хостинг всего этого добра и еще бложика, уходит $5 в месяц. Юзайте <a href="https://m.do.co/c/dca7575d1b7a" target="_blank">Digital Ocean</a>. Могу любого научить, если что.<br />
<br />
Следующий пост, традиционно, будет когда наберется $10000<br />
<br /></div>
Maxsofthttp://www.blogger.com/profile/04613703478087337590noreply@blogger.com0tag:blogger.com,1999:blog-8954040736690473217.post-14640934016362319232015-06-01T10:19:00.001-07:002015-06-04T21:11:23.107-07:00Первый заработок на RoR<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-family: Verdana, sans-serif;">Ну вот и заработались первые 100$ на моих Ruby сайтах. Доход распределился следующим образом:</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAGKKpGv7slAY_I3TUv09pv3b_56P2JFaC_00Le6UUFPaHE9S4f5IQgqQNxyZR3Z48XJEntfcqpPcioE9YBofzln-hr5aDqQXPtpVBbkNMX8pXO-l-INU-x0Q7hWIdT60wsm0gTN9O_b0/s1600/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA+%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0+%25D0%25BE%25D1%2582+2015-06-01+23%253A08%253A18.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Verdana, sans-serif;"><img border="0" height="221" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAGKKpGv7slAY_I3TUv09pv3b_56P2JFaC_00Le6UUFPaHE9S4f5IQgqQNxyZR3Z48XJEntfcqpPcioE9YBofzln-hr5aDqQXPtpVBbkNMX8pXO-l-INU-x0Q7hWIdT60wsm0gTN9O_b0/s400/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA+%25D1%258D%25D0%25BA%25D1%2580%25D0%25B0%25D0%25BD%25D0%25B0+%25D0%25BE%25D1%2582+2015-06-01+23%253A08%253A18.png" width="400" /></span></a></div>
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">Самое смешное, что курс доллара был сделан за 1 день, но заработал больше сонника, на который потратил больше недели. Трапеза ожидаемо лидирует.</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">Вывод: на Ruby on Rails зарабатывать - можно! Главное не торопиться :)</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">PS. Когда заработаю 1000$, напишу еще один пост.</span></div>
Maxsofthttp://www.blogger.com/profile/04613703478087337590noreply@blogger.com0tag:blogger.com,1999:blog-8954040736690473217.post-12672644104661043282012-03-11T03:10:00.000-07:002015-03-31T00:55:59.679-07:00Как заработать миллион за пять дней с помощью Android<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<div class="Standard">
<span style="font-family: "Verdana","sans-serif";"></span></div>
<div class="Standard">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTSynmyHFntdiUvrzxu8a-VlwuGzdcIiqvGegGp_YjRRFxcUZwmR8AnafF49LrEHm79_Gy6d7gy7YNpNq7XaEweksrt6RR4JBjBjSk5eH4EMGa7jrnialBXzshZipOUdx3HHeKTf9QY2w/s1600/android-bucks.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTSynmyHFntdiUvrzxu8a-VlwuGzdcIiqvGegGp_YjRRFxcUZwmR8AnafF49LrEHm79_Gy6d7gy7YNpNq7XaEweksrt6RR4JBjBjSk5eH4EMGa7jrnialBXzshZipOUdx3HHeKTf9QY2w/s1600/android-bucks.gif" /></a></div>
<div class="Standard">
</div>
<div class="Standard">
<br /></div>
<div class="Standard">
<span style="font-family: "Verdana","sans-serif";">На
Хабре часто встречаются статьи со сравнением доходности от разработки под iOS и
Android. Обычно они заканчиваются тем, что под iOS разрабатывать в 10 раз
выгоднее. С некоторых пор, мне смешно такое читать. Я поделюсь с вами небольшой
историей взлета моего приложения (надеюсь, без последующего падения). Уверен,
что под iOS ничего подобного не могло бы произойти.</span></div>
<h1 style="font-weight: normal;">
<span style="font-size: large;"><b>Тип приложения</b></span></h1>
<div class="Standard">
<span style="font-family: "Verdana","sans-serif"; font-size: 13pt;"></span></div>
<div class="Standard">
<span style="font-family: "Verdana","sans-serif";">Конечно,
это игра. Массовая, простая. Что еще можно сделать за 5 дней, работая
исключительно по вечерам и в свое удовольствие? Возможно, кто-то зарабатывает
на серьезных приложениях. Но вложения ресурсов в таких случаях будут в разы
больше. Если вы решили делать игру, постарайтесь, чтобы она оказывала первое положительное
впечатление хотя бы на 80% пользователей. Это очень хорошо скажется на оценках,
а они нам понадобятся в дальнейшем.</span></div>
<h1>
<span style="font-size: large;">Способ монетизации</span></h1>
<div class="Standard">
<span style="font-family: "Verdana","sans-serif";">Забудьте
о платных приложениях! В Android Market это не работает. Можно выложить хорошую
игру за 1 доллар и ждать месяц пока ее хоть кто-нибудь скачает. Платный рынок
плотно оккупирован студиями и качественными приложениями. Поэтому наш выбор —
реклама, в моем случае это был AdMob. Доход от рекламы очень стабильный, в
отличие от продаж. И самое главное, он прямо пропорционален количеству
пользователей. Вообще, рынок Android переживает сейчас взрывной рост, в день
приобретается 850 тыс. аппаратов, и люди хотят наполнить их приложениями. В 99%
случаях это будет бесплатное ПО.</span></div>
<h1>
<span style="font-size: large;">Платное отключение рекламы</span></h1>
<div class="Standard">
<span style="font-family: "Verdana","sans-serif";">Дайте
возможность людям, которые ненавидят рекламу всей душой, отказаться от нее,
заплатив небольшую сумму. Для этого придется интегрировать In-app-purchase.
Способ с отдельным платным приложением в моем случае не сработал. Советую
тщательно отладить restoreTransactions(), чтобы пользователь не терял деньги
при очистке данных или смене устройства. В моем случае покупки отказа от
рекламы приносят пока 5% дохода.</span></div>
<h1>
<span style="font-size: large;">Графика, музыка — где всё это брать?</span></h1>
<div class="Standard">
<span style="font-family: "Verdana","sans-serif"; font-size: 13pt;"></span></div>
<div class="Standard">
<span style="font-family: "Verdana","sans-serif";">Сразу
скажу, что писал игру я в одного. Ни музыкантом, ни художником я не являюсь,
поэтому всё было скачано из интернета — картинки Google, бесплатные звуки и
т.д. Разве что картинку под игровым полем нарисовал один хороший знакомый –
пользуясь случаем, передаю ему привет! Основными рабочими инструментами стали
Paint.NET и Wave </span><span lang="EN-US" style="font-family: "Verdana","sans-serif";">Editor</span><span style="font-family: "Verdana","sans-serif";"> (обе программы
бесплатные и весят по 3 Мб). Кстати, в конце я склонялся к разработке в Windows
больше, нежели чем в Ubuntu. Как-то там слегка удобнее всё.</span><span lang="EN-US" style="font-family: "Verdana","sans-serif"; font-size: 11pt;"></span></div>
<h1>
<span style="font-size: large;">Движок, <span lang="EN-US">NDK</span><span lang="EN-US"> </span>и фрагментация</span></h1>
<div class="MsoNormal">
<span style="font-family: "Verdana","sans-serif";">Объем
исходного кода – около тысячи строк на </span><span lang="EN-US" style="font-family: "Verdana","sans-serif";">Java</span><span style="font-family: "Verdana","sans-serif";">.
Повторюсь, алгоритм очень прост. Никаких движков при разработке я не
использовал. То же касается и </span><span lang="EN-US" style="font-family: "Verdana","sans-serif";">NDK</span><span style="font-family: "Verdana","sans-serif";">. Благодаря этому,
игра запускается на большом количестве устройств – в статистике </span><span lang="EN-US" style="font-family: "Verdana","sans-serif";">Flurry</span><span lang="EN-US" style="font-family: "Verdana","sans-serif";"> </span><span style="font-family: "Verdana","sans-serif";">я вижу 327 разных типов телефонов и
планшетов. И даже на нетбуках с </span><span lang="EN-US" style="font-family: "Verdana","sans-serif";">x</span><span style="font-family: "Verdana","sans-serif";">86 процессором она,
оказывается, работает. Таким образом, слухи о фрагментации </span><span lang="EN-US" style="font-family: "Verdana","sans-serif";">Android</span><span lang="EN-US" style="font-family: "Verdana","sans-serif";"> </span><span style="font-family: "Verdana","sans-serif";">оказались сильно преувеличенными. Не
запускается или глючит игра только на совсем уж китайских устройствах. Сбойных
сессий – 0.14%, ими можно пренебречь. В первых версиях, ошибок было гораздо
больше, только в консоль маркета пришло более ста отчетов. Большинство ошибок
было исправлено.</span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "Verdana","sans-serif";">Так
как игра относится с разряду </span><span lang="EN-US" style="font-family: "Verdana","sans-serif";">board</span><span lang="EN-US" style="font-family: "Verdana","sans-serif";"> </span><span lang="EN-US" style="font-family: "Verdana","sans-serif";">game</span><span style="font-family: "Verdana","sans-serif";">, я применил обычный </span><span lang="EN-US" style="font-family: "Verdana","sans-serif";">GridView</span><span lang="EN-US" style="font-family: "Verdana","sans-serif";"> </span><span style="font-family: "Verdana","sans-serif";">с
изображениями. Анимация выполнена с помощью </span><span lang="EN-US" style="font-family: "Verdana","sans-serif";">Handler</span><span lang="EN-US" style="font-family: "Verdana","sans-serif";">
</span><span style="font-family: "Verdana","sans-serif";">и </span><span lang="EN-US" style="font-family: "Verdana","sans-serif";">postDelayed</span><span style="font-family: "Verdana","sans-serif";">(). </span><span lang="EN-US" style="font-family: "Verdana","sans-serif";">OpenGL</span><span style="font-family: "Verdana","sans-serif";">
не использовался.</span></div>
<h1>
<span style="font-size: large;">Продвижение</span></h1>
<div class="Standard">
<span style="font-family: "Verdana","sans-serif"; font-size: 13pt;"></span></div>
<div class="Standard">
<span style="font-family: "Verdana","sans-serif";">На
рекламу игрушки я не потратил ни копейки. Существует масса эффективных и
бесплатных способов продвижения. Начал я с анонса в своей ленте Google+.
Читателей у меня не так много, ~2000. Несколько раз помогли друзья с репостами.
Также, написал в твиттер, спасибо жене, у нее там довольно много фолловеров. На
тот момент, у меня было чуть больше тысячи игроков.</span></div>
<div class="Standard">
<br /></div>
<div class="Standard">
<span style="font-family: "Verdana","sans-serif";">Пожалуй,
самым главным толчком стала публикация бесплатного обзора на 4PDA. Ни в коем
случае не пренебрегайте этой возможностью! Их проект поддержки российских
разработчиков — это просто чудо. Несмотря на минусы, которые обзор получил на
главной, он принес такое количество пользователей, что теперь я готов заплатить
по 100 руб. каждому минусующему ;) Рейтинг и количество закачек пошли в гору, и
мне кажется, что этот процесс уже не остановить.</span></div>
<h1>
<span style="font-size: large;">Маленькие хитрости </span></h1>
<div class="Standard">
<span style="font-family: "Verdana","sans-serif"; font-size: 13pt;"></span></div>
<div class="Standard">
<span style="font-family: "Verdana","sans-serif";">Конечно,
я применил все знания, полученные на Хабре, спасибо авторам статей. Например,
однократный диалог с просьбой оценить игру на маркете. Мой выглядит вот так:</span></div>
<div class="Standard">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmiEZczljH9TlZ02e4CxrtPAYTYJBwhU7oXAMxrPUDs4Eb-BojwmXEA8wGlggxHoVjfj81yaaPMCbSuemd3buiVF2MTDPEaBJqdjK8540K9aXnJ0hoEVw9cZhwUWlN1UHlTlB38I3zwU8/s1600/08.03.12+-+3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmiEZczljH9TlZ02e4CxrtPAYTYJBwhU7oXAMxrPUDs4Eb-BojwmXEA8wGlggxHoVjfj81yaaPMCbSuemd3buiVF2MTDPEaBJqdjK8540K9aXnJ0hoEVw9cZhwUWlN1UHlTlB38I3zwU8/s1600/08.03.12+-+3.jpg" /></a></div>
<div class="Standard">
<span style="font-family: "Verdana","sans-serif"; font-size: 11pt;"><br /></span><span style="font-family: "Verdana","sans-serif"; font-size: 11pt;"></span></div>
<div class="Standard">
<br /></div>
<div class="Standard">
<span style="font-family: "Verdana","sans-serif";">Возможно,
знатоки НЛП предложат другой вариант, но и этот хорошо работает. Также,
рекомендую сразу встроить Scoreloop и аналитику от Flurry. Или вот такой диалог
при достижении рекорда, с возможностью поделиться в соц. сетях:</span></div>
<div class="Standard">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiN3vX0iHrD0xsIYAfN4E6dDl7ct8dh4HtKkiEviOJDlcMMTk276hdAJ9L6gnJsV5l_qkK26AMMyBuGjOKXOdGzgSXV2dFODivz_rgxBDmuEG3thsb1lTbNqSsDJEPybPl9uyF9rQuzdZo/s1600/08.03.12+-2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiN3vX0iHrD0xsIYAfN4E6dDl7ct8dh4HtKkiEviOJDlcMMTk276hdAJ9L6gnJsV5l_qkK26AMMyBuGjOKXOdGzgSXV2dFODivz_rgxBDmuEG3thsb1lTbNqSsDJEPybPl9uyF9rQuzdZo/s1600/08.03.12+-2.jpg" /></a></div>
<div class="Standard">
<span style="font-family: "Verdana","sans-serif"; font-size: 11pt;"><br /></span><span lang="EN-US" style="font-family: "Verdana","sans-serif"; font-size: 11pt;"></span></div>
<div class="Standard">
<br /></div>
<div class="Standard">
<span style="font-family: "Verdana","sans-serif";">Всё
это значительно повышает соревновательность и вовлеченность.</span></div>
<h1>
<span style="font-size: large;">Так как насчет миллиона?</span></h1>
<div class="Standard">
<span style="font-family: "Verdana","sans-serif"; font-size: 13pt;"></span></div>
<div class="Standard">
<span style="font-family: "Verdana","sans-serif";">Конечно,
миллион вы получите не сразу, а в течение нескольких лет. С другой стороны,
рублей или долларов? Вопрос интересный. В начале, суточный доход от рекламы
удваивался каждые три дня. Затем, скорость уменьшилась. По моим расчетам,
каждая закачка приносит один доллар на рекламе в долгосрочной перспективе.
Именно поэтому цена запрета рекламы — 0,99$. Сейчас у меня происходит примерно
6000 закачек в сутки. Посмотрим, что будет дальше!</span></div>
<div class="Standard">
<br />
<span style="font-family: "Verdana","sans-serif"; font-size: 11pt;"></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCvYEhNRBM86iGjPrCb_Hce9artIX38oYnCL4Y_aGuR4cuCcachS-hLmOeXi7ztAY2d9ly0b9LIgmtcpgAiWLjJJBhZJd3ISFmhPV32KuZcm8ph1JReBDHS_-KhmMg9MQvsPdZ_ia-r0w/s1600/2012.02.26-20.23.00.jpeg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCvYEhNRBM86iGjPrCb_Hce9artIX38oYnCL4Y_aGuR4cuCcachS-hLmOeXi7ztAY2d9ly0b9LIgmtcpgAiWLjJJBhZJd3ISFmhPV32KuZcm8ph1JReBDHS_-KhmMg9MQvsPdZ_ia-r0w/s320/2012.02.26-20.23.00.jpeg" height="320" width="213" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpitKbWewhD_TrSYJ1ZgszYCFFEj2gFSOb62I5vPNiSEmoEOh6JfxoyKYDvehG_hqkMAAUjIsGyt1tjMbOu5OFyfZLBvtJp8ioHEUYslio5LUSfM6h86y8Ia6TDe69txV_q5Bj9Q41EAU/s1600/08.03.12+-+1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpitKbWewhD_TrSYJ1ZgszYCFFEj2gFSOb62I5vPNiSEmoEOh6JfxoyKYDvehG_hqkMAAUjIsGyt1tjMbOu5OFyfZLBvtJp8ioHEUYslio5LUSfM6h86y8Ia6TDe69txV_q5Bj9Q41EAU/s320/08.03.12+-+1.jpg" height="320" width="213" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="Standard">
<span style="font-family: Verdana, sans-serif;"><b>UDPATE:</b></span><br />
<span style="font-family: Verdana, sans-serif;">Меня часто спрашивают ссылки на мои приложения. Вот они:</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;"><a href="https://play.google.com/store/apps/details?id=com.maxsoft.sonara">https://play.google.com/store/apps/details?id=com.maxsoft.sonara</a></span><br />
<span style="font-family: Verdana, sans-serif;"><a href="https://play.google.com/store/apps/details?id=com.maxsoft.balls">https://play.google.com/store/apps/details?id=com.maxsoft.balls</a></span><br />
<span style="font-family: Verdana, sans-serif;"><a href="https://play.google.com/store/apps/details?id=com.maxsoft.gomoku2">https://play.google.com/store/apps/details?id=com.maxsoft.gomoku2</a></span><br />
<a href="https://play.google.com/store/apps/details?id=com.maxsoft.trapeza"><span style="font-family: Verdana, sans-serif;">https://play.google.com/store/apps/details?id=com.maxsoft.trapeza</span></a><br />
<a href="https://play.google.com/store/apps/details?id=com.maxsoft.kurs"><span style="font-family: Verdana, sans-serif;">https://play.google.com/store/apps/details?id=com.maxsoft.kurs</span></a><br />
<br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: "Verdana","sans-serif"; font-size: 11pt;"></span></div>
<div class="Standard">
<br /></div>
<div class="Standard">
<span style="font-family: "Verdana","sans-serif"; font-size: 11pt;"><br /></span></div>
</div>
Maxsofthttp://www.blogger.com/profile/04613703478087337590noreply@blogger.com4