Làm cách nào tôi có thể triển khai tính năng tự hủy của người dùng vào phiên bản dùng thử miễn phí của phần mềm?


52

Có một cuộc tranh luận về việc dùng thử miễn phí so với mô hình freemium (nghĩa là phiên bản miễn phí cho phần mềm của họ với các tính năng bị hạn chế và / hoặc tước bỏ) để cho phép khách hàng và người dùng tiềm năng chạy thử sản phẩm của họ. Theo nghiên cứu của tôi, tôi có thể kết luận rằng bản dùng thử miễn phí là cách tiếp tục vì lợi ích của trải nghiệm người dùng của cá nhân sử dụng phần mềm và vì lợi ích của nhà cung cấp trong cả khía cạnh bán hàng và tối đa hóa việc sử dụng. Có nhiều yếu tố cho một phần mềm dùng thử miễn phí có thể tối đa hóa việc sử dụng của người dùng như thời lượng dùng thử miễn phí.

Một từ khóa nhắc lại nghiên cứu của tôi về "freemium" là "bực bội". Nhiều cá nhân đã chọn gỡ cài đặt phần mềm thay vì phải sử dụng một phần mềm trong đó một số tính năng không có sẵn cho họ. Đồng thời, những người dùng này không bao giờ có cơ hội sử dụng các tính năng "trả phí". Không biết đến họ và bị ẩn bởi những nhà cung cấp đang bán phần mềm, họ không biết và không thể biết những lợi ích mà các tính năng Pro sẽ mang lại. Nếu không phải sử dụng chúng trước tiên, người dùng sẽ không biết họ có cảm giác "cần" thứ gì đó. Điều này đưa tôi đến điểm tiếp theo của một mô hình dùng thử miễn phí.

Một số ý kiến ​​của người dùng thử miễn phí là "Tôi không thể tưởng tượng được việc sử dụng phần mềm này mà không có các tính năng Pro". Điều này quay trở lại điểm "người dùng không biết họ cần thứ gì đó cho đến khi họ lần đầu tiên hiểu được cảm giác có". Những người đã có 14 ngày để sử dụng các tính năng phiên bản "đầy đủ" cho biết họ không thể tưởng tượng được việc không có hoặc sử dụng các tính năng được cung cấp ở đó. Vì vậy, khi mười bốn ngày kết thúc, họ có nhiều khả năng rút tiền hơn những người chưa bao giờ trải nghiệm các tính năng đầy đủ. Thời lượng dùng thử miễn phí cũng là một yếu tố quan trọng đang tạo ấn tượng lâu dài với người dùng. Trong một thử nghiệm được thực hiện bởi Visual Website Tối ưu hóa, họ nhận thấy rằng bản dùng thử miễn phí 14 ngày so với bản dùng thử miễn phí 30 ngày, trong khi số lần đăng ký và cài đặt là như nhau, việc sử dụng cho bản dùng thử 14 ngày tăng 102%.

Một điểm rất quan trọng khác cần đề cập là "cung cấp một phiên bản miễn phí hữu ích và đầy đủ chức năng của sản phẩm" là RẤT QUAN TRỌNG. Các thử nghiệm miễn phí đầy đủ chức năng có hiệu quả trong việc đưa tin về phương tiện truyền thông, và việc công khai này cho các nhà cung cấp phần mềm và / hoặc phần mềm mới là khá quan trọng.

Một khía cạnh liên quan khác là tầm quan trọng để người dùng đưa ra phản hồi. Hãy xem xét, trong bản dùng thử miễn phí giới hạn thời gian đầy đủ chức năng, khả năng người dùng đưa ra phản hồi.

Một tính năng khác quan trọng đối với phần mềm của chúng tôi là nhu cầu về dữ liệu từ xa, đó là dữ liệu định lượng và toàn diện về cách người dùng sử dụng phần mềm của chúng tôi. Một số thống kê sử dụng có thể rơi vào một khu vực màu xám hợp pháp, vì luật pháp khác nhau tùy thuộc vào địa điểm tại Hoa Kỳ và thế giới. Một cách để chống lại vấn đề pháp lý này là có một tính năng chọn tham gia để thu thập số liệu thống kê sử dụng ẩn danh. Tính năng chọn tham gia có nghĩa là cung cấp cho người dùng tùy chọn tắt thu thập số liệu thống kê và đồng thời, người dùng phải nhận thức rất rõ về việc thu thập thông tin sử dụng ẩn danh làm gì. Điều quan trọng là làm cho nó rõ ràng với người dùng những dữ liệu nào sẽ được thu thập, "chúng ta" sẽ làm gì với nó và làm cho nó dễ dàng tắt bất cứ lúc nào, bao gồm cho phép họ thay đổi ý định để bật hoặc tắt. Để thống kê chi tiết hơn, như theo dõi các hoạt động cá nhân của người dùng, nó có thể dẫn đến các vấn đề pháp lý. IDE Eclipse ghi lại các số liệu thống kê sử dụng chi tiết, nhưng nó được thực hiện bởi sự đồng ý hoàn toàn của người dùng. Chúng tôi có thể phải chuẩn bị một mẫu đơn đồng ý với nhóm pháp lý của chúng tôi.

