iPhone 4: la mia esperienza sull’acquisto

Ciao cari,

prendo spunto dal messaggio di telegu su LinkedIn per indicarvi il negozio dove ho comprato il mio iPhone 4 e raccontarvi la mia esperienza sull’acquisto del gioiellino:

Dove l’ho comprato:

Io l’ho preso mercoledì 18 al Centro Vodafone in Via m.boffa 21, Pozzuoli (NA)  tel.0815262617 su segnalazione di un amico su Facebook (tempismo perfetto, visto che la sera prima eravamo tornati dalle vacanze): in realtà lui mi ha detto di averlo preso a Pozzuoli e io ho cercato i punti vendita sul sito Vodafone ed ho chiamato quello in questione, prima di mettermi in macchina e andare a prenderlo 😉
Ho avuto anche un bumper Vodafone trasparente in omaggio, oltre alla microSIM da €5 di traffico.

Dove cercare:

iSpazio, uno dei blog che seguo, ha pubblicato nei giorni in cui ero in vacanza un post secondo me utilissimo in un periodo come questo in cui pare che l’iPhone 4 si riesca a trovare solo con abbonamenti o a finanziamenti (addirittura!? per un telefono!?!?!).
Il post con annesso servizio per segnalare/trovare punto vendita che ha iPhone 4 con/senza abbo 16/32GB è questo

La mia esperienza sull’acquisto

Durante le vacanze ho seguito un po’ quello che accadeva sulla ricerca del telefono che nessuno voleva e che ora, invece, sembra introvabile come il santo Graal 🙂 …ho letto i post ed i commenti su iSpazio e su Melablog (grazie al mio glorioso iPhone 3G), in una mattinata di shopping a S.Benedetto del tronto ho anche chiesto ad un negoziante ed effettivamente pare che tutti rispondano più o meno così:

  • “a settembre”
  • “solo in abbonamento”
  • “non l’abbiamo ancora ricevuto”

Personalmente ho capito l’andazzo quando il dayOne (il 30 luglio) ho visto la fila di persone fuori al negozio h3g di Roma termini: tutti a fare finanziamenti…così, nella settimana che precedeva l’inizio delle mie vacanze, ho chiesto un po’ in giro e le risposte erano quelle di cui sopra…

Il 7 Agosto parto per le vacanze: 10gg da favola tra relax in spiaggia, shopping e abbuffate la sera 🙂

Mercoledì scorso, il giorno dopo il mio rientro, ho avuto la soffiata e sono andato a prendere il cell: nel centro di pozzuoli, con vista sul porto turistico (per me le barche che attraccano hanno sempre un loro fascino ;D).
Ok, passato qualche giorno (in cui ho utilizzato la tariffa dati della sim Voda), mi sono recato al centro Wind presso il centro comm. Le porte di Napoli ed ho chiesto la microSIM in sostituzione della mia SIM: €10 per la sostituzione e 2h di tempo entro cui la linea è passata sulla nuova microSIM (mantenendo numero, credito telefonico e opzioni attive).

Cmq, per quanto mi riguarda, l’esperienza sull’acquisto dell’iPhone 4 è stata assolutamente rilassante: fate qualche telefonata, magari usate la lista compilata dagli utenti di iSpazio e fatemi sapere 😉

ciaoooo

CSS3: introduzione alle novità

Ok, a differenza di alcuni mesi fa, ora i tempi sono maturi per iniziare ad esplorare le novità introdotte da CSS3 e, giusto per rompere il ghiaccio, inizieremo dalle istruzioni che maggiormente si stanno diffondendo: quelle che riguardano colori, testi, ombre e bordi.

In realtà CSS3 introduce una miriade di novità, che vi illustrerò di volta in volta in articoli successivi a questo: una delle mie preferite sono le transition che, vi assicuro, riescono spesso a sostituire alla grande jQuery per animazioni, rotazioni, ecc.

