domenica 29 giugno 2014

iPhone 6: anche le statistiche sono a suo favore

Come abbiamo già detto oggi, è proprio il pensiero dell’utente medio che deciderà l’eventuale successo di un device o comunque di un prodotto in generale sul mercato. Secondo una statistica tenuta dal gruppo RBC Capital Markets  su un campione di 4,000 consumatori, il modello 2014 di iPhone sarà un successo epico.


Ecco qui cinque punti salienti del sondaggio elencati in una nota agli investitori inviati dall’ analista Amit Daryanani:

  • Quasi il 50% dei consumatori che hanno intenzione di aggiornare il proprio telefono cellulare hanno intenzione di acquistare un iPhone entro i prossimi tre mesi.
  • Il 35% degli utenti che non pensano di acquistare un iPhone cambierebbero idea se Apple offrisse device dalle dimensioni maggiorate (come ci si aspetta da iPhone 6)
  • Il 26% dei consumatori sono disposti a pagare un surplus di 100 dollari per una dimensione di 5,5 ” dello schermo.
  • Il 74% dei consumatori sono consapevoli del fatto che Apple lancerà un nuovo iPhone quest’anno.
  • Ciò che i consumatori desiderano di più da un nuovo iPhone è migliore durata della batteria, seguita dalla dimensione dello schermo più grande.

L’analista non ha voluto rendere pubbliche le stime di vendita in seguito alle statistiche compilate, ma pare oggettivo che Apple darà al mercato quello che gli utenti reclamano.

Afaldo e Solomon 

sabato 28 giugno 2014

Win 9 Threshold: "Pronto per il 2015"

 
Windows Threshold è ormai il nome ufficiale per il futuro aggiornamento di Windows, come dimostra anche un profilo Linkedin che ha richiamato l'attenzione di alcuni blog specializzati. Il nome in codice riguarda tanto Windows 9 quanto Windows Phone, attesi per la fine del 2015.

Threshold in altre parole indica un insieme di aggiornamenti armonici per tutti i prodotti Microsoft, tra i quali c'è anche un ritorno del Pulsante Avvio "in vecchio stile" – per soddisfare le richieste di coloro che trovano ancora insoddisfacente la versione in Windows 8.1.


Windows 8.1 era atteso per l'autunno, ma sembra ora che ci sarà un ulteriore ritardo e che il Menù Start classico non arriverà se non con Windows 8.1 Update 3. Vale a dire che c'è un altro aggiornamento in programma, e che uscirà poco prima di Windows 9.

Si parla infatti della primavera 2015 per l'Update 3, in teoria nello stesso momento in cui uscirà Windows 9 Threshold. Ecco perché alcuni ipotizzano che Win9 uscirà più tardi del previsto, probabilmente in un generico "terzo trimestre 2015".


Le speculazioni sui prezzi restano invariate rispetto a quanto indicato nella notizia di pochi giorni fa: l'Update 2 portebbe essere gratuito per chi avrà installato l'Update 1, e a un "prezzo ragionevole" per tutti gli altri. Una politica che, se confrontata, confermerebbe le ultime tendenze di Microsoft – che hanno segnato una profonda rottura con il passato.

Afaldo e Solomon

venerdì 27 giugno 2014

Wall Street: "Google? Non è un problema per Apple"

Secondo gli analisti di Wall Street gli annunci di Google durante la conferenza I/O non rappresentano una minaccia per l'ecosistema dei prodotti e servizi Apple.

apple_google_logo-800x283

Durante il proprio keynote Google ha rivelato di aver pagato 5 miliardi di dollari agli sviluppatori Android nel corso degli ultimi 12 mesi e in merito a quest'argomento l'analista Timothy Acuri di Cowen and Company ha pubblicato una nota rivolta ai propri investitori testimonia come l'ecosistema di Apple continui a generare più soldi per i suoi developer.

L'analista ha sottolineato come la compagnia californiana abbia pagato in totale 8 miliardi di dollari agli sviluppatori nel 2013, con unaumento del 100% circa rispetto al 2012. Considerando le vendite di iPhone e l'aumento della user base, Acuri ritiene che la crescita sia proseguita anche nella prima metà del 2014. Proprio grazie a questi dati è possibile presumere che la compagnia di Cupertino stia generando il doppio del fatturato di Google nel corso dei 12 mesi, pur avendo una base installata di utenti pari alla metà di quella di Big G.

