пятница, 19 февраля 2010 г.
Собирался уже идти спать, но пришла мысль по поводу хранения настроек и регистрационных данных программы, вернулся записать чтоб не забыть. Лично мне хотелось бы хранить в настройках программы и регистрационную информацию и время последнего запуска и количество запусков для триала и вообще для статистики. Но в открытом виде хранить это как-то не очень красиво, любой школьнег подправит что ему надо и усё... Поэтому надо бы шифроваться. Как вариант - бинарный формат, но с ним не очень удобно работать из программы и совместимость версий будет проблемой если делать на основе обычной структуры данных. Удобно работать с INI или с XML и с версиями у них проблем нет, но они легко читаются и могут быть изменены без особых проблем в любом текстовом редакторе. Поэтому делаем так:
1. храним настройки в INI/XML
2. при чтении/записи файлов настроек файл просто его шифруем/дешифруем, а можно еще дополнительно ZIP-ануть чтоб места меньше занимал.
Периодически балуюсь с внедренным IE контролом и скриптами, особенно интересно работать с JavaScript и свойством External через которое можно выставить функции приложения наружу. Об использовании этого я еще выскажусь позже.

А сейчас про использовании IE-контрола при активации продукта:
1. После ввода ключа, продукт просит активацию.
2. При активации открывается окошко с внедренным IE и выполняется переход на страницу активации.
3. На странице активации выполняется JavaScript который собственно и выполняет активацию продукта, это может быть, например, вызов набора функций самого же приложения для создания кода с привязкой к HardWareID. Иными словами в самом приложении имеется только код проверки активации, но не готовая функция создания активации, ее роль выполняет набор вызовов функций на странице активации.

Разумеется все это легко ломается крякерами, но я вижу некоторые дополнительные плюсы:
- можно блокировать некоторые ключики на сайте (разумеется от генератора активаций это не спасет, но все же).
- на странице можно предложить купить более новую версию продукта со скидкой или другие свои продукты
- можно выложить ключики продукта в открытый доступ, а на странице активации повесить SMS-замок

Короче придумать можно много еще чего...
У меня сложилось стойкое впечатление, что новичкам (да и наверное не только им) сейчас нужно действовать по следующей схеме:

1. берем наиболее понравившуюся идею из своего списка (не говорите, что у вас нет такого списка, пусть даже мысленного — НЕ ПОВЕРЮ)

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

3. программу делаем как free, либо если хочется сразу денег ставим простенькую защиту — пусть ломают — крякеры тем сами нам помогут своими кряками распространению программы.

4. создаем сайт одностраничник на простом бесплатном шаблоне, например можно взять с www.freecsstemplates.org/ и обязательно ставим статистику посещений

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

6. хелп пишем на сайте очень коротенечко и из программы открываем страницу своего сайта.

7. сабмитим свое произведение на макимальное количество сайтов.

8. берем следующую идею из своего списка и переходим к пункту 2, мониторя по статистике популярность или не популярность выпущенной программы.

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

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

Лично у меня плохо получается следовать этим правилам — у меня болезнь вылизывания кода и интерфейса — перфекционизм — надо как-то с этим бороться. Никто не знает как? :)

Social

Popular

Технологии Blogger.

Постоянные читатели