Ma torniamo alle prime novità di CSS3: eh sì, per la gioia di tutti i web designer che sinora avevano solo Photoshop come alleato per applicare ombre a testi ed oggetti o realizzare bordi arrotondati, ora possiamo fare tutto con CSS3 🙂 …ma so già cosa state per chiedervi: quali browser supporteranno quanto stiamo per vedere ?

A questa domanda risponderò dopo ma vi anticipo che, a meno di voler estendere la compatibilità ad IE 6 (che è un po’ come cercare di resuscitare i morti :D), tutti gli altri browser se la cavano egregiamente, magari con alcuni accrocchi come Modernizr.

Modificatore rgba

Ma torniamo a noi: partiamo con un nuovo modificatore che riguarda, in generale, la definizione del colore per un qualunque oggetto.

Guardate le seguenti istruzioni:

background: rgba(255,255,255,0.75);

border: 1px solid rgba(255,255,255,1);

Notate qualcosa di diverso rispetto al solito ?

Rispetto alla precedente codifica (esadecimale) dei colori (#ffffff), in questo caso abbiamo utilizzato un formato basato sui valori di luminosità delle tre componenti di colore RGB in una scala da 0 a 255.

L’ultimo valore, invece, rappresenta il coefficiente “alpha” relativo all’opacità che va da 0 (trasparente) a 1 (colore pieno).

Come vedete, il modificatore rgba può essere usato in qualsiasi dichiarazione di un colore che prima era riservato al solo formato esadecimale (la seconda riga dell’esempio, infatti, lo applica al colore del bordo).

Ombra dei testi

Questa è una nuova direttiva che riesce a dare maggior risalto ai testi, ad esempio, per conferire un minimo di profondità o aggiungere ombre evidenti ad un testo.

L’istruzione è, appunto, text-shadow, vediamola in azione:

text-shadow: 0px 1px 2px #000;

Vi spiego i valori utilizzati:

  • il primo valore (in questo caso 0px) rappresenta l’offset orizzontale dell’ombra rispetto al testo: valori positivi indicano uno spostamento a destra del testo, valori negativi a sinistra.
  • il secondo valore, invece, rappresenta l’offset verticale (in questo caso 1 pixel)….anche qui: valori positivi per offset in basso rispetto al testo, valori negativi in alto rispetto al testo.
  • il terso valore è il “radius”, il raggio dell’ombra: è mio modesto parere che le famose “drop shadow”, quelle ombre enooooormi sotto al testo, siano ormai old-style 🙂 …io adoro utilizzare valori molto bassi per conferire tridimensionalità ai testi senza eccessi 😉
  • l’ultimo valore è chiaramente il colore dell’ombra, in questo caso espresso in valori esadecimali con 8bit per colore (ma avrei potuto utilizzare rgba tranquillamente ;))

Bordi arrotondati

Questa istruzione, devo dire, porta i segni della costante guerra tra i browser e, di fatto, richiede 4 istruzioni per fare praticamente la stessa cosa, ma per 4 tipologie di browser differenti.

Se volessimo arrotondare, ad esempio, di 10pixel un oggetto qualsiasi, dovremmo scrivere:

-moz-border-radius: 10px;

-khtml-border-radius: 10px;

-webkit-border-radius: 10px;

border-radius: 10px;

Le prime tre istruzioni sono specifiche per alcuni browser, l’ultima è quella che “si spera” diventi lo standard…ma per il momento sono richieste tutte e 4.

In questo esempio, però, ci siamo tenuti sul caso semplice: stesso raggio per tutti i 4 bordi dell’oggetto in questione.

Se volessimo, ad esempio, definire raggi differenti per i 4 angoli di un oggetto, avremmo:

border-radius: 5px 10px 15px 20px;

dove i valori sono, nell’ordine: top-left, top-right, bottom-right, bottom-left.

Quindi, in questo caso, avrò applicato un raggio di:

5pixel in alto a sinistra

10pixel in alto a destra

15pixel in basso a destra

20pixel in basso a sinistra

Ombra degli oggetti