"Ci aspettiamo che l'ecosistema di Apple rimanga la piattaforma dominante per gli sviluppatori nel prossimo futuro", ha scritto Acuri.

Rod Hall, di J.P. Morgan, ha analizzato gli annunci di Google I/Oarrivando alla stessa conclusione in merito alla probabilità che le novità presentate non influenzeranno Apple: "In generale abbiamo avuto l'impressione che l'integrazione sia stata la feature principale, ma ci chiediamo quanto possa essere utile visto come pochissime persone utilizzino i tablet e portatili Google", ha scritto Hall.

"Google ha intenzione di scorporare Android dal dispositivo e portarlo ovunque l'utente si trovi, su qualsiasi dispositivo. Questo è, secondo noi, simile alla visione di Apple ma potenzialmente più difficile per Google, visto un ecosistema ampiamente limitato agli smartphone", ha concluso Hall.

Afaldo e Solomon 

Android Kit Kat: "Cosa c'è da sapere?"

Dopo Android 4.1 Jelly Bean, chi aspettava Android 5.0 Key Lime Pie come successore è rimasto un po’ deluso dall’annuncio del 3 settembre scorso di Sundar Pichai. Niente Key Lime Pie ma KitKat!!!
Google ha affermato che “KitKat è stata la barretta di cioccolato preferita dal team per molto tempo, quindi per la release “k” di Android abbiamo chiesto a Nestlè se sarebbe stata disposta a concederci di utilizzare il nome della sua barretta”, e che l’idea di chiamare la nuova release Key Lime Pie è stata accantonata perché “poche persone conoscono il gusto di una torta al limone”. 
Dalla data dell’annuncio, di rumors ce ne sono stati in quantità  industriali. C’è chi ha pensato che il tutto fosse solo uno scherzo di Google e chi, al contrario, ha cercato di decifrare anche le virgole di qualsiasi dichiarazione, immagine e tweet sia di Google che della stessa Nestlè.
Il 31 ottobre 2013 Google ha finalmente presentato il Nexus 5 e il tanto atteso Android 4.4 KitKat.
Per il nuovo OS Mobile il team di Google ha rinnovato il design, migliorato le performance e aggiunto nuove funzioni per ridefinire la “Android experience”.

Launcher
kitkat3

Per la prima volta sia la barra delle notifiche sia quella contenente i pulsanti Indietro, Homee Task sono invisibili.
Le icone delle notifiche sono di colore bianco, quelle di sistema sono state modificate e risultano avere uno stile piatto e minimale mentre il pulsante per l’App Drawer non ha più il cerchio bianco intorno.
App Drawer
nexus-5-review-more-4 (1)
Premendo il tasto App Drawer non c’è più lo sfondo nero durante lo sfoglio delle app ma una sorta di trasparenza che lascia intravedere lo sfondo del dispositivo.
Le icone risultano essere più grandi rispetto alle precedenti versioni. Ora è tutto a pieno schermo, non ci sono più le sezioni “applicazioni” e “widget” mentre resta immutato l’effetto “sfoglio a carte”.
 Lockscreen
lockscreen-android-4.4-basso
Alla lockscreen è stata aggiunta l’icona della fotocamera in basso a destra. Selezionando l’icona e trascinandola verso sinistra è possibile lanciare l’applicazione Fotocamera la quale potrà essere lanciata anche effettuando uno slide verso sinistra dalla schermata di lockscreen così come avviene da Android 4.2 Jelly Bean.
Invariata è la possibilità di inserire widget nella schermata di blocco schermo, nuova invece quella di disattivarli.
E’ possibile, durante la riproduzione video e audio, avanzare nella riproduzione.
Quick settings
Anche le impostazioni veloci sono rimaste pressoché invariate tranne per l’aggiunta di un nuovo tasto riguardante la Localizzazione.
Android-4.4-KitKat-Settings_1
Le impostazioni, invece, sono rimaste invariate dal punto di vista grafico ma sono
aumentate nel numero per quel che riguarda le funzioni. Infatti sono state aggiunte nuove sezioni:
Tap & Pay e NFC
Attraverso questa funzione è possibile effettuare pagamenti tramite NFC associando il proprio account Google Wallet o la propria SIM.
Con questa nuova versione di Android è possibile utilizzare il proprio dispositivo come una vera e proprio carta di credito ed effettuare pagamenti di ogni tipo.
Localizzazione
Screenshot_2013-11-06-20-25-12
L’opzione “Accesso alla mia posizione” è stata sostituita dalla “Modalità di localizzazione”.
E’ possibile selezionare tre differenti modalità di localizzazione:
1)     High accuracy: GPS, Wi-Fi e 3G
2)     Battery saving: solo Wi-Fi
3)     Device sensors only: solo GPS
Altra miglioria riguarda la cronologia di localizzazione attraverso la quale si ha la possibilità di controllare quali servizi o processi hanno utilizzato la localizzazione sul dispositivo ed anche in che modalità.
Print Cloud
print
La funzione Print Cloud permette di stampare documenti e foto via wireless attraverso l’app, presente sul Play Store, Cloud Print avendo così la possibilità di gestire la stampa direttamente dal proprio dispositivo Android.
Impostazioni Home
Nel caso si voglia personalizzare il proprio dispositivo con launcher alternativi, si può scegliere quale impostare come predefinito. Già introdotta in alcune personalizzazioni Android da parte di varie aziende, in Android 4.4. KitKat diventa nativa.

