Bozaro

Author Archive

Nokia Ovi Store в России со стороны издателя

by Bozaro on Фев.09, 2010, under Без рубрики

Цель данного поста – обратить внимание сотрудников Nokia на тот факт, что магазин Nokia Ovi Store в России работает не идеально.

В августе 2009 года мной было принято волевое решение начать свое дело – разрабатывать игры под смартфоны Nokia и продавать их через Nokia Ovi Store. Сам магазин Ovi Store открылся только 27-ого мая. Создание приложения и его публикации затянулось и заслуживает отдельной статьи.

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

  1. Оплатить приложение в России – задача не тривиальная;
  2. В отчете с текущим состоянием продаж сумма, мягко говоря, не сходится;
  3. Сумма, получаемая с одной копии игры, оказалась несколько меньше ожидаемой;
  4. Очень специфическая работа технической поддержки.

А теперь отдельно по каждой проблеме…

Оплатить приложение в России – задача не тривиальная

Теоретически, оплатить приложение в России можно 3-я способами:

  1. Путем отправки SMS со счета мобильного телефона (для операторов Билайн и МТС);
  2. Через банковскую карту Visa;
  3. Через банковскую карту MasterCard.

На практике, ситуация выглядела несколько иначе:

  1. Оплата через SMS для моего телефона не предлагалась (у меня Билайн).
    При этом, весной 2009 на том же аппарате, с той же SIM-картой оплата через SMS работала совершенно корректно. Так же не удалось оплатить через SMS с телефона МТС.
  2. Оплата банковской картой Visa(Альфа-Банк, банк «Открытие») не принимается – операция отклонена.
    При этом, в октябре 2009 с той же банковской карты оплата производилась без проблем. Карта после успешной покупки была сохранена в учетной записи Ovi Store. После не успешной попытки оплаты карта из этого списка удалилась автоматически.
  3. Оплата банковской картой MasterCard Virtual (Альфа-Банк) не принимается – не корректная дата окончания срока действия карты.
    Банковская карта MasterCard Virtual выписывается сроком на один месяц и заканчивается в текущем месяце.
  4. Оплата банковской картой MasterCard Mass (Альфа-Банк) – работает.

Таким образом, получается, что купить что-либо в Nokia Ovi Store может либо владелец MasterCard, либо более везучий человек :)

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

В отчете с текущим состоянием продаж сумма, мягко говоря, не сходится

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

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

В нашем случае за январь было 5 продаж, но доля Nokia E65 среди купивших – 9.1% (1/11).

Единственное логичное объяснение данной ситуации, которое мне удалось придумать – устройство получает свой «процент» после того, как на нем была завершена процедура покупки, а число проданных копий меняется после того, как завершается транзакция на оплату (деньги сначала удерживаются банком и потом, через пару дней, списываются со счета).

На данный момент эта теория является неподтвержденной.

Добиться каких-либо комментариев от технической поддержки так и не удалось.

Сумма, получаемая с одной копии игры, оказалась несколько меньше ожидаемой

При регистрации в Nokia Ovi Store в качестве издателя, обещается 70% от суммы, которая остается после оплаты налогов и поборов платежной системы:
70% of Gross sales, net of refunds and returns, less applicable taxes and, where applicable, fixed operator billing costs.
На практике это значит, что с 3€ издателю остается 0.946€, то есть 31.5%.

Очень специфическая работа технической поддержки

Техническая поддержка – это отдельная песня:

  1. Общаться с ней можно только по e-mail-у на английском языке;
  2. К скорости ответа на письма я не могу привыкнуть до сих пор: ответ в стиле «мы получили ваше письмо» через 4-ре дня, после отправки этого письма – в порядке вещей;
  3. Нет никакого идентификатора заявки;
  4. Нет никакой возможности узнать статус заявки, кроме как по e-mail-у.

Общение в таком стиле возможно, но малоэффективно.

И что же дальше?

Картина получается безрадостная – деньги уже потрачены, а обильных продаж как-то не видно. Особенно удручает тот факт, что некоторых проблем ранее не было.