Analogamente a quanto abbiamo visto per i testi, è possibile applicare un’ombra anche agli oggetti – il concetto è lo stesso applicato ai testi, con le quattro istruzioni specifiche per i singoli browser:

-moz-box-shadow: 0 1px 3px rgba(0,0,0,0.5);

-webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.5);

-khtml-box-shadow: 0 1px 3px rgba(0,0,0,0.5);

box-shadow: 0 1px 3px rgba(0,0,0,0.5);

In questo esempio sto applicando un’ombra:

  • di colore nero con opacità al 50%
  • sfasata verticalmente di 1pixel
  • di un raggio di 3pixel

Modernizr, e browser supportati

Ok, tutto bellissimo: ma ora che me ne faccio di queste istruzioni se i browser più diffusi non le supportano ? …e qui entra in gioco Modernizr una libreria Javascript che estende il supporto ad HTML 5 e CSS3 a browser poco avvezzi alle novità.

Basterà infatti includere lo script di Modernizr nelle nostre pagine per applicare bordi ed ombre:

<script src=”modernizr-1.1.min.js”></script>

Discorso a parte, invece, per il modificatore rgba: purtroppo per questo non c’è Modernizr che tenga e, a costo di rinunciare all’alpha, possiamo utilizzare rgb per IE, ecco un esempio:

border: 5px solid rgb(255,255,255); /*rgba fix per IE */

border: 5px solid rgba(255,255,255,0.75);

Pixel ? ma ora non conviene usare i punti ?

Eh già, negli esempi appena riportati ho usato pixel come unità di misura per i bordi…in realtà, mentre vi scrivo, è in corso una evoluzione nei display di alcuni dispositivi, ad esempio un certo Retina Display di iPhone 4…non so se avete presente ?! un display con densità di pixel doppia rispetto al numero di punti.

Pertanto, sarà buona norma utilizzare i punti (pt) al posto dei pixel (px), ma per i dettagli vi rimando all’articolo in questione 😉

ciaooo 🙂

iOS 4.1 (beta) + iPhone 3G = Velocità :)

Con non poco scetticismo, dopo aver avuto una pessima esperienza con la versione 4.0 di iOS (avendola installata per poi disinstallarla dopo nemmeno una settimana a causa delle pessime prestazioni sul mio iPhone 3G), ho installato stamani la versione 4.1 (beta), riservata agli sviluppatori, di iOS (tanto mi son detto: “al più faccio il solito ripristino alla 3.1.3 ;)”)

INCREDIBILE: non c’è paragone con la 4.0: il mio iPhone 3G risponde alla grande, altro che i rallentamenti clamorosi sperimentati con la 4.0…è tutto molto più reattivo, persino più della 3.1.3 che avevo ripristinato dopo la parentesi iOS 4.0.

