Сейчас у меня самая большая нагрузка на саппорт из-за следующего простого факта. Большинство шароварных программ регистрируются с помощью комбинации имени и ключа. При этом, ключ генерируется из имени (по сути, ключ – электронная подпись). Проблема в том, что люди, когда видят «имя», вводят туда что угодно, только не то имя, которое указали при покупке.

Например, James Smith зарегистрировал программу. Ему выдается такая информация:

Licensed to: James Smith
License key: XXXX-XXXX-XXXX-XXXX

Джэймс открывает окно для ввода ключа и пишет:

Licensed to: Jim Smith
License key: XXXX-XXXX-XXXX-XXXX

Зарегистрировать не получается, поэтому он пишет в поддержку.

Так как люди не читают, вариант с надписью большими жирными буквами: «ВАЖНО! ИМЯ ДОЛЖНО БЫТЬ ТОЧНО ТАКОЕ, КАК УКАЗАНО В ПИСЬМЕ» не работает.

Варианты решения по моей стратегии оптимизации поддержки:

  1. В письма и финальную страницу заказа добавлять ссылку (x-app-register://name=Jim+Smith&key=…), по нажатию на которую программа сама регистрируется. Так сделано, например, у TextMate.

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

  3. Выдавать файлы вместо текстовых ключей. С ними, мне кажется, еще больший геморрой (я даже кастомизировал AquaticPrime, чтобы он работал не с файлами, а с текстом).

  4. Забить на DRM совсем и выдавать после покупки целую программу. Опять же, тогда будет проще пиратить (купил и выложил на The Pirate Bay). Зато меньше геморроя с регистрационными схемами.

Я склоняюсь к последнему варианту. А как вы решаете эту проблему? Твитьте: @dchest.

Обновлено 2014-02-01: в итоге остановился на 2-м варианте, с недетерминированной цифровой подписью (пишите на почту, если интересно).