Для выправления данной ситуации вижу только следующие пути:

  1. Расширение списка поддерживаемых платформ.
    В данный момент мы поддерживаем только платформу S60v3. Для расширения линейки устройств портируем под S40.
  2. Расширение потенциальной аудитории.
    Что-то мне подсказывает, что таких проблем в Европе быть не должно. Как только доделаем локализацию – попробуем выйти на продажи в Европе.
  3. Поиск других площадок распространения приложений.
    Тут без комментариев, но в данный момент это крайняя мера.

P.S. Я понимаю, что статья, в целом, получилась негативная, но другого способа докричаться до Nokia я не вижу.

Leave a Comment :, more...

Аварийная загрузка Grub2 (rescue mode)

by Bozaro on Янв.31, 2010, under Без рубрики

В один прекрасный день я удалил партицию со старыми линухами (sda5) и после перезагрузки вместо окошка выбора операционки получил сообщение об ошибке. Ошибка была вызвана тем, что Grub2 был на партиции sda7, которая теперь стала sda6.

К счастью, Grub2 отображает консоль через которую можно поправить ситуацию. Алгоритм восстановления загручика сводится к следующим действиям:

  • Ищем партицию, где установлена система и загрузчик (у меня они совпадают):
    ls (hd0,6)/
  • Когда партиция найдена, нужно задать путь к модулям Grub2:
    set prefix=(hd0,6)/boot/grub
  • А так же путь к файловой системе с образом ядра:
    set root=(hd0,6)
  • После этого нужно загрузить модуль загрузки Linux-а:
    insmod /boot/grub/linux.mod
    С этого момента жить становится легче, так как начинают работать дополнительные консольные плюшки, к примеру – табуляция.
  • Указываем ядро и загружаемся:
    linux /vmlinuz root=/dev/sda6 ro
    initrd /initrd.img
    boot
  • После попадания в Linux надо восстановить загрузчик. Для этого в Ubuntu можно воспользоваться командой:
    dpkg-reconfigure grub-pc

Ссылки по теме:

  • https://help.ubuntu.com/community/Grub2
Leave a Comment more...

SSL и VHost

by Bozaro on Дек.06, 2009, under Без рубрики

Тема старая, но почему-то раньше у меня руки до неё не доходили.

Суть проблемы в следующем: если создается SSL-сервер с самоподписанным сертификатом, то у него в CN может быть указан только один хост. В результате, если обращаться к HTTPS-серверу по другому доменному имени, получаем предупреждение не только о том, что сертификат самопальный, но и о том, что сертификат выдан другому сайту. А это как-то некузяво. (continue reading…)

Leave a Comment : more...

Патч на qmake для группировки файлов внутри проекта vcproj

by Bozaro on Июл.15, 2009, under QT

По долгу службы приходится работать с QT-проектами из под Visual Studio. К сожалению, при создании vcproj-файлов утилитой qmake, все исходные и заголовочные файлы идут сплошным списком без какой-либо группировки. В случае больших проектов это неудобно.

В результате я написал для себя патч, после которого утилита qmake группирует файлы в проекте по поддиректориям. Возможно, этот патч будет кому-нибудь интересен.

Патч проверялся на qmake от следующих версий QT: 4.5.0, 4.5.1, 4.5.2.

msvc_objectmodelcpp.patch

Leave a Comment :, , , more...

KVM в Linux

by Bozaro on Апр.29, 2009, under Ubuntu

С недавнего времени я активно использую OpenVZ, но вот понадобилось поставить на виртуальную машину M$ Windows и взор обратился к KVM (KVM и OpenVZ не являются взаимоисключающими и могут работать одновременно).

KVM использует аппаратную виртуализацию, что накладывает сильные ограничения на аппаратную составляющую, но, теоретически, дает минимальную усадку по производительности. (continue reading…)

2 Comments :, , more...

Установка Hudson под Ubuntu

by Bozaro on Апр.24, 2009, under Ubuntu

Установил Tomcat6 и добавил в него Hudson:

sudo apt-get install tomcat6
sudo wget http://hudson.gotdns.com/latest/hudson.war /var/lib/tomcat6/webapps/