Bộ sưu tập thông tin sử dụng Eclipse thu thập thông tin này: 1. Các trình cắm thêm được khởi động bởi hệ thống. 2. Các lệnh được truy cập thông qua các phím tắt và hành động được gọi thông qua menu hoặc thanh công cụ. 3. Khi "chế độ xem" của trình chỉnh sửa được lấy nét. 4. Thông tin hệ thống như phiên bản của phần mềm đang được sử dụng, hệ điều hành đang được sử dụng. 5. Mô tả lỗi nội bộ.

Kill Switch

Một khóa chuyển đổi cho phần mềm của chúng tôi có thể được quản lý để ghi lại dữ liệu ban đầu, mã hóa nó bằng muối và bất cứ khi nào là ngày không hợp lệ, nghĩa là người dùng đã cố gắng thay đổi nó, nó sẽ vô hiệu hóa phần mềm. Một tùy chọn khác là cài đặt xác thực internet, đăng nhập ngày đó vào cơ sở dữ liệu web trung tâm và kiểm tra ngày mỗi khi ứng dụng được mở.

Khi vô hiệu hóa phần mềm, chúng ta có thể xóa các DLL quan trọng. Tùy chọn phải trả tiền để tạo báo cáo không thể được xem xét.


Tôi quan tâm đến việc triển khai phiên bản dùng thử miễn phí cho phần mềm hiện có của mình. Tôi dự định sẽ dùng thử 14 ngày qua. Vào ngày thứ 14, phần mềm của tôi sẽ nhắc người dùng trả tiền cho phiên bản trả phí hoặc có hậu quả là không thể sử dụng nó. Phiên bản dùng thử miễn phí hoàn toàn được mở khóa, có nghĩa là tất cả các tính năng trả phí đều có.

Tuy nhiên, vấn đề nan giải của tôi là về cách "tốt nhất" để thực hiện những gì cần làm cho một giải pháp kết thúc thử nghiệm. Tôi có xóa các DLL quan trọng không? Có một hệ thống xác thực người dùng khi cài đặt hoặc sử dụng? Mã hóa thời gian và ngày sử dụng ban đầu bằng muối và nếu đó là ngày không hợp lệ (AKA họ cố gắng thay đổi ngày ban đầu), vô hiệu hóa phần mềm?

Tôi muốn biết một số biện pháp vô hiệu hóa phần mềm hiệu quả là gì.


9
Chia sẻ nghiên cứu của bạn giúp mọi người. Hãy cho chúng tôi những gì bạn đã cố gắng và tại sao nó không đáp ứng nhu cầu của bạn. Điều này chứng tỏ rằng bạn đã dành thời gian để cố gắng tự giúp mình, nó giúp chúng tôi tránh nhắc lại các câu trả lời rõ ràng và hầu hết nó giúp bạn có được câu trả lời cụ thể và phù hợp hơn. Xem thêm Cách hỏi
gnat

2
Bạn đã thất bại trong việc xác định hai điểm: - Bạn muốn bảo vệ ai? - Điều gì định nghĩa "100% bricked"? Tôi đề nghị bạn bỏ yêu cầu cuối cùng nào. Ghi đè thực thi của riêng bạn, lấp đầy cơ sở dữ liệu với rác? - Họ chỉ cần sao chép từ bản sao lưu và sẵn sàng để đi lại.
Jan Doggen

@gnat Không có vấn đề gì, tôi sẽ chia sẻ freemium so với nghiên cứu dùng thử miễn phí.
theGreenCabbage

@gnat Tôi đã thêm nghiên cứu của tôi vào đây.
theGreenCabbage

13
Một điều chưa được đề cập. Nếu bạn đang bán thứ gì đó đáng quan tâm cho công chúng (nói riêng về trò chơi) (không phải phần mềm bí truyền, đặc biệt), thì việc mua dễ dàngTIÊU CHUẨN . Đây là, IMHO, một trong những lý do chính khiến các nền tảng như Steam (phần mềm chơi game) rất thành công. Bạn nên chấp nhận chết tiệt gần mọi hệ thống thanh toán có thể. Nếu tôi phải đăng ký, yêu cầu báo giá hoặc điền địa chỉ của tôi cho một cái gì đó không có thành phần vật lý, tôi sẽ ít bận tâm hơn. Bạn phải đảm bảo mua ít công việc hơn sau đó vi phạm bản quyền.
Tên giả

Câu trả lời:


92

Có hai vấn đề ở đây - một là vấn đề lập trình và một là vấn đề kinh doanh. Đối với điều thứ hai, hỏi các lập trình viên về phân tích kinh doanh là lời khuyên tốt nhất mà bạn có thể nhận được từ tài xế xe buýt địa phương; điều đó có nghĩa là nó có thể tốt hoặc khủng khiếp, nhưng bạn không yêu cầu các chuyên gia chỉ định không có trọng lượng vốn có cho bất kỳ vấn đề nào. (Ở một bên, một trong những tài xế xe buýt của tôi thường cho tôi những ý tưởng hay.)

