I mali del secolo

Il titolo lo prendo in prestito da un disco di Celentano. Perché  sono un suo grande fan e perché mi sembra in sintonia.

A volte ho l’impressione che le persone che mi sono intorno (non tutte, ci mancherebbe, ma molte) siano talmente schiave di questo mondo da aver perso completamente ogni senso di esistenza. Da aver perso completamente se stessi.

Poco male per me, ci mancherebbe.

Autodafè

Avete presente come inizia il pezzo di Frankie Hi NRG ‘Autodafè‘?

Prendo le distanze da me perché non voglio avere niente a cui spartire con me, da condividere con chi come me non fa nulla per correggersi: sono il mio nemico, il più acerrimo[...]

e poi ancora:

In cattiva compagnia soprattutto se sto solo[...]

Ecco, per anni mi sono auto-inflitto ogni colpa.. che ci vuoi fare, sono severo con me stesso.
Ora però vorrei smetterla di darmi colpe perché, arrivato ad oggi, ho capito che non ne ho.

Ci sono voluti anni. 7 se non erro. Guarda caso il numero di Dio, ma questo è un altro discorso. Fatto stà che ora basta. Quel che è stato è stato ed è stato necessario. Tutto.

Cocoa Tip & Tricks – Memory Management e Notifications

Mi piacerebbe fare una sezione sui trucchetti e i migliori modi di scrivere il codice ma so già che non ce la farò.. però.. intanto inizio!

Memory Management

Ogni volta che si alloca un’istanza di un oggetto si deve rilasciare. Sempre. Ad esempio:

UIView* aView = [[UIView alloc] initWithFrame:CGRectZero];
[self.view addSubview:aView];

dopo è necessario rilasciarlo:

[aView release];
aView = nil;

Ma è importante anche assegnare il puntatore a ‘nil‘, altrimenti c’è la probabilità che punti ad una zona errata della memoria causando dei crash.

Notifications

Le notifiche sono davvero una manna e NSNotificationCenter è davvero ottimo, però bisogna ricordarsi di cancellarsi dalle notifiche, altrimenti si rischia di incappare in crash.

Quando ci registriamo quindi ad una notifica, ad esempio:

[[NSNotificationCenter defaultCenter] addObserver:observer selector:@selector(selectorDidHandle:) name:kNotificationKey object:self];

ricordiamoci anche di rimuoverci da tale notifica. In primis, quando non ci serve più, quindi ad esempio all’interno del metodo di handle:

- (void)selectorDidHandle:(NSNotification*)notification
{
   if (notification)
   {
      [[NSNotificationCenter defaultCenter] removeObserver:self name:notification.name object:notification.object];
   }
}

mi raccomando di controllare se ‘notification‘ esiste, perché se fosse ‘nil‘ allora vi rimuovereste da qualsiasi notifica perché inviereste tutti i messaggi ‘nil’ al metodo -removeObserver:name:object: e non è questo che vogliamo.

Come seconda cosa, quando si dealloca l’oggetto che si è registrato ad una qualche notifica, ricordatevi di cancellarvici.

- (void)dealloc
{
   [[NSNotificationCenter defaultCenter] removeObserver:self];

   [super dealloc];
}

Ecco, questi sono i primi tricks che ho voluto condividere con voi.. spero di avere tempo e voglia per dirvene altri..

Buona programmazione!

E’ passato un altro anno…

Ebbene si, è passato un altro anno. Avevano ragione i miei genitori quando mi dicevano che dopo i 30, gli anni sarebbero volati. Probabilmente è solo una percezione ma alla fine è proprio così.

Quindi sono qua a fare il solito recap e cercare di capire in questo ultimo anno cosa ho fatto, come sono cresciuto e cosa posso aver sbagliato.

Gli anni scorsi sono stati decisamente più movimentati e più corposi di novità. Quest’ultimo anno invece è stato lineare.

Sono cresciuto professionalmente e pure in modo personale. L’indipendenza fuori dalle mura della famiglia mi hanno fatto capire molte cose, adesso sono davvero indipendente.

Ho perso 17 chili. Finalmente dopo anni ed anni di tribolazioni e tentativi… ho imparato a mangiare! Adesso posso permettermi le cene con gli amici e contare su una dieta equilibrata.

La ricerca dell’anima gemella non sta dando frutti e non venitemi a tirare su le solite frasi fatte sul fatto che non va cercata che poi mi costringete a farvi rispondere male. Di questi tempi è dura, molto dura. Chi ha orecchie per intendere intenda. Non ho avuto delusioni e questo mi conforta.

Il mio rapporto con Dio è maturato. Ho sempre alti e bassi ma sto conoscendo sempre più a fondo la verità. La fede c’è e la certezza pure. Manco ancora di dedizione.. colpa del lavoro? colpa della pigrizia? colpa delle tentazioni? Non lo so ma ci sto lavorando e sono fiducioso :)

Sono contento di come sono andate le cose in questo anno e delle amicizie che mi ha portato e che mi ha fatto mantenere.

Buoni propositi per il prossimo anno? Nessuno. Attenderò che Dio faccia la sua volontà. Nel frattempo cercherò di fare del mio meglio in tutto quello che sono chiamato a fare.

Vi auguro di passare delle buone vacanze. Dio vi benedica!!!

 

Vendere un’app su App Store, il punto

Dopo mesi di silenzio e un po’ di numeri in più sono in grado di fare un punto della situazione più preciso per quel che riguarda le vendite su App Store.

Prenderò come esempio La Costituzione Italiana, applicazione che ho iniziato a sviluppare nel 2009 e che ad oggi è arrivata alla versione 2.0 con molte novità e dei buoni numeri di vendita.

Cosa offre quest’app?
Si può consultare tutta la Costituzione Italiana, articolo per articolo. Aggiungere ogni singolo articolo ai preferiti e condividerlo su Facebook, via email o copiando nei clipboard il testo.

I preferiti sono sincronizzati su iCloud, per chi ha iOS5 e l’app è universale per iPhone e iPad.

Quindi come si può vedere quest’app è abbastanza completa e fa bene il suo lavoro.

Per sopperire alle spese di sviluppo è stato inserito un banner iAD e la possibilità di rimuovere lo stesso in modo permanente a 0,79€ tramite InApp Purchase.

Ora, veniamo ai numeri.

Dal 2009 ad oggi l’app è stata scaricata da circa 120.000 utenti.
Ogni giorno l’app fa circa 1500 richieste di banner ad Apple e ne vengono soddisfatte dal 50 al 20%.

Purtroppo iAD non è molto remunerativo. Il CMP è basso circa 1$.

Alla fine della giornata si hanno guadagni che oscillano da 2$ a 0$.

InApp Purchase non è da meno. Circa 2 utenti la settimana acquistano l’iAD Removal, quindi significa che in una settimana i guadagni oscillano da 0,96€ a 0€.

Ci sono stati anche dei momenti d’oro, quando, un anno fa, iAD ha avuto un periodo di circa 2 mesi in cui il CMP era molto alto (10$ o poco meno). In questo periodo ho avuto guadagni che sfioravano i 6$ il giorno. Poco, ma almeno un po’ di soddisfazione c’era.

So che posso fare molto di più e che, forse, la scelta migliore sarebbe stata quella di mettere l’app a pagamento. Non si smette mai di imparare ;)

Spero di avervi dato qualche informazione in più per poter valutare come procedere con i vostri progetti.

Buona programmazione!