Non solo interfaccia utente e impostazioni, ci sono novità anche per:
Boot animation
E’ stata resa ufficiale la nuova boot animation, già vista sui dispositivi Google Edition di Samsung e Htc.

Google Now e Google Search
voice
Basta pronunciare “ok Google” per lanciare Google Search dalla homescreen o effettuare una nuova ricerca attraverso Google Now.
Sempre Google Now è accessibile o lanciandolo con il classico swype verso l’alto dalla barra di navigazione o tramite uno swype verso destra dall’ultima homescreen a sinistra.
Proprio come per il Moto X di Motorola, in Android 4.4 KitKat Google ha introdotto la modalità “always listening”.

App Telefono
callid
La nuova applicazione Telefono assegnerà automaticamente una priorità ai contatti che vengono contattati più spesso.
Ogni volta che si riceverà una telefonata da un numero non presente in rubrica, Google cercherà una corrispondenza nei luoghi vicini per cercare di identificarlo.

Hangouts, SMS, App E-mail, App Download ed Emoji
emoji messages
La nuova versione di Hangouts unirà la chat agli SMS/MMS in modo tale da utilizzare tutti i servizi in un unica applicazione.
Se viene utilizzata un’applicazione alternativa per gli SMS, rendendola predefinita, sarà possibile inviarli solo da questa applicazione mentre tutte le altre potranno solamente leggere gli SMS inviati/ricevuti.
L’app E-mail (non Gmail) è stata migliorata e presenta una navigazione migliore e la possibilità di vedere le immagini dei propri contatti mentre l’app Download è stata ridisegnata ed è possibile scegliere nuove opzioni per ordinare (griglia o lista) i file.
Per quanto riguarda le Emoji, saranno incorporate alla tastiera Google e utilizzabili non solo con Hangouts.
Photosphere e Editor di immagini
E’ stata migliorata la qualità delle immagini e il rendering, ossia il processo che crea l’immagine finale. Inoltre è stata introdotta una nuova tecnica denominata Optimal Seam Finding che, in modo del tutto automatico, cerca i punti migliori per la “cucitura” delle immagini col fine di ridurne gli errori.
In Android KitKat è stata inserito un nuovo Editor di immagini. Disponibile sia susmartphone che su tablet, esso gestisce l’elaborazione delle immagini, lo zoom, l’esportazione, la modifica completa e la creazione di preset utente per la modifica immediata. Inoltre vi sono numerosi strumenti per la correzione delle immagini.
Storage access framework
Attraverso questa funzione accedere ai servizi ai provider di servizi di storage online sarà più semplice.
Touchscreen, Multitasking e Apps
Con Android 4.4 le performance dei dispositivi saranno incrementate notevolmente. Il touchscreen risulta essere più reattivo al tocco ed è possibile ascoltare musica mentre navigherete sul web senza alcun intoppo.
Durante l’utilizzo di applicazioni si potrà godere dell’intero display del dispositivo in quanto barra delle notifiche e tasti di navigazione saranno nascosti.
Browser
Il browser supporta tutti i linguaggi web grazie ad una nuova implementazione WebView basata su Chromium e presenta prestazioni migliori grazie al nuovo JavaScript Engine V8.
Bluetooth
E’ stato ampliato il range di dispositivi compatibili con Android e migliorato il risparmio energetico grazie al Bluetooth HID over GATT. Attraverso il Bluetooth MAP le app possono scambiare informazioni con i dispositivi nelle vicinanze.
Infrarossi
Attraverso la funzione IR Blaster è possibile comandare apparecchi elettrodomestici tramite gli infrarossi. Funzione introdotta nativamente con Android 4.4 KitKat.
Supporto a nuovi sensori
E’ stata implementato il supporto a nuovi sensori a basso consumo e che non influiscono molto sull’autonomia della batteria come il conteggio dei passi e il rilevamento dei passi che funzionano anche a schermo spento.
Funzione Screen Recorder
Sarà possibile registrare video in alta qualità durante l’utilizzo del proprio dispositivo. Potrebbe essere utilizzata dagli sviluppatori di app per registrare tutorial ecc.
Supporto Chromecast
La nuova versione del sistema operativo offre la possibilità di far comunicare il proprio dispositivo con Chromecast e riprodurre così in streaming sulla propria tv i propri contenuti multimediali.
Sicurezza
Android 4.4 KitKat, come descritto poc’anzi, porta con se una ventata d’aria fresca non solo dal punto di vista delle novità introdotte ma soprattutto in termini di “leggerezza” in quanto è ottimizzato per essere eseguito anche su quei dispositivi con solo 512 MB di RAM.

