1309
Astinenza da notifiche
ilmacaco iCosi
In questi giorni sto testando le tanto attese Push Notifications, introdotte da Apple per aggirare il problema della mancanza del multitasking su iPhone.
Premettendo che ritengo che sarebbe stato meglio fornire un multitasking limitato a due o tre applicazioni (più che sufficiente per l’uso di tutti i giorni, e non avrebbe certo ridotto di troppo prestazioni e batteria), in ogni caso le notifiche push sono un concetto interessante.
Il problema principale come è noto, oltre all’estrema limitatezza degli usi possibili, è che necessitano di una connessione ad Internet costante, per funzionare bene. Sebbene non paragonerei questa seccatura alla fame nel mondo, se si ha l’oculatezza di dotarsi di una flat dati mobile decente, rimane comunque un fastidio, nei casi nei quali siamo temporaneamente fuori campo, o disconnessi per qualche motivo, volontario o meno. Certo, le notifiche push vengono comunque recapitate, con qualche minuto di ritardo, non appena torniamo connessi, ma non è la stessa cosa.
Non sono un programmatore, ma io avrei fatto così: invece di utilizzare solo notifiche “push”, cioè che vengono inviate via Internet nel momento in cui devono essere visualizzate (più o meno), avrei dotato il firmware 3 di un “server di notifica”, sempre attivo (magari modificando quello del calendario, per non sprecare risorse), accessibile sia da Internet come ora, che localmente da ogni programma. Tale demone sarebbe incaricato di visualizzare le notifiche quando necessario.
Quindi, una specie di ibrido offline e online, per consentire il funzionamento anche in caso di notifiche dai programmi che funzionano online, come gli Instant Messenger, per i quali è chiaro che il problema dell’essere disconnessi non si porrebbe comunque.
Che ne pensate?
















