Russian Qt Forum
Ноябрь 27, 2024, 05:12 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: Демо-версия  (Прочитано 9629 раз)
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« : Октябрь 18, 2010, 17:52 »

Здравствуйте

Не сейчас, но в ближайшем будущем мне предстоит решить проблему хорошей/эффективной демо-версии. Накоплен кое-какой опыт. Предыдущее демо строилось по принципу вырезания фичес, напр.
Код
C++ (Qt)
#if DEMO_VERSION
Alert("You cannot save project in demo version, sorry");
#else
DoSaveProject();
#endif
 
Жизнь показала что такое демо действительно безопасно (кода DoSaveProject() в демо-файле((exe) нет, что-то "ломать" нет смысла). Но с др. стороны такое демо и малоэффективно - пользователь не может понять то ли "это демо" то ли "вообще не работает"  Плачущий Все согласны с тем что демо должно иметь максимум 1-2 ограничений. Но как это сделать? Пример:

- можно отрубить запись данных на диск (показано выше). Но это "слишком жестко"

- хорошо было бы разрешать "ограниченную" запись на диск. Напр. до 1 Мb - пиши пожалуйста. Больше - извини, это демо. Но проверка if - легкая добыча, такое демо превратится в полноценную версию через неделю (если не быстрее)

Как бы порешать этот вопрос?

Спасибо
Записан
ufna
Гость
« Ответ #1 : Октябрь 18, 2010, 18:11 »

А что за приложение?
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #2 : Октябрь 18, 2010, 18:20 »

А что за приложение?
Нормальное, на Mac имеет суффикс .app, на Вындоуз .exe  Улыбающийся
Записан
Denjs
Гость
« Ответ #3 : Октябрь 18, 2010, 20:49 »

А что за приложение?
Нормальное, на Mac имеет суффикс .app, на Вындоуз .exe  Улыбающийся
Тогда, собственно, не вижу проблем почему вы не можете сделать что просите)))) а? Смеющийся
Записан
ufna
Гость
« Ответ #4 : Октябрь 18, 2010, 21:26 »

Нормальное, на Mac имеет суффикс .app, на Вындоуз .exe  Улыбающийся

Ну как бы речь идет о том, что оно делает Улыбающийся ведь самый правильный подход - убрать или ограничить в демо то, что является либо "сильным удобством", либо "солью приложения". А так - что тут посоветовать то? Особо ничего, т.к. вообще не в курсе о чем речь Улыбающийся)
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #5 : Октябрь 18, 2010, 21:43 »

>>убрать или ограничить в демо то, что является либо "сильным удобством", либо "солью приложения".
тогда пользователь не сможет оценить приложение, оно будет такое же как и у всех
Записан

Юра.
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #6 : Октябрь 18, 2010, 21:47 »

я видел такую фишку в одной из программ - Имеются ограничения на использование фалов данных:
1) демка сохраняет данные в нестандартный формат, который не читается нормальным приложением.
2) Демка также не понимает формат нормального приложения.
3) Есть предел у файла, но не по размеру в байтах, а по размеру сущностей, которые хранятся в файле или их комбинации
Записан

Юра.
ufna
Гость
« Ответ #7 : Октябрь 18, 2010, 22:25 »

>>убрать или ограничить в демо то, что является либо "сильным удобством", либо "солью приложения".
тогда пользователь не сможет оценить приложение, оно будет такое же как и у всех

не, не все так просто. Грамотный подход к делу дает сделать именно "демо", при этом показав его возможности. Но тут уже нужно знать что за приложение и т.п. Я же не просто говорю "отсечь самое вкусное" - это то точно неправильный подход Улыбающийся
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #8 : Октябрь 18, 2010, 22:31 »

Ну вот в GTP все правильно - можно сделать партитуру, прослушать ее, навешать всех-всех эффектов, а вот сохранить, как и открыть готовые, нельзя. То есть ознакомится можно со всеми возможностями, а вот пользоваться невозможно.
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #9 : Октябрь 19, 2010, 10:33 »

