2009-09-19 8 views
2

Je crée une application Cocoa shareware et je voulais savoir quelle est la meilleure façon de mettre dans un "nag screen". Au fond devant la fenêtre principale de l'application montre, je veux avoir une fenêtre avec un texte, un bouton d'enregistrement, et un bouton « Pas encore » (qui est désactivé au début). Il y aura une minuterie sur le bouton Pas encore si le titre du bouton change en fonction du nombre de secondes, comme:Création d'un écran Nag pour une application Cocoa

« Pas encore ... 10 » « Pas encore ... 9 »

etc., et à la fin des 10 secondes sur le bouton Pas encore est activé, permettant à l'utilisateur de procéder et utiliser l'application. Quelle est la meilleure façon de faire quelque chose comme ça? Puis-je utiliser NSAlert?

J'ai vu cela étant bien fait dans Pacifist, toute aide serait appréciée. Merci

+1

Les gens achètent des produits shareware s'ils sont bons, pas à cause de fenêtres popup ennuyantes. – Jacob

+1

Je trouve l'approche de la minuterie très frustrante (surtout si elle va apparaître au moment du lancement). Je préfère quand une version d'essai d'une application est fonctionnelle, sauf pour des choses comme l'épargne (tatouage sortie est encore mieux, parce que l'utilisateur peut voir exactement ce que l'application produit). De cette façon, l'utilisateur peut utiliser l'application autant qu'il le souhaite (pour voir comment cela fonctionne, etc.), mais s'il veut l'utiliser pour produire quelque chose, il doit l'acheter. –

+0

Si vous avez une version gratuite qui est assez complète, pourquoi ne pas faire un binaire qui fait tout pour, disons, 14 jours, puis revient à la fonctionnalité libre après cela. Tout ce que vous avez à faire est de mettre un lien dans la barre de titre de la fenêtre principale avec un léger rappel "14 jours restants dans le procès" ou quelque chose comme ça. Acorn 2.0, l'éditeur d'image, le fait magnifiquement. Les écrans Nag sucent. Ne fais pas ça. – Alex

Répondre

2

Personnellement, je n'aurais que votre Shareware App faire cela après quelques jours, laissez-les évaluer pour quelques jours "nag free" ... mais c'est juste mon avis! Essayez ceci:

ajouter à l'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]]; 
} 

Quelque chose comme ça fonctionnerait. Bonne chance!

8

Probablement pas ce que vous voulez entendre, mais je ne le ferais pas de cette façon. Il n'y a rien de plus énervant qu'un écran d'alerte basé sur un minuteur lorsque vous évaluez un logiciel.

Et je ne veux pas dire ennuyeux comme dans "cela me donnera une raison d'acheter une version non-nag de votre logiciel". Je veux dire ennuyeux comme dans "Je ne toucherai plus jamais à cette application". J'ai déjà fait un logiciel pour les comptables qui avaient une approche similaire, quand je leur ai donné une version séparée qui a juste éclaboussé "Evaluation Copy" à travers les rapports, ils étaient très heureux. Lorsqu'ils ont été interrogés, ils ont clairement indiqué qu'ils étaient satisfaits d'une telle limitation, ou même d'une fonctionnalité légèrement réduite (comme 10 fichiers clients au lieu d'un nombre illimité), mais l'écran nag les a ralentis au début et cela a donné un très mauvaise impression du logiciel.

Si vous voulez leur donner une raison d'acheter, prendre une feuille du livre de TechDirt - offrir quelque chose gratuitement (mais pas une version ennuyeuse) puis faire en vaille la peine d'acheter quelque chose de rare. À cette fin, je ne voudrais pas annoncer la version gratuite comme limitée, mais plutôt se concentrer sur les fonctionnalités supplémentaires qu'ils obtiendront en payant.

C'est le marketing de base 101 le long des lignes de points de vente de restauration rapide offrant regular et large tailles plutôt que small et large :-)

Vous obtiendrez plus d'un client en leur offrant quelque chose pour le paiement au lieu de prendre loin quelque chose s'ils ne paient pas.

C'est le spin que vous mettez dessus qui compte, pas le résultat réel.

+0

Merci, je pourrais envisager d'aller dans une autre direction que d'utiliser un écran nag. Mais la version gratuite de mon application est déjà assez complète, mais je pense à des choses à ajouter que les gens pourraient payer pour ... – indragie

+0

Cela ne me concerne pas, mais je pensais que la réponse était bonne car elle comprenait des exemples et un argument rationnel. Il a défini mon point de vue sur les écrans de nag (pas que j'ai jamais eu l'intention de les mettre en œuvre). Bon travail. –

+0

Je resterais avec le minuteur. Mais assurez-vous que rien ne se lève dans les 10 premiers jours 20 départs (tout ce qui vient en premier). Ou suivre le temps qu'ils l'utilisent. Il est important de devenir agaçant après avoir vu le client s'intéresser à votre logiciel. – Lothar

0

je les aiment pas, mais voici comment faire:

Créer une vue d'alerte, ainsi qu'un NSTimer. Ensuite, lorsque la minuterie arrive à x secondes, réglez le bouton actif (pas tout à fait sûr de savoir comment faire, mais il ne devrait pas être trop difficile).

0

Plusieurs applications Mac utilisent un message subtil "X jours restants" dans le coin supérieur droit de la fenêtre principale. exemples sont les plus importants:

Ici vous pouvez voir cette méthode dans l'action: Coda screenshot (regardez en haut à droite)

Cette approche sort de la les acheteurs potentiels mais aussi lui rappelle d'acheter votre produit.

Questions connexes