Free trials of plugins and themes

Hi all,

We’ve seen the discussion in the public area of the forum, and I wanted to have a bit of a discussion privately amongst developers.

First of all, is there a consensus on whether this would be a desired feature?

Secondly, I think it’s quite clear how we’d implement it for plugins but themes are quite tricky since they’re just a collection of resources.

For plugins, we could call a method on your plugin like:

- (BOOL)canPerformExportForMode:(NSString *)mode errorMessage:(NSString **)errorMessage;

You could check the mode against a set of predefined values (preview, publish etc) and return YES or NO as you wish - obviously if you return NO you’ll want to populate the error message too.

Bear in mind, however, that in order to even preview a page we need to generate the HTML/CSS/JS and write it to a temporary location on disk - if someone really cared enough about getting your plugin for free, they could just grab it from there (although it would negate the point of using RapidWeaver in the first place).

There’s also a question mark around whether it’d be possible to protect this from rogue code swizzling your method and returning YES for everything.

So - again, given what you’ve seen above is there appetite for a feature like this?

As far as themes go, we’re pretty stumped on ideas for how to do this safely given the fact that a theme is just a bunch of resources (HTML/JS/CSS/images/plist), so anything we add to those can be easily rewritten. Themes do have a Preview section on the community website - is that enough?

If we receive enough feedback on this quickly enough, we may still be able to slip this feature into 7.1 :slight_smile:

In addition to themes, there is the question how to perform that for Stacks…

And yes, I would like to see that in the future :thumbsup:

Indeed, but I suspect a lot of that work is going to be for @isaiah - I didn’t want to assume he wanted this feature (or to implement it this way) for Stacks :grin:

1 Like

Mentioning @willwood @joeworkman and @Bill who all commented on the public thread. Especially interested to hear how @willwood has found free trials so far.

This is something we have attempted in one form or another for ten or more years, it would be fantastic to have this offered and would be available to Themes and Stacks.

Consumers LOVE “try before you buy”. I get asked for free trials nearly daily.
Theme developers like the idea of “free trials” but don’t like the idea of it being easily worked around and having to maintain to versions of the same product.

Ideally, there would be a single theme that would present with limited features until a unique id/serial were entered and then the full feature set would present.

1 Like

Yep what @Gary said above,

One thing that I think off related to Themes, is to somehow block the access to the Publish and unblock that when an id/serial were entered.

This way the user could test everything in the Theme without any restrictions and even preview it in RapidWeaver but can’t Publish the site locally or online if they don’t unblock that using an id/serial.

Just an ideia.

1 Like

Same could be true for Stacks, at lest for the majority working in preview.

Bear in mind that, right now, there’s no serial system for themes. What you’re asking is for Realmac to become the gatekeeper of all themes if they opt-in to the trial system - this is very similar to Apple’s App Store model. Are you sure this is what you want?

What if, for example, to keep this system running Realmac charged theme developers an extra 30%(like Apple does) of each theme’s purchase price? Would that still be feasible? (I suspect not)

Building something like this is a long-term project, and probably wouldn’t launch for a year at the very least. Is there anything we can do in the meantime to make this work instead?

Note: Before everyone freaks out, I must stress that none of this is actually planned. I’m just speculating and trying to find a solution that would work for all involved.

It wouldn’t be possible for RW to let us 3rd party devs maintain our own serials with RW being able to see if a theme has enabled plist string telling the theme that a serial is required?

I realize that there is no fullproof way and everything would have a work around and I am not stressing on those people but I know nearly all of the Wordpress developers require a serial to use the full version of a theme and only on one site.
Seems that there should be someway that we could do this without RMS being gatekeeper for all themes. I would hope to avoid that for many reasons.

Plugins already implement their own trial mode, so this would be definitely more useful for themes and stacks.

I think I’ve offered free demo’s for as long as I’ve been a RW developer (close to 10 years).

In themes, I disable page navigation links (I delete %url% in the theme.plist file), delete the sparkle appcast links and append ‘demo version’ to the footer.

In stacks, I delete the sparkle appcast links and add a snippet of JS that puts ‘demo version’ text after #%id% and hides the stack after 60 seconds.

Putting things into perspective, yes there probably are people who can undo the demo restrictions or live with a severely restricted addon. But typically they are the type of people who will try to steal addons in whatever way they can - either buying addons and filing chargebacks or simply ripping code from websites. In my eyes, the extra sales gained from offering people demo’s far outweighs the point-percent of sales lost through fraud or piracy.

I’d say that the current system does not need changing. Developers should be allowed to decide if they want to provide demo’s or not. And decide what restrictions are applied to any demo’s offered.

My only concern with license keys could be the additional support burden that entails; which for low price-point addons (like stacks) might not be worth it. From working in a support role for some other software products, I know from experience that a high proportion of customer enquiries can relate to missing or invalid license codes, which can be a point of agitation for the customer.