Afaldo e Solomon

Programmazione Capitolo 7: Parte 2

Il ciclo for generalizzato
§ Il ciclo for generalizzato scandisce tutti gli elementi
di una raccolta:

double[] data = . . .;
double sum = 0;
for (double e : data) // si legge "per ogni e in data"
{
sum = sum + e;
}

§ Per scandire tutti gli elementi di un array non è obbligatorio utilizzare
il ciclo for generalizzato: lo stesso ciclo può essere realizzato con
un for normale e una variabile indice esplicita.

double[] data = . . .;
double sum = 0;
for (int i = 0; i < data.length; i++)
{
double e = data[i];
sum = sum + e;
}
§ Il ciclo for generalizzato può essere usato anche per ispezionare tutti
gli elementi di un vettore.
Ad esempio, il ciclo seguente calcola il saldo totale di tutti i conti bancari:
ArrayList<BankAccount> accounts = . . . ;
double sum = 0;
for (BankAccount a : accounts)
{
sum = sum + a.getBalance();
}

§ Il ciclo è equivalente a questo ciclo “normale”:
double sum = 0;
for (int i = 0; i < accounts.size(); i++)
{
BankAccount a = accounts.get(i);
sum = sum + a.getBalance();
}


Sintassi 8.3: Il ciclo for generalizzato
for (Tipo variabile : raccolta)
enunciato
Esempio:
for (double e : data)
sum = sum + e;
Obiettivo:
Eseguire un ciclo avente un’iterazione per ogni elemento appartenente
a una raccolta. All’inizio di ciascuna iterazione viene assegnato alla variabile
l’elemento successivo della raccolta, poi viene eseguito l’enunciato.

Semplici algoritmi per vettori
Contare valori aventi determinate caratteristiche
§ Per contare i valori aventi determinate caratteristiche e presenti in
un vettore, ispezionare tutti gli elementi e contare quelli che
rispondono ai requisiti, finché non si raggiunge la fine del vettore.
public class Bank
{
public int count(double atLeast)
{
int matches = 0;
for (BankAccount a : accounts)
{
if (a.getBalance() >= atLeast) matches++;
// Trovato
}
return matches;
}
. . .
private ArrayList<BankAccount> accounts;
}


Semplici algoritmi per vettori
Trovare un valore
§ Per trovare un valore in un vettore occorre controllarne tutti
gli elementi finché non si trova il valore cercato.
public class Bank
{
public BankAccount find(int accountNumber)
{
for (BankAccount a : accounts)
{
if (a.getAccountNumber() == accountNumber)
return a; // Trovato
}
return null; // non trovato nell’intero vettore
}
. . .
}
Semplici algoritmi per vettori
Trovare il valore massimo o minimo
§ Per trovare il valore massimo (o minimo) in un vettore
§ inizializzare un candidato con l’elemento iniziale,
§ confrontare il candidato con gli elementi rimanenti
§ aggiornarlo se si trova un elemento maggiore (o minore).
§ Esempio