Nhưng đối với một vấn đề lập trình, nhược điểm là dường như hầu hết mọi người không thích ý tưởng bắt đầu. Có rất nhiều lý do tốt cho việc này, nhưng chúng không thực sự quan trọng ở đây. Đáng buồn thay, chúng tôi cũng theo một cách nào đó là một nhóm người khủng khiếp để hỏi, bởi vì nhờ vào vị trí và kiến ​​thức của chúng tôi, hầu hết chúng tôi đều rất giỏi trong việc vi phạm bản quyền đến mức chúng tôi nghĩ rằng thật vô nghĩa khi cố gắng thực hiện các biện pháp thử nghiệm !

Thực tế là, vấn đề cốt lõi của bạn là vấn đề phân tích kinh doanh và thử nghiệm bán hàng, và không có câu trả lời nào từ việc tìm hiểu khách hàng và thử nghiệm của bạn. Có vẻ như bạn không có một lượng lớn khách hàng để nói về đường ống bán hàng sản phẩm của họ và cách bạn có thể triển khai phần mềm dùng thử để cải thiện nó, vì vậy người ta phải hiểu rằng chúng ta đang ở trong tình trạng bị mù trong bóng tối . Bước đầu tiên để làm việc trong một căn phòng tối là biết bạn đang ở trong một!

Vì vậy, bắt đầu ở đâu đó. Mục tiêu không phải là câu trả lời đúng, bởi vì tôi chỉ có thể đảm bảo 100% một điều - bạn sẽ không bắt đầu với câu trả lời đúng. Nhưng bắt đầu chúng ta phải.

Cung cấp cho khách hàng của bạn một KISS

Ngoài ra, "giữ cho nó đơn giản, ngu ngốc." Hoặc, từ một phương pháp lập trình, "hãy thử điều đơn giản nhất có thể có thể làm việc." Rồi đi từ đó.

Vì vậy, khi cài đặt có được một ngày. Lưu trữ nó. Nhận dữ liệu của bạn về cài đặt và sử dụng, và đắm chìm trong sự ấm áp mà phân tích dữ liệu có thể mang lại. Vô hiệu hóa bất kỳ phần nào của phần mềm bạn muốn khi hết hạn dùng thử - tôi đề nghị if (trial_expired()). Sau đó điều chỉnh.

Trước hết, có được dữ liệu tốt. Bạn có mong đợi cung cấp các bản cập nhật trong tương lai cho phần mềm của bạn không? Sau đó, nếu ai đó cố gắng đánh bại v1.0, đừng lo lắng về điều đó.

Cách dễ nhất là gỡ cài đặt phần mềm, sau đó cài đặt lại. Thời gian dùng thử mới (vì phần mềm của bạn đã xóa ngày cũ). Bạn có quan tâm không? Nếu v1.0 sắp được cập nhật, thì tôi thực sự khuyên bạn nên tìm hiểu xem điều này có xảy ra không - nhưng đừng cố gắng ngăn chặn chúng (chưa). Nó giống như những người dùng 2 bạc hà thay vì 1 - chỉ là một loại bạc hà, hãy để nó đi. Dù sao, họ có thể sẽ không trả tiền cho bạn (dù vậy).

Làm sao? Chà, trong Windows, điều này thường được thực hiện bằng cách đẩy các khóa mồ côi ngẫu nhiên trong sổ đăng ký và các tệp có tên kỳ lạ trong các thư mục cài đặt phổ biến khác nhau. Trình cài đặt của bạn rõ ràng sẽ giả vờ rằng chúng không tồn tại và chỉ để chúng ở đó. Mức độ tinh vi của máy tính này đòi hỏi phải đánh bại nhiều hơn nhiều so với gỡ cài đặt.

Nhưng nếu bạn không cố gắng ngăn ai đó cài đặt lại, thì bạn sẽ có được dữ liệu bạn cần. Họ không cướp cửa hàng của bạn ở đây - họ đang cho bạn cơ hội quý giá để nghiên cứu một khách hàng tiềm năng. Sử dụng nó để điều chỉnh tiếp thị của bạn, lời nhắc trợ giúp phần mềm, chiến dịch email, 'ưu đãi đặc biệt'. Tôi sẽ thử phát hiện sự kiện và sau đó, một ngày sau đó, gửi cho họ một chìa khóa mà họ có thể tham gia vào chương trình để gia hạn thử nghiệm cho đến tháng sau. Bạn có thể tìm thấy một phương pháp biến họ thành khách hàng trả tiền, hoặc không; không có cách nào biết trước thời hạn!

Điều này có vẻ tầm thường, nhưng hãy đối mặt với nó - bạn có thực sự cần gì hơn thế không? Nếu bạn đang thu thập dữ liệu, đó là giá trị tiền cho bạn. Có lẽ bạn sẽ muốn dành thời gian để đảm bảo email tốt, thiết kế nhắn tin trong phần mềm mà bạn có thể cập nhật để hướng dẫn người dùng mới (quảng cáo bán hàng vô hình, thực sự), viết lại ứng dụng của bạn, khắc phục các lỗi có thể ngăn chặn bất kỳ người tỉnh táo nào từ việc mua phần mềm của bạn ở nơi đầu tiên, v.v.

Nhưng chìa khóa ở đây là bạn đang giao tiếp trung thực và rõ ràng với tất cả các khách hàng tiềm năng - nếu bạn muốn điều này, bạn nên trả tiền cho chúng tôi. Chỉ vì bạn đang (vô hình) hào phóng không có nghĩa đây là phần mềm miễn phí - bạn sẽ thông minh về nó và không đuổi khách hàng đi vì họ đã không ký thỏa thuận trong hai tuần đầu.