In questa versione c’è il famigerato restyling delle barre dell’indicatore di segnale gsm, è presente Game Center e tutte le feature introdotte nella 4.0 che però, per il 3G, risultano limitate a:

  • Folder, per organizzare in cartelle le app
  • Conteggio caratteri per la scrittura di SMS/MMS
  • Correttore ortografico (ora è possibile abilitarlo/disabilitarlo)
  • Supporto a Bing per la ricerca in Safari
  • Caselle di posta unificate e visualizzazione in thread
  • NIENTE multitasking 🙁
  • Niente springboard personalizzabile (ma stìca… 🙂

più, evidentemente, una serie di fix on po’ ovunque 😉

Inutile dire che, per completare l’opera, mi son tirato giù anche la beta di Xcode 4.0 che FINALMENTE permette di avere Interface Builder nella stessa gui di Xcode e che estende il supporto al compilatore LLVM.

Insomma, se sinora l’attesa per iPhone 4 era accentuata dalla sensazione di ritrovarmi con un iPhone 3G ormai prossimo alla pensione, oggi – devo dire – non mi dispiace affatto avere installato una bella iniezione di velocità (e API totalmente riscritte) nel mio iPhone 3G…che poi, sarà pure una beta ma a me sembra stabilissima: ho provato tutte le app, sia quelle di Apple che quelle acquistate sinora, i giochi, ecc…tutto liscio, meglio di prima.

Unica pecca: iBooks..continua ad essere PESANTISSIMO sul 3G…ma mooolto meglio che sulla 4.0.

Che altro dire: se, come me, avete tra le mani il primo iPhone e potete scaricare la 4.1 dal Dev Center, AGGIORNATE PURE alla 4.1…poi fatemi sapere 😉

Google Nexus One: un flop ? …inaspettato ?

La notizia non è freschissima: sono circa 2 mesi che dai blog ufficiali di Google e del Nexus One si legge della scelta di Big G, relativamente alla interruzione della commercializzazione online del loro primo (e, probabilmente, l’ultimo ?) smartphone.

Qualche giorno fa un aggiornamento: in cui si legge che è proprio di questi giorni l’ultima consegna di dispositivi e che, una volta venduti, renderanno il prodotto non più acquistabile online.  (Notate bene, il comunicato si riferisce solo alla vendita online: il Nexus One resterà comunque acquistabile mediante i vari operatori telefonici, quali Vodafone, KT, ecc).

Nel blog ufficiale di Google, invece, si legge chiaramente che i dati di vendita online del dispositivo sono stati al di sotto delle aspettative, contrariamente alla diffusione di Android.

Effettivamente, i dati di vendita del Nexus One non sono stati proprio entusiasmanti: si parlava di circa 80 mila dispositivi venduti nel primo mese …numeri molto bassi se si pensa che il neonato iPhone 4 viaggia su 1 Milione di vendite/SETTIMANA nonostante il famoso “effetto mano”.

Ma voglio chiarire l’obiettivo di questo post: non intendo confrontare i due device né decantare le caratteristiche dell’uno a sfavore delle scelte di marketing dell’altro…piuttosto gettare le basi per qualche spunto di riflessione 😉

Fermo restando che, come ho sempre pensato, non basta il sistema operativo a rendere appetibile un prodotto (come per i PC non basta infilare schede in un case per fare un PC 🙂 e che il Nexus One, a mio avviso, non poteva diventare l’anti-iPhone, quello che a me fa riflettere, a valle della decisione di Big G, è l’approccio con il quale il gigante delle ricerche sul web abbia “sondato il terreno” del mobile.

Terreno molto battuto ultimamente e che, sono più che convinto, costituisca ormai il pensiero dominante dei colossi che di servizi e contenuti ne fanno il proprio business.

Ma facciamo un passo indietro: Google inizia a sviluppare un sistema operativo che finisce negli smartphone di Samsung, Motorola, ecc…sistema operativo che integra tutti i servizi di Big G e che, per poter contare su applicazioni custom, va nella direzione degli sviluppatori più smaliziati (sviluppo in Java, con installazione del SDK per Eclipse).

Poi realizza un dispositivo che, per il motivo di cui sopra, alimenta il desiderio degli utenti “geek” e tenta il grande passo commercializzando il prodotto, sia con gli operatori telefonici che mettendolo in vendita online.

Ma perché il Nexus One, probabilmente come gli altri dispositivi Android, non si diffonde con la stessa rapidità dell’iPhone ?

  • Difficoltà nello sviluppo delle applicazioni ? …a cominciare dal’ installazione della suite di sviluppo per Android ?Beh, sicuramente, a mio avviso, costituisce un deterrente per gli sviluppatori (magari quelli alle prime armi) dedicare almeno 1h del proprio tempo (o le prime 90 pagine di un famoso manuale per Android), solo per installare Eclipse+Android SDK…ma non credo affatto sia questo il punto 😉
  • Eterogeneità dei dispositivi (per citare il mio amico Gianfranco), per cui essendoci troppe varianti di cellulari Android, gli sviluppatori hanno difficoltà a lavorare su un dispositivo di riferimento ?Mah…probabilmente questo potrebbe creare qualche non banale problema di compatibilità di una stessa applicazione su dispositivi diversi: ma, se vogliamo, accade qualcosa di simile anche su iPhone/iPod touch a causa delle varie versioni tutt’ora in commercio (non vi dico quanto rosico per la mancanza della bussola sul mio iPhone 3G: non posso user le app di augmented reality!!! 🙂
  • Marketing totalmente differente ?Molto probabile, ma non credo che questo possa indurre in così poco tempo Big G a gettare la spugna sullo sviluppo di un device ad appena 6 mesi dalla commercializzazione.
  • Obiettivi differenti ?Ci siamo quasi 🙂 …ma allora perché commercializzare un prodotto, dotato di un sistema operativo veramente evoluto (perché come qualcuno che segue il mio blog ricorderà, io ne ho apprezzato ampiamente i pregi sul fronte tecnico).

OK, vi dico la mia: Android, incarnando tutti i servizi, compresa la ricerca di Google, si basa sulla FORNITURA DEI SERVIZI, NON DI CONTENUTI!!!

Ed è in quest’ultimo punto che secondo me c’è nocciolo della questione: la differenza sostanziale tra Google ed Apple, in questo settore, è che mentre il primo fornisce servizi e li estende al mobile mediante Android, il secondo ha catalizzato la vendita dei dispositivi basati sulla riproduzione di contenuti che, con iTunes Music Store (di cui App store ne è una naturale evoluzione), Apple rende accessibili su qualsiasi dispositivo, ivi compresi PC Windows.

Alla luce di questo, nonostante il Nexus One possa essere stato utilizzato (IMHO) come un cavallo di Troia pieno di robottini verdi, è fin troppo evidente la difficoltà di Google  nel innescare una azione di concorrenza ad un “dispositivo” Apple: sto pensando ai contenuti… per i servizi, invece, resto dell’idea che Google abbia tra le mani il più potente cluster al mondo su cui indicizzare contenuti, far girare applicazioni web e fare storage (se pensate a quanto spazio ci mette a disposizione per la sola Gmail 🙂 )

Del resto, nel comunicato del 14 Maggio scorso è chiaro che l’utenza cui Google si è rivolta con il proprio device, è interessata ad avere dei servizi, necessariamente legati ad un operatore di telefonia…

Quindi, se condividete la mia corrente di pensiero, convenite sul fatto che Google abbia cercato di promuovere ulteriormente Android con un dispositivo ? …la cui vendita non è andata benissimo, ok…ma se si guarda questa azione come una azione di marketing, probabilmente l’esito delle vendite di Nexus One diventano quasi trascurabili a fronte dell’obiettivo di promuovere Android, no ?!

Torniamo per un istante ad Apple: se guardiamo i dati relativi alle revenue per segmento di prodotto/servizio non è fin troppo evidente che, pochi mesi fa, la maggior parte del fatturato Apple derivava dalla vendita di dispositivi che fondamentalmente consentono la riproduzione, piuttosto che la creazione, di contenuti audio/video ?

Sono il solo che pensa che Apple, in definitiva, stia assecondato le esigenze degli utenti di creazione di contenuti in secondo luogo rispetto alla fruizione degli stessi ? …guardate l’iPad
…certo, è anche vero che sull’iPhone 4 si possono registrare e montare video in HD…ma è proprio di questi giorni la notizia che iTunes inizierà a vendere contenuti in alta definizione, proprio per il nuovo gioiellino.

…insomma, per quanto mi riguarda, sembrerebbe fin troppo evidente ciò che sta accadendo in questo momento epocale di lotta alla conquista delle tasche degli utenti (…ma che banali!!! 😀 …non mi riferivo al costo degli smartphone! …piuttosto a dove si tengono in genere: in tasca! ;))

…ma, a parte gli scherzi, questa è la mia idea (magari fantasiosa o amplificata dai fumi dell’alcol contenuto nel mio Jager con 2 cubetti di ghiaccio :D) , voi che ne pensate ?

[l’immagine è tratta da wired.com]

Retina Display: come cambia il web design

Dalla presentazione del nuovo iPhone 4 le speculazioni su come “ora tutto cambia, di nuovo” non hanno smesso di ronzarmi in testa.

All’inizio la mia prima considerazione è stata: “ok, la prima cosa che cambia è il saldo del mio conto corrente”, visto che il nuovo gioiellino costa un botto.

La seconda è stata “ma davvero dovrò impugnarlo solo con la mano destra ???” 😀

…vabbè, tralascio le polemiche su quello che accadrà in questi giorni in merito a qualche “problema di gioventù” (e mi auguro che tutto si risolva per il meglio).

Ma aldilà di questi (poco trascurabili) dettagli 🙂 …il primo vero elemento di innovazione di questo dispositivo, che non vedo l’ora di sperimentare di persona, è il display: il famigerato Retina Display, infatti, ha una risoluzione di 960×640 pixel, ovvero il DOPPIO dei pixel per ogni punto.

Cosa cambia, quindi, nella realizzazione di interfacce per questo dispositivo ?

Sostanzialmente tutto ciò che è realizzato con grafica vettoriale (quindi, elementi della gui per applicazioni native, font ed immagini vettoriali) avrà una migliore visualizzazione potendo contare, a parità di punti, di un numero doppio di pixel…e per questi elementi, tra l’altro, non è richiesta alcuna azione di ottimizzazione da parte dello sviluppatore (sia di applicazioni native che web).

Il discorso cambia, invece, per le immagini: per quest’ultime, infatti, il display dell’iPhone 4 tenderà a rappresentare immagini dalle dimensioni X,Y su un numero di pixel pari ad 2*X, 2*Y, ciò si traduce in una rappresentazione meno definita delle immagini rispetto alla risoluzione reale del display.

Per ovviare a questo problema:

  • per lo sviluppo di app native basterà creare immagini con risoluzione doppia e rinominarle adeguatamente per far sì che XCode associ automaticamente l’immagine giusta al dispositivo su cui dovrà essere visualizzata (nella documentazione di Apple per gli sviluppatori ci sono tutti i dettagli)
  • per lo sviluppo di applicazioni web, invece, lo scenario è un po’ più complesso: per ottimizzare la visualizzazione di immagini su dispositivi con risoluzione differente dai classici 72dpi, infatti, oltre che disporre delle immagini in alta risoluzione, bisognerà ricorrere all’utilizzo delle media queries del CSS3, specificando il rapporto di moltiplicazione tra il numero di punti ed il numero di pixel.

Cosa sono le media query ?
La semplifico parecchio: sono delle query ovvero dei filtri che restringono le condizioni entro cui applicare un foglio di stile (come nell’esempio che segue) o un blocco di codice CSS3.

Una buona pratica, secondo me, potrebbe essere quella di realizzare un foglio di stile ad hoc per ogni specifico dispositivo, come nel caso dell’iPhone, in cui il rapporto in questione è 2 ed includerlo nell’header della pagina, ad esempio, in questo modo:

[sourcecode language=’html’]
[/sourcecode]

In questo modo, all’interno del file 2x.css andremo a ridefinire i riferimenti ad immagini per gli elementi della pagina, con immagini specifiche per un display con densità doppia di pixel per punti, rispetto ai monitor tradizionali.

Come vedete, avendo definito la media query a livello di riferimento al file da richiamare in quella circostanza, nel file CSS basterà inserire i blocchi di istruzioni senza applicare ulteriormente le media query.

Personalmente non credo che tutti i siti web o le applicazioni web in generale richiedano un simile intervento, magari Flickr o altri siti il cui contenuto principale è costituito da immagini, questo tipo di attenzione farà la differenza ma è anche vero che, nel frattempo, il web si evolve anche sul fronte del supporto ad immagini vettoriali, canvas, ecc…motivo per cui, secondo me, questi interventi “lato CSS” tenderanno a diminuire.

E’ anche vero, però, che il Retina Display ha solcato un terreno sinora poco battuto: immagino che nei prossimi mesi/anni inizieranno a fioccare display con densità di pixel per punti ben oltre i 72dpi (dei monitor tradizionali).

…vedremo 🙂