13 luglio 2009 alle 10:41
Affinché possa essere generato un evento push, è necessario che ci sia un processo attivo da qualche parte. Nel caso del push di iPhone, questo processo si trova su un server gestito dalla società che rilascia l’applicazione.
Un push in locale non potrebbe funzionare proprio perché non ci può essere più di un processo (non Apple) aperto contemporaneamente. Sarebbero quindi impossibili dei push in tempo reale.
Diverso è il caso di uno scheduler di eventi programmabili dall’utente come quello offerto da iCal sul mac. La cosa potrebbe essere replicata su iPhone come dici tu tramite il processo che gestisce le notifiche del calendario. Quello che manca al momento è un insieme di API che consenta alle applicazioni di terze parti di interagire con il calendario e anche la possibiltà di lanciare un URL al verificarsi di un evento programmato.
La prima mancanza forse potrebbe anche essere aggirata al momento, ma è la seconda che rende il sistema poco utile.
13 luglio 2009 alle 10:46
@Paolo: infatti, come scrivevo, mi riferivo a eventi programmati, tipo i reminder. Un server in locale eviterebbe a tali applicazioni di dover dipendere dalla connessione a Internet.
Naturalmente, nel momento che fosse stato attivato questo “demone” locale, sarebbero state rilasciate anche le API. Rimane la necessità di un server push online per le applicazioni che hanno bisogno di notifiche in tempo reale (come gli IM), ma in quel caso li si userebbe comunque in presenza di una connessione.
Resta il fatto che se avessero attivato un multitasking limitato, questi problemi (e la necessità di un server di push da gestire), non sussisterebbero
Ma tant’è, non sempre Apple fa scelte condivisibili, il futuro ci dirà chi avrà avuto ragione
13 luglio 2009 alle 14:51
[...] il seguito:http://www.ilmacaco.com/astinenza-da-notifiche/ Post correlati:iPod è un gallo!Set Up "Push" Gmail on Your iPhone [Hack Attack]Notifiche [...]
13 luglio 2009 alle 20:18
Quando si cominciò a parlare di firmware 3.0 mi sembra sia circolata anche la voce che ci sarebbe stata la possibilità di aprire più applicazioni. Poi evidentemente non se né fatto niente. Piuttosto, noto con disappunto che, con l’aggiornamento 3.0 l’apertura di alcune applicazioni (tipo SMS) è diventata molto più lenta (io ho la signora Vodafone che non è stata ancora in grado di garantire ai propri utenti MMS e tethering). Non so se con altri operatori sia la stessa cosa.
13 luglio 2009 alle 23:44
@Claudio: non dipende dall’operatore, ma purtroppo dal nuovo firmware. Purtroppo, perchè Apple ha rifatto una piccola “frittatina” come successo con il firmware 2.0.
Intendiamoci, il 3.0 è fantastico, non tornerei indietro per nulla al mondo, ma è pieno di bachi, e molto lento in alcune operazioni (tipo per esempio quando si allega una foto ad una mail). Anche il backup è tornato lentissimo, come per il 2.0, o almeno questa è la mia esperienza.
Beh, non ci possiamo fare molto, tranne aspettare il 3.1 o un 3.0.1…
14 luglio 2009 alle 07:05
Il “problema” del multitasking mi affascina. Come trovare l’equilibrio giusto tra esigenze degli utenti ed esigenze (energetiche in primo piano) del sistema?
Difficile, molto difficile.
La strada scelta da Apple è, a mio avviso, sbilanciata a favore del sistema. Comprensibile ma non rende giustizia all’eaperienza d’uso dell’utente che, comunque, un multitasking non ce l’ha.
Esiste per chi ha operato il jailbreak un’applicazione, backgrounder, che permette di lasciare un programma attivo in background semplicemente con un tocco prolungato del tasto Home. Stessa cosa per disattivare il background. Viene quindi gestito applicazione per applicazione. Diventa possibile tenere app di messaggistica attive, app tipo Last FM per ascoltare la radio, ecc… La batteria crolla drasticamente. Questa soluzione diventa praticamente inutilizzabile se non si ha modo di ricaricare iPhone ogni mezza giornata o forse anche più spesso in funzione di quanto lo si USA per i normali scopi. Quindi questa è una soluzione sbilanciata dall’altra parte.
Un mix delle due potrebbe comportare troppa confusione.
La soluzione proposta da ilmacaco risolve solo alcuni casi particolari, va bene ma è sempre una pezza…
Il problema rimane aperto e aspetto un colpo di genio come per il copia-incolla.
Oppure andrà a finire che il prossimo iPhone avrà una batteria talmente performante da riuscire a sopportare lo stress da multitasking e quindi il problema si risolverà da solo acquistando il nuovo futuro terminale… Qualche features in più la dovranno pur mettere anche nella futura versione, no?
14 luglio 2009 alle 09:38
Purtroppo non avendo fatto il jailbreak, non posso giudicare il consumo di batteria…se è come dici, però, bisogna fare una riflessione. E’ vero che iPhone ha tecnologia molto più avanzata rispetto ai vecchi smartphone, ma io quando usavo il vecchio Tytn di HTC, ero solito tenere diverse applicazioni in background, e non avevo questi grandi problemi di batteria. Quello che mi creava problemi era il wifi (durava tipo 20 minuti e poi la batteria era finita
), per esempio.
Quindi mi sembra strano che un programma in background in più riduca così tanto l’autonomia, soprattutto se parliamo, che ne so, di un reminder o di un programma di IM…
14 luglio 2009 alle 10:54
A me riesce difficile pensare ad applicazioni utili che richiedano di funzionare in background.
La radio in streaming in background si può già fare ora semplicemente con Safari.
Una famiglia di applicazioni che sembrerebbe richiedere il funzionamento in backgorund potrebbe essere quella delle applicazioni location aware, ad esempio passo vicino ad un supermercato e l’iPhone mi ricorda che devo comprare la pasta. Ma anche per queste applicazioni può valere lo stesso discorso fatto per le notifiche del calendario. Basterebbe che ci fosse un demone che gira in background che controllasse periodicamente la posizione e informasse (cioè lanciasse, come per il push) l’applicazione interessata. Questo risolverebbe il problema di avere più processi complessi attivi contemporaneamente, ma non risolverebbe il problema generale: il GPS sempre attivo ridurrebbe l’autonomia in maniera consistente.
14 luglio 2009 alle 11:21
@Paolo: quello sì, io sono più centrato sul discorso dei reminders per esigenze personali, in ogni caso ci sono applicazioni che dipendono dall’uso personale. Per esempio, una cosa che apprezzavo del precedente smartphone, era la possibilità di gestire le blacklist (cioè, decidere a seconda di cosa sto facendo, chi può chiamarmi e chi no. Se qualcuno era in blacklist e mi chiamava, semplicemente il telefono non mi avvertiva).
Cose così. e poi passare rapidamente tra un applicazione e l’altra, senza chiudere il processo (tipo, sto giocando, mi arriva una mail, metto in pausa, passo a mail, leggo la mail, torno a giocare).
Insomma, credo che il multitasking permetta una libertà agli sviluppatori che consente soluzioni più creative.
Naturalmente, rimane intatto il problema delle risorse, che evidentemente è un grosso problema perchè altrimenti Apple non si sarebbe “incasinata la vita” in questo modo
14 luglio 2009 alle 11:22
fermo restando, aggiungo, che come ho già detto tante volte, queste considerazioni sono “sui dettagli”, perchè non cambierei l’iPhone con nessun altro prodotto esistente attualmente
15 luglio 2009 alle 00:52
Ho provato il jailbreak su un iPhone 3G (non il mio). Devo dire che sembra permettere cose in più anche interessanti però… Preferisco la “pulizia” del firmware originale.
La durata della batteria dipende da molti fattori. A casa, con copertura wifi mi dura tutto il giorno anche se gioco, navigo, ecc… Ma quando comincio ad usare molto il telefono con il 3G attivo e il background (che poi serve il programma che dicevo prima più un altro di cui adesso mi sfugge il nome per tenere “sempre attivo” palringo che altrimenti si disconnette anche se in background), dura poco più di mezza giornata. Ma è un po’ il problema di iPhone anche senza background… Se vuoi usare il localizzatore GPS con le mappe di Google su rete 3G e fare chiamate Bluetooth,hai voglia di arrivare a fine giornata…
15 luglio 2009 alle 09:27
Sì, beh, diciamo che è il problema di questi gingilli moderni. Ricordo che quando usavo l’HTC, che pur non aveva tutta la tecnologia di iPhone, ricaricavo comunque tutte le sere, e come dicevo, mi sono meravigliato che in realtà iPhone regga così bene il wifi e il push, perchè sul TyTn se accendevo il Wifi la batteria durava pochissimo (motivo per cui non era molto “wired”…).
Fin quando non si troveranno nuovi sistemi più efficienti di immagazzinare l’energia…oppure, aspettiamo la witricity…potrebbe essere la vera rivoluzione
(si potrebbero immaginare scenari simil-telefonici…con abbonamenti elettrici “mobile”, per avere l’accesso alla rete elettrica mobile ovunque tu sia…)
16 luglio 2009 alle 08:01
[...] In particolare, con gli ultimi aggiornamenti sono state introdotte le push notifications per i reminders, in modo da venir avvertiti di un evento o di un’attività in scadenza anche quando il software è chiuso (a patto di essere connessi -> vedi la mia analisi sulle notifiche push). [...]