Nếu bạn nghĩ về nó, những người này đang đến cửa hàng của bạn để thực sự nhìn qua sản phẩm của bạn. Họ đang lái thử, nhưng nó chẳng mất gì (gần như). Không có cửa hàng thành công nào có được điều đó bằng cách thu hút những khách hàng chưa sẵn sàng mua! Tuy nhiên, tất cả chúng ta đều biết nếu bạn có thể nhận được một cái gì đó miễn phí, mãi mãi, tại sao phải trả tiền? Vì vậy, sử dụng tốt nhất của cả hai thế giới.

Với mỗi bước bạn thực hiện, bạn sẽ làm việc với một bộ lọc và nếu phần mềm của bạn tốt, bạn S be thực hiện chuyển đổi theo từng bước. Gợi ý đơn giản của tôi:

1) 14 ngày dùng thử miễn phí

2) Mở rộng bản dùng thử miễn phí, không có câu hỏi nào

3) Đề nghị gia hạn bản dùng thử miễn phí một lần nữa, nếu họ thật tử tế khi điền vào một biểu mẫu ngắn truyền đạt cho bạn ý kiến ​​của họ về phần mềm của bạn cho đến nay.

4) Bạn có chắc những người này vẫn đang thực sự sử dụng phần mềm của bạn sẽ không cân nhắc việc mua nó không? Tìm cách lôi kéo họ - hoặc ít nhất là cố gắng thu thập thêm thông tin từ họ về những gì bạn có thể làm để khiến người khác mua. Có thể cho phép họ 'yêu cầu' tiện ích mở rộng thông qua một biểu mẫu mà nhân viên bán hàng của bạn sẽ vui lòng cấp bất kể và sau đó sử dụng thông tin để xem họ có thể giải quyết bất kỳ sự phản đối nào mà họ có thể phải mua phần mềm của bạn không.

Điều gì xảy ra nếu người dùng này đang đánh giá nó để sử dụng trong toàn bộ bộ phận của họ? Nếu cuộc họp ngân sách diễn ra vào tháng tới, bạn có thực sự muốn họ không thể sử dụng phần mềm cho đến lúc đó không?

5) Có thể bạn cắt chúng ngay bây giờ ... và có thể bạn mời họ cho một ưu đãi đặc biệt một tuần sau với giá giảm. Có thể không. Có thể bạn đề nghị gia hạn để đưa ra một phần mở rộng cuối cùng.

Những người này không nợ bạn tiền, vì vậy hãy coi họ là khách hàng tiềm năng trong tương lai - không phải kẻ trộm, người bán hàng tự do hoặc những người cần thanh toán hóa đơn hoặc tắt dịch vụ của họ. Mọi người đều ghét những người thu gom hóa đơn, vì vậy đừng hành động như một.

Về mặt lập trình, hãy đối mặt với nó - điều này thực sự không khó. Sử dụng các tập tin mồ côi để theo dõi ngày. Nếu bạn phải có một tài khoản hợp lệ như thông qua iTunes, việc theo dõi này dễ dàng hơn. Nếu không bắt buộc, thì tôi thường khuyên bạn không nên yêu cầu cài đặt đầu tiên - không bao giờ khiến mọi người rời khỏi phiên bản đầu tiên vì họ không muốn điền vào một hình thức ngu ngốc. Mọi người ghét hình thức! Và họ không biết phần mềm của bạn, vậy tại sao 'trả tiền' để điền vào biểu mẫu nếu họ thậm chí không biết ứng dụng của bạn có hoạt động không?

Ở bước 2, tôi sẽ nhận được đăng ký / email để gia hạn. Một lần nữa, lập trình nó là tầm thường.

3) Sau 30 ngày, tôi có thể yêu cầu một số loại hành vi 'nhà điện thoại'. Nếu mọi người sẽ bẻ khóa nó - giống như họ làm - congratu-friggin-lations! Bạn phải trở nên khá phổ biến. Nhưng đừng lo lắng, nếu đây không phải là một trò chơi video mọi người có thể không quan tâm đủ để làm phiền, vì vậy chỉ cần thay đổi mã của bạn trong phiên bản tiếp theo và làm cho chúng quay trở lại bảng vẽ.

TL; DR;

# 1 Đừng giải quyết vấn đề mà bạn không thực sự gặp phải (bạn chưa phải là Adobe - DRM có thể đơn giản và hiệu quả nếu bạn không nghĩ quá nhiều). # 2 Đừng hỏi một lập trình viên khi bạn cần hỏi một nhà tiếp thị, nhà phân tích kinh doanh hoặc nhân viên bán hàng. # 3 Hãy đối xử với khách hàng của bạn như những người có thể giúp bạn kiếm sống chứ không phải là những người nợ bạn và đặc biệt không phải là những tên trộm. # 4 DRM thực sự, thực sự, dễ dàng. Đừng nghĩ rằng bạn sẽ ngăn mọi người sử dụng phần mềm của bạn, người gần như chắc chắn sẽ không bao giờ, bao giờ, sẽ cho bạn tiền ... ít nhất, không phải hôm nay.

  • Tôi đã mua phần mềm tôi đã vi phạm bản quyền, nhiều năm sau đó. Vì vậy, đừng chọc giận khách hàng trong tương lai.