После этого перезапустил Tomcat, полез на http://localhost:8080/hudson/ и увидел, что ничего не работает.

Проблема вызвана тем, что политики безопасности Tomcat не дают Hudson-у достаточных для работы привилегий.

Решается проблема просто – в файле /etc/defaults/tomcat6 надо добавить строку:

TOMCAT6_SECURITY=no

И перезапустить Tomcat.

Так же в файле /etc/defaults/tomcat6 не лишним будет указать для Hudson более разумную директорию:

JAVA_OPTS="-Djava.awt.headless=true -Xmx128M -DHUDSON_HOME=/var/db/hudson"
Leave a Comment :, more...

Система автоматизированной сборки Hudson

by Bozaro on Мар.29, 2009, under Софт для разработки ПО

Hudson для меня стал одним из открытий прошлого года.

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

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

(continue reading…)

2 Comments :, more...

Сеть в виртуальной машине на OpenVZ

by Bozaro on Мар.15, 2009, under Ubuntu, Без рубрики

В догонку к посту Установка OpenVZ на Ubuntu Linux решил описать результаты копаний по поводу настройки сети в виртуальной машине OpenVZ.

Итого в vzctl можно добавить сетевой интерфейс следующими способами:

  1. vzctl set 101 –ipadd 192.168.0.1 –save
    Данный способ добавляет виртуальной машине интерфейс точка-тока с хост-машиной. В общем целом для простых случаев этого достаточно, но данный способ, к примеру, не позволяет работать с broadcast-ами (он не подходит, если на виртуальную машину нужно установить Samba или DHCP-cервер).
  2. vzctl set 101 –netdev_add eth0 –save
    Тут все тоже достаточно просто. Указанный сетевой интерфейс переносится в виртуальную машину. То есть он будет доступен только в указанной виртуальной машине (в хост-машине или нескольких виртуальных машинах его использовать нельзя).
    Так же данный способ не работает если попытаться перебросить в виртуальную машину VLAN-интерфейс.
  3. vzctl set 101 –netif_add eth0 –save
    vzctl set 101 –netif_add eth0,00:18:51:d8:04:98,veth101.0,00:18:51:0f:a6:ab
    Самое интересное – данный способ создает пару интерфейсов (один в виртуальной машине – eth0, и один в хост-машине – veth101.0), но аргумент для указания моста в версии 3.0.22 еще отсутствует.

(continue reading…)

Leave a Comment :, more...

Установка OpenVZ на Ubuntu Linux

by Bozaro on Мар.14, 2009, under Ubuntu

Решил озадачиться виртуализацией под Linux. Основная задача – разнести различные функции на различные виртуальные сервера на домашней машине (резервное копирование, мониторинг, DHCP, DNS, SubVersion и т.д.). Нужно это для следующих целей:

  1. Чтобы можно было обновлять/восстанавливать/переустанавливать все это по отдельности;
  2. Чтобы упростить борьбу с Firewall-ом, так как часть сервисов должна смотреть в Internet, а часть сугубо локальная;
  3. Для проведения экспериментов лучше виртуальной машины придумать что-то сложно.

Выбор остановился на OpenVZ по следующим причинам:

  1. OpenVZ почти не дает усадки по производительности;
  2. OpenVZ не требует процессора с поддержкой виртуализации.

Минусы у OpenVZ:

  1. Под OpenVZ можно запустить только Linux, причем специально подготовленный;
  2. В Ubuntu от OpenVZ отказываются в пользу KVM.

(continue reading…)

1 Comment :, more...

IDE для разработки на QT

by Bozaro on Фев.25, 2009, under Софт для разработки ПО

Выбор IDE для разработки на QT оказался достаточно веселой задачей: IDE много, все они разные, но у каждой свои косяки.

Найдены были следующие IDE, умеющие работать с QT:

  1. Eclipse
  2. Visual Studio (куда же мы без Microsoft :) )
  3. QtCreator
  4. QDeveloper
  5. KDevelop

Каждая из них имеет свои плюсы и минусы. (continue reading…)

7 Comments :, , , , , more...

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!