Creating a nag screen for the Cocoa app

I am building a shareware Cocoa app and I wanted to know what is the best way to put a "nag screen". Basically, before displaying the main application window, I want to have a window with text, a register button and a "Not Yet" button (which is disabled at first). The Not Yet button will have a timer set, so the button caption will change according to the number of seconds, so:

"Not yet ... 10" "Not yet ... 9"

etc .. and at the end of 10 seconds the Not Yet button will become active, allowing the user to continue working and using the application. What's the best way to do something like this? Can NSAlert be used?

I've seen it done well in Pacifist, any help would be appreciated. Thanks to

+2


source to share


4 answers


Personally, I could use your Shareware app in a few days, let them rate it for a couple of days "nag free" ... but that's just my opinion! Try the following:

add them to the interface:

IBOutlet NSTextField *countdownLabel;
IBOutlet NSButton *continueButton;
NSTimer *timer;

      



.m:

- (id)init{
    self = [super init];
    [countdownLabel setStringValue:[NSString stringWithFormat:@"%d",10]];
    timer = [NSTimer scheduledTimerWithTimeInterval:1 target:self  selector:@selector(nagTimer:) userInfo:nil repeats:YES];
    return self;
}


- (void)nagTimer:(id)sender{
    if ([countdownLabel intValue] == 0){
        [timer invalidate];
        [continueButton setEnabled:YES];
        return;
    }
    [countdownLabel setStringValue:[NSString stringWithFormat:@"%d",[countdownLabel intValue] - 1]];
}

      

Something like this will work. Good luck!

+2


source


Probably not what you want to hear, but I wouldn't do that. When you rate software, there is nothing more annoying than a screenshot secretary.

And I don't mean annoyance, as "it will give me a reason to buy a non-nag version of your software." I mean the annoyance, like in "I'll never touch this app again".

I made software for accountants who had a similar approach, when I gave them a separate version that just splashed a "Copy of the estimate" on the reports, they were quite happy.

When questioned, they made it clear that they were happy with the limited limitation, or even reduced functionality a little (for example, only 10 client files, not no limit), but the nag screen slowed them down from the start and it gave a very bad software experience ...



If you want to give them a reason to buy, grab a sheet from the TechDirt book - offer something for free (but not the annoying version) and then be worth it to buy something meager. To this end, I would not advertise the free version as limited, but rather focus on the additional functionality they get by paying.

This 101 basic marketing across lines of fast food outlets with sizes regular

and large

, not small

and large

:-)

You get more from the customer by offering them something extra to pay, rather than taking something if they don't pay.

This is what you are doing, this is important, not the actual result.

+8


source


I don't like it, but here's how to do it:

Create an alert view as well as an NSTimer. Then when the timer reaches x seconds, set the button to active (not really sure how to do this, but it shouldn't be too complicated).

0


source


Several Mac applications use a subtle "X days left" message in the upper right corner of the main window. The most striking examples:

You can see this method in action here: Coda screenshot (look at the top right corner)

This approach goes out of the way of potential buyers, but it also reminds them of buying your product.

0


source







All Articles