3
Cảm ơn câu trả lời. Câu trả lời này đã cho tôi cái nhìn sâu sắc hơn so với câu trả lời được đánh giá cao hơn câu trả lời của bạn bởi vì nó cung cấp nhiều giải pháp hơn là nói với tôi "không thể, chỉ cần tạo ra một sản phẩm tốt", đó thực sự không phải là điều tôi đang hỏi.
theGreenCabbage

37
+1 I have bought software I've pirated- nhiều lần hơn tôi có thể đếm.
WernerCD

1
+1But as for a programming problem, the downside is that it seems most people don't like the idea to start with. There's lots of good reasons for this, but they aren't really important here. Sadly, we are also in some ways a terrible group of people to ask, because by virtue of our position and knowledge most of us are pretty darn good at pirating software to the point that we think it pointless to try to implement trial measures at all!
làm lạnh toán học

2
Có, +1 cho tuyên bố cuối cùng ở đây quá. Tôi thường xuyên vi phạm bản quyền phần mềm chỉ để sử dụng phần mềm trong một thời gian mà không có bất kỳ thông báo "vui lòng mua giấy phép" nào, hoặc tệ hơn, các tính năng bị vô hiệu hóa hoặc khóa dùng thử sau một thời gian quá ngắn. Sau một vài tuần hoặc vài tháng, nếu tôi thích nó, tôi sẽ luôn trả tiền cho một giấy phép vì điều khó chịu đó gọi là lương tâm (và tôi cũng thích hỗ trợ các công ty tốt, hoặc các nhà phát triển độc lập tốt như trường hợp đôi khi). Và nếu tôi không thích phần mềm này, tôi sẽ ngừng sử dụng nó và không ai thực sự mất bất cứ thứ gì - dù sao tôi cũng sẽ không trở thành khách hàng trả tiền.
Ben Lee

1
câu trả lời tuyệt vời! một viễn cảnh rất đẹp Tôi muốn thấy nhiều công ty tham gia hơn
Bernardo Pires

58

Bạn đang tìm kiếm một cái gì đó về cơ bản là không thể. Một số công ty lớn nhất, được tài trợ tốt nhất trong ngành công nghiệp phần mềm đã mất nhiều năm và hàng triệu đô la, tìm kiếm cách để hoàn thành những gì bạn đang cố gắng và nó chưa bao giờ thực sự mang lại kết quả thành công.

Trước hết, bạn có thể quên tất cả về việc cài đặt cục bộ. Miễn là trình cài đặt gốc vẫn còn tồn tại, (hoặc có thể được sao lưu hoặc tải xuống lại), đó không gì khác hơn là một cú va chạm tốc độ. Ngay cả việc đặt một cái gì đó ở đâu đó trong cài đặt hệ thống cũng có nghĩa là rất ít khi người dùng có thể cài đặt vào VM và sau đó sao lưu và khôi phục toàn bộ hình ảnh VM.

Bước rõ ràng tiếp theo là xác thực trực tuyến: thiết lập một máy chủ và có chương trình "gọi về nhà" mỗi khi nó bắt đầu kiểm tra thông tin đăng nhập. Điều này cũng không hoạt động. Đầu tiên, bạn gặp phải vấn đề rõ ràng (và rất bực bội) về những tiêu cực sai khi máy chủ không hoạt động hoặc không thể truy cập được vì bất kỳ lý do nào hoặc có một số trục trặc trong phần mềm của nó. Và bạn không thể làm cho phần mềm tự động xác thực người dùng nếu phần mềm không thể truy cập vào máy chủ hoặc việc tầm thường để thực hiện xác thực bằng một vài thủ thuật mạng hoặc chỉ bằng cách sử dụng phần mềm trên máy có bật wi-fi tắt. (Và tất nhiên, điều này có nghĩa là mọi người cố gắng sử dụng hợp pháp với lý do chính đáng là không có kết nối wi-fi, chẳng hạn như mang máy tính xách tay của họ đi cùng trên xe buýt, sẽ bị khóa. như chương trình của bạn.)

Vấn đề khác với xác thực trực tuyến là cuối cùng, nó sẽ biến thành một boolean ở đâu đó trong mã của bạn. Ở đâu đó, nó gọi AuthenticateUser()và nếu nó quay lại True, người dùng sẽ vào và nếu nó quay lại False, chúng sẽ bị khóa. Và bất kể bạn làm gì để mã hóa, làm xáo trộn hoặc ẩn mã, cuối cùng, nó sẽ hiểu được một thực tế đơn giản là nếu một máy tính có thể đọc nó vào một lúc nào đó, thì một lập trình viên cũng có thể. Ai đó, ở đâu đó, sẽ tạo ra một vết nứt AuthenticateUserluôn luôn quay trở lại Truevà họ sẽ đưa nó lên Web.

Vấn đề cơ bản của mật mã học có thể được mô tả là "Alice muốn gửi thư cho Bob, mà Charlie không thể đọc nó ngay cả khi nó rơi vào tay anh ta." Vấn đề với những gì bạn muốn là Bob và Charlie là cùng một người, điều này khiến mục tiêu của bạn không thể thực hiện được.