А так - что тут посоветовать то? Особо ничего, т.к. вообще не в курсе о чем речь Улыбающийся)
Ну не надо притворяться что, мол, ничего не понял  Улыбающийся Чего в демо не должно быть - сказано ясно: надо ограничить запись на диск. Полностью ее отрезать - не вопрос, но не хотелось бы, так я заставляю каждый раз начинать демо с нуля, неудобно. Вопрос в том как ограничить "мэртво" чтобы попытки взлома не имели смысла.

я видел такую фишку в одной из программ - Имеются ограничения на использование фалов данных:
1) демка сохраняет данные в нестандартный формат, который не читается нормальным приложением.
2) Демка также не понимает формат нормального приложения.
3) Есть предел у файла, но не по размеру в байтах, а по размеру сущностей, которые хранятся в файле или их комбинации
По количеству сохраненных объектов - было бы еще лучше. Но все проблемы остаются те же.
Записан
ufna
Гость
« Ответ #10 : Октябрь 19, 2010, 15:40 »

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

советовать "как ограничить сохранение для абстракции" - увы, дело гиблое. Есть "традиционные" способы, но они Вас видимо не устраивают. А чтобы придумать что-то нетрадиционное и удобное - надо иметь представление о программе.
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #11 : Октябрь 19, 2010, 16:39 »

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

советовать "как ограничить сохранение для абстракции" - увы, дело гиблое. Есть "традиционные" способы, но они Вас видимо не устраивают. А чтобы придумать что-то нетрадиционное и удобное - надо иметь представление о программе.
Не могу с Вами согласиться что конкретно здесь надо вникать в предметную область. Представим себе контейнер <QString>. Как я могу сохранить не более 100 элементов? (с учетом позывов взломать). Конечно, в реальном проекте куда более сложные объекты (вместо QString) - но что это меняет? По мне так аж ничего, зачем же тогда тратить время на долгие экскурсии в специфику задачи?

Дело совсем не выглядит безнадежным, ходы есть. Я прикидывал напр так:

- запись = "поток", значит я могу сделать класс "поток - запись в память". Выделил 1 Mb памяти, пишу в этот буфер. По ходу дела пишущий вызывает 1-2 раза какие-то методы что будут работать для "потока - память" но не для "потока - файл", это легко

- запись в буфер закончена, теперь просто копируем созданный  "образ" на диск.

Это конечно, сырые идеи, напр неясно как сделать так чтобы размер буфера никак нельзя было изменить. Или можно как-то проще/лучше? Блин, Вы в конце-концов будете думать головой, а не только маны читать?  Улыбающийся
Записан
SimpleSunny
Гость
« Ответ #12 : Октябрь 19, 2010, 18:25 »

Чтобы размер буфера нельзя было изменить, надо чтобы программа где-то в расчетах использовала это значение, тогда при измененном буфере будут неверные расчеты.
Записан
voral
Гость
« Ответ #13 : Октябрь 20, 2010, 00:59 »

На уровне заготовки идеи.
Преопределить в демоверсии какой либо стандартный класс, да сбственно, наверное и любой. Нуи какелибо "неадекватное" действие зашить: рисвоть диагональную черту, заменят все буквы "а" на букву "ё". Сложение чисел где то покорежить... ну в общем нужно знание о чем программа и фантазии
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #14 : Октябрь 20, 2010, 12:32 »

Чтобы размер буфера нельзя было изменить, надо чтобы программа где-то в расчетах использовала это значение, тогда при измененном буфере будут неверные расчеты.
Ну вот, один вариант уже есть  Улыбающийся Только наверное не значение (переменная) а хвост буфера, если изменился - валим, здесь никаких сообщений показывать не нужно (это я сделаю раньше)

На уровне заготовки идеи.
Преопределить в демоверсии какой либо стандартный класс, да сбственно, наверное и любой. Нуи какелибо "неадекватное" действие зашить: рисвоть диагональную черту, заменят все буквы "а" на букву "ё". Сложение чисел где то покорежить... ну в общем нужно знание о чем программа и фантазии
В данном случае не очень подходит, UI большое, получается хлопотно
Записан
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.141 секунд. Запросов: 22.