BankAccount largestYet = accounts.get(0);
for (int i = 1; i < accounts.size(); i++)
{
BankAccount a = accounts.get(i);
if (a.getBalance() > largestYet.getBalance())
largestYet = a;
}           
return largestYet;

Semplici algoritmi per vettori
Trovare il massimo o il minimo
§ Questo metodo funziona soltanto se il vettore contiene almeno
un elemento: non ha senso cercare l’elemento di valore maggiore
in un insieme vuoto.
§ Se l'insieme è vuoto, restituisce null

if (accounts.size() == 0) return null;
BankAccount largestYet = accounts.get(0);
. . .

File Bank.java
01: import java.util.ArrayList;
02:
03: /**
04: Una banca contiene un insieme di conti bancari.
05: */
06: public class Bank
07: {
08: /**
09: Costruisce una banca priva di conti bancari.
10: */
11: public Bank()
12: {
13: accounts = new ArrayList<BankAccount>();
14: }
15:
16: /**
17: Aggiunge un conto bancario a questa banca.
18: @param a il conto da aggiungere
19: */
20: public void addAccount(BankAccount a)
21: {
22: accounts.add(a);
23: }
24:
25: /**
26: Restituisce la somma dei saldi di tutti i conti della banca.
27: @return la somma dei saldi
28: */
29: public double getTotalBalance()
30: {
31: double total = 0;
32: for (BankAccount a : accounts)
33: {
34: total = total + a.getBalance();
35: }
36: return total;
37: }
38:
39: /**
40: Conta il numero di conti bancari aventi saldo maggiore
41: o uguale al valore indicato.
42: @param atLeast il saldo minimo perché un conto venga conteggiato
43: @return il numero di conti aventi saldo >= al saldo indicato
44: */
45: public int count(double atLeast)
46: {
47: int matches = 0;
48: for (BankAccount a : accounts)
49: {
50: if (a.getBalance() >= atLeast) matches++; // trovato
51: }
52: return matches;
53: }
54:
55: /**
56: Verifica se la banca contiene un conto con il numero indicato.
57: @param accountNumber il numero di conto da cercare
58: @return il conto con il numero indicato, oppure null se
59: tale conto non esiste
60: */
61: public BankAccount find(int accountNumber)
62: {
63: for (BankAccount a : accounts)
64: {
65: if (a.getAccountNumber() == accountNumber)
66: return a; // trovato
67: }
68: return null; // non trovato nell'intero vettore
69: }
70:
71: /**
72: Restituisce il conto bancario avente il saldo maggiore.
73: @return il conto con il saldo maggiore, oppure null se
74: la banca non ha conti
75: */
76: public BankAccount getMaximum()
77: {
78: if (accounts.size() == 0) return null;
79: BankAccount largestYet = accounts.get(0);
80: for (int i = 1; i < accounts.size(); i++)
81: {
82: BankAccount a = accounts.get(i);
83: if (a.getBalance() > largestYet.getBalance())
84: largestYet = a;
85: }
86: return largestYet;
87: }
88:
89: private ArrayList<BankAccount> accounts;
90: }
File BankTester.java
01: /**
02: Questo programma collauda la classe Bank.
03: */
04: public class BankTester
05: {
06: public static void main(String[] args)
07: {
08: Bank firstBankOfJava = new Bank();
09: firstBankOfJava.addAccount(new BankAccount(1001, 20000));
10: firstBankOfJava.addAccount(new BankAccount(1015, 10000));
11: firstBankOfJava.addAccount(new BankAccount(1729, 15000));
12:
13: double threshold = 15000;
14: int c = firstBankOfJava.count(threshold);
15: System.out.println(“Count: “ + c);
System.out.println(“Expected: 2”);
16:
17: int accountNumber = 1015;
18: BankAccount a = firstBankOfJava.find(accountNumber);
19: if (a == null)
20: System.out.println("No matching account“);
21: else
22: System.out.println(“Balance of matching account: ”
23: + a.getBalance());
24: System.out.println(“Expected: 10000”);
25: BankAccount max = firstBankOfJava.getMaximum();
26: System.out.println("Account with largest balance: "
27: + max.getAccountNumber()
28: System.out.println(“Expected: 1001”);
29: }
30: }
Visualizza
Count: 2
Expected: 2
Balance of matching account: 10000.0
Expected: 10000
Account with largest balance: 1001
Expected: 1001