Nếu bạn muốn kiếm tiền từ phần mềm của mình, vặn tay người dùng không phải là câu trả lời. Những gì sẽ hoạt động, điều duy nhất không ngừng hoạt động trong những ngày này, là lý thuyết thị trường cơ bản: cung cấp một sản phẩm mà người dùng nhận thấy có giá trị lớn hơn anh ta so với giá bạn yêu cầu và anh ta sẽ sẵn sàng trả . Bất cứ điều gì khác sẽ chỉ lãng phí thời gian và nỗ lực từ phía bạn.


8
Câu trả lời tuyệt vời và rất nhiều thông tin! Tôi cũng muốn nói rằng, bạn có thể phát hành các bản cập nhật thường xuyên (tính năng, không chỉ là "sửa lỗi") mà sẽ khiến người dùng xác thực để có được chúng. Nếu bạn tạo các bản cập nhật thực sự tốt, người dùng sẽ không bận tâm đến việc hack nếu không có khả năng họ sẽ không nhận được các bản cập nhật của bạn.
L_7337

1
+1 cho sự đồng nhất. Bạn nên in đậm dòng đầu tiên và đặt dấu ngắt ngang dưới đoạn đầu tiên, bởi vì 95% những gì cần nói tồn tại ngay tại đó.
Jimmy Hoffa

2
Khi bạn nói "kết quả thành công", tôi tin rằng bạn có nghĩa là không ai đã sản xuất một phần mềm phiên bản dùng thử có chứa tất cả mã cho phiên bản đầy đủ mà hoàn toàn không thể bị hack để được sử dụng như một phiên bản đầy đủ. Điều gì sẽ xảy ra nếu thành công được định nghĩa là sản xuất phần mềm dùng thử giới hạn thời gian sử dụng phần mềm cho 95% người dùng phần mềm (những người tạo ra litte hoặc không nỗ lực gian lận) và dẫn đến tỷ lệ mua 5%? Chắc chắn điều đó đã đạt được trước đây.
giả mã

18

Chỉ cần 2 của tôi.

100% tự hủy đáng tin cậy là không thể. Sẽ luôn có một cách tinh vi để phá vỡ sự bảo vệ của bạn.

Những gì bạn có thể làm là làm cho việc sử dụng hoặc bẻ khóa một bản dùng thử hết hạn trở nên rắc rối hơn là mua một phiên bản đầy đủ cho thị trường mục tiêu của bạn .

Nếu tôi ở trong đôi giày của bạn, tôi sẽ cố gắng đảm bảo rằng phần mềm của tôi là: (1) phổ biến, vì vậy mọi người quan tâm ít nhất đã dùng thử và (2) có giá hợp lý, vì vậy những người sẵn sàng trả tiền có thể mua nó và bạn quay lại lợi nhuận. Những người dùng còn lại có thể chơi với các bản dùng thử đã hết hạn với nội dung của trái tim họ: dù sao họ cũng không mua nó, nhưng họ giúp ích cho sự phổ biến và cung cấp nhiều tuyển dụng tiềm năng hơn cho các công ty thực sự mua phần mềm của bạn.

Tôi cho rằng thị trường mục tiêu cho plugin Revit bao gồm các kiến ​​trúc sư, nhà thầu xây dựng, nhà thiết kế, tất cả mọi người xử lý số tiền tương đối lớn trên mỗi hợp đồng và không vượt quá thời gian rảnh hoặc chuyên môn máy tính cấp thấp.

Vì vậy, hãy đảm bảo rằng phiên bản dùng thử đã hết hạn của bạn đủ làm phiền họ mà không thực sự phá vỡ bất cứ điều gì (hoặc họ sẽ ghét bạn). Những người cần hoàn thành công việc cuối cùng sẽ tham gia và trả giá [hợp lý].

Một vài ý tưởng:

  • Tạo một phiên bản dùng thử nhanh chóng (và sạch sẽ) tự gỡ cài đặt khi hết hạn. Việc cài đặt lại nên có thể, để người dùng thấy công việc của họ còn nguyên vẹn, sau đó là một lần gỡ cài đặt tự động khác ngay sau đó.
  • Đặt đầu ra của phiên bản đã hết hạn bao gồm nhãn hiệu hoặc văn bản có nội dung "Được tạo bằng phiên bản HẠN HẠN của [phần mềm của bạn]". Một người dùng nghiêm túc sẽ không hiển thị đầu ra như vậy cho khách hàng. (Và nếu anh ta làm vậy, một lần nữa, anh ta quá rẻ để trả tiền cho phần mềm của bạn).
  • Tạo một phiên bản dùng thử hết hạn hiển thị các hộp thông báo vào những thời điểm ngẫu nhiên, cảnh báo rằng bản dùng thử đã hết hạn và đưa ra một liên kết đến phiên bản đầy đủ. Những thứ như vậy phá vỡ dòng công việc đủ để tạo ra một bản nâng cấp đáng giá cho một người dùng nghiêm túc.

Bất kỳ sự kết hợp các thủ thuật thông thường nào cũng có thể được áp dụng để đánh dấu máy tính là đã dùng thử hết hạn: khóa đăng ký mật mã, tệp mật mã tại các vị trí ngẫu nhiên (đừng quên khôi phục dấu thời gian nếu bạn sửa đổi chúng), ẩn dấu thời gian trong các tệp đồ họa không liên quan hoặc khác các hình thức của steganography, vv

Tất nhiên, nếu người dùng cài đặt lại HĐH, anh ta sẽ lại được dùng thử miễn phí. Đừng bận tâm: một khách hàng nghiêm túc sẽ khó có thể dùng đến điều đó. Tất nhiên sơ đồ này cuối cùng sẽ bị phá vỡ; hãy chắc chắn rằng phần mềm của bạn đủ phổ biến để sau đó bạn có thể cung cấp bản nâng cấp với các tính năng hấp dẫn và sơ đồ bảo vệ khác.

Là một ví dụ về "sự bất tiện" rất thành công, tôi sẽ chọn Balsamiq Mockups. Bạn có thể sử dụng phần mềm của họ miễn phí (trên web), với một số tính năng bị hạn chế, bao gồm lưu công việc của bạn. Công việc có thể được "xuất khẩu" và "nhập khẩu" trở lại với một số rắc rối. Đó là, bất kỳ học sinh trung học nào muốn chơi với phiên bản miễn phí gần như đầy đủ chức năng đều có thể làm như vậy, và thậm chí có thể hoàn thành một số công việc. Học sinh sẽ không mua nó. Nhưng một nhà thiết kế nghiêm túc coi trọng thời gian và sự thuận tiện của họ sẽ mua nó.

Như một ví dụ rất thành công khác, tất nhiên tôi sẽ dùng MS Windows.


Tôi hy vọng nó rõ ràng hơn bây giờ. Ý tưởng là 'hãy để mọi người thử, và trả tiền thực sự quan tâm'.
9000

5

Điều đó không khó thực hiện. Nó thực sự phụ thuộc vào bao nhiêu nỗ lực bạn muốn đưa vào nó.

Hãy nhớ rằng, mục đích của một phiên bản dùng thử là để tăng doanh số. Tất cả các lược đồ phiên bản dùng thử cho phần mềm có thể cài đặt về mặt lý thuyết có thể được khắc phục bằng một số phương tiện, ngay cả khi nó liên quan đến nỗ lực to lớn, vì mã được thực thi cục bộ và do đó có thể được chỉnh sửa bằng trình soạn thảo hex. Câu trả lời này hoạt động từ giả định rằng người đăng ban đầu đang hỏi về các giải pháp thực tế cho vấn đề kinh doanh này, chứ không phải lý thuyết.

Như một trong những áp phích khác được đề cập, vấn đề là đảm bảo rằng nỗ lực liên quan đến sơ đồ phiên bản dùng thử vượt quá chi phí về thời gian và công sức so với chi phí mua phần mềm. Các 'cướp biển' chuyên dụng sẽ chỉ cần tải xuống các phiên bản bẻ khóa trước của phần mềm của bạn bằng BitTorrent . Đừng lo lắng về họ, vì dù sao họ cũng sẽ không phải là khách hàng. Các cách tiếp cận dưới đây đã được thực hiện bởi vô số công ty phần mềm trong nhiều thập kỷ và miễn là bạn không bị tê liệt bởi khái niệm rằng các hệ thống đó phải hoàn hảo về mặt lý thuyết, bạn sẽ thấy chúng hoạt động khá tốt trong thế giới thực.

Ở cấp độ đơn giản nhất, bạn chỉ cần giữ 'cửa sổ' ngày bắt đầu / ngày kết thúc trong sổ đăng ký (được mã hóa). Mỗi khi chương trình chạy, bạn kiểm tra xem thời gian hệ thống nằm giữa hai ngày đó và cập nhật thành phần 'bắt đầu' của ngày đó. Điều đó ngăn người dùng thông thường chỉ cần đặt lại đồng hồ để cho phép truy cập vào phiên bản dùng thử.

Bạn có thể mở rộng điều này bằng cách theo dõi cửa sổ thời gian đó ở một số vị trí (cả trong sổ đăng ký và trong thư mục dữ liệu của ứng dụng của bạn) và đảm bảo chúng khớp với nhau khi khởi động. Điều đó ngăn mọi người tránh khỏi những mục xung quanh - họ phải biết chính xác vị trí của họ và cách giải mã / mã hóa dữ liệu.

Có một số cách khác để thắt chặt mọi thứ, điều mà tôi chắc chắn bạn sẽ gặp phải khi bắt đầu phát triển chức năng dùng thử.

Nếu bạn không muốn tự mình làm tất cả, có khá nhiều thư viện bên thứ ba cung cấp loại chức năng này.

Lưu ý về việc thực sự xóa các tệp: Nếu ứng dụng của bạn cố xóa các tệp, phần mềm chống vi-rút của người dùng có thể bị đánh dấu là phần mềm độc hại. Phần mềm chống vi-rút là rất tích cực những ngày này. Và nhiều người dùng cuối sẽ bị thuyết phục rằng có vi-rút trong phần mềm của bạn nếu chương trình chống vi-rút của họ bật lên cảnh báo.


Tò mò tại sao điều này sẽ nhận được một downvote, vì tôi đã sử dụng kỹ thuật này thành công trong nhiều năm trong phần mềm thương mại.
GrandmasterB

Tại sao câu trả lời này bị hạ thấp? Tôi muốn xem lý do.
theGreenCabbage

Bạn có thể cho tôi biết thêm về cách bạn thực hiện điều này và nó hoạt động tốt như thế nào? Bạn đã làm gì khi điều kiện ngày thay đổi bị vi phạm? Nó có "vô hiệu hóa" hoặc "giết" các tính năng / chính ứng dụng không?
theGreenCabbage

2
Điều này sẽ bị đánh bại đơn giản bằng cách cài đặt chương trình trên máy / VM mới khi bản gốc hết hạn.
Dan Lyons

7
Tôi đánh giá thấp trên cơ sở chính xác thực tế, bởi vì bạn tuyên bố rằng một cái gì đó không thể thực sự là "không khó để làm."
Mason Wheeler

1

Nó phụ thuộc vào mức độ khó mà bạn muốn làm cho khách hàng tiềm năng của mình phá vỡ các tính năng tự vô hiệu hóa đó (nghe có vẻ tốt hơn "tự hủy"). Giả sử khách hàng tiềm năng của bạn sẽ không cố gắng tự thao túng mã chương trình (mà một số người trong số họ sẽ thử, hãy tin tôi), bạn có các tùy chọn sau:

  • lưu trữ thời gian ngày ban đầu ở đâu đó (ẩn) trên máy tính nơi cài đặt phần mềm của bạn: điều này có nhược điểm là khách hàng của bạn có thể dễ dàng phá vỡ nó, ví dụ, bằng cách cài đặt chương trình của bạn trong máy ảo và cài đặt lại sau thời gian dùng thử Đặt lại VM về trạng thái ban đầu

  • đảm bảo mỗi bản sao chương trình đã tải xuống của bạn có thời gian tải xuống được mã hóa cứng riêng ở đâu đó ẩn trong mã nhị phân của chương trình. Điều này sẽ cần nhiều nỗ lực quản trị hơn từ bạn và bạn vẫn không thể chắc chắn rằng cùng một người không tải xuống một bản sao mới của chương trình từ máy chủ của bạn sau thời gian dùng thử (có lẽ, sử dụng một danh tính khác)

  • chỉ cung cấp phiên bản dùng thử với "dongle" khi kết thúc thời gian dùng thử. Điều này sẽ chỉ khả thi đối với các chương trình có một số lượng khách hàng tiềm năng và giá cao hơn nhiều so với giá của dongle.

  • biến thứ đó thành một ứng dụng web, hoặc một phần của nó, hoặc chỉ là một ứng dụng được kết nối web. Trong trường hợp này, bạn có thể lưu trữ ngày đầu tiên trên máy chủ của mình, nhưng bạn sẽ phải xác định và phân biệt những người đang sử dụng phần mềm của bạn (ví dụ: bằng cách đặt cookie hoặc tạo đăng nhập). Nhưng một lần nữa, bạn không thể chắc chắn 100% rằng mọi người không thay đổi danh tính của họ.


"Bạn bị lừa", "bạn bị lừa" và "Bạn đang rất say"? Tôi không cảm thấy điều này mang lại bất kỳ giải pháp thực sự. Tại sao không phải là mô hình DRM-ish nơi bạn cần đăng nhập để sử dụng chương trình và ngày được lưu trữ ở phía máy chủ?
Elias

2
@Elias Phần mềm tôi đang tạo là một plugin phân tích vật liệu toàn diện cho Revit, phần mềm này sẽ sớm được triển khai cùng với kho ứng dụng của Autodesk. Hiện tại tôi không chắc chắn loại thông tin từ xa, kiểm soát hoặc thông tin người dùng nào sẽ được cung cấp cho chúng tôi bởi cửa hàng ứng dụng của Autodesk, vì vậy trong khi cài đặt / sử dụng web, tôi không nghĩ nó có thể thực hiện được.
theGreenCabbage

1
@Elias: cảm ơn vì gợi ý, nhưng "đăng nhập" trên máy chủ có nghĩa là kiểm tra danh tính và danh tính có thể được thay đổi.
Doc Brown

@DocBrown, chúng có thể được thay đổi trong một số trường hợp nhất định, nhưng tôi giả sử với Cửa hàng ứng dụng của Revit \ Autodesk, có một thông tin đăng nhập duy nhất cho mỗi khách hàng của sản phẩm đó. Mặc dù, dựa trên nhận xét củaGreenCabbage, rất có thể dữ liệu này hoàn toàn không thể truy cập được, khiến nhận xét ban đầu của tôi sai.
Elias

0

Dù bạn làm gì, hãy chắc chắn rằng bạn kiểm tra những gì xảy ra sau ngày hết hạn một cách cẩn thận. Tôi đã từng làm việc cho một công ty phân phối phần mềm với sơ đồ dùng thử giống như mô tả mà bạn mô tả. Sự khác biệt là hết hạn là một ngày cố định trong tương lai.

Chúng tôi đã bỏ chương trình ngay lập tức sau khi chúng tôi nhận được rất nhiều cuộc gọi từ những khách hàng giận dữ khi các phiên bản được mua hợp pháp của họ cũng ngừng hoạt động vào ngày đó.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.