Home > Guide (pagina 21)

Guide

MOTODEV Studio for Android

MOTODEV Studio for Android Con i suoi ultimi terminali Motorola ha dimostrato di voler puntare con sempre maggior convinzione verso Android cercando anche di favorire, con le sue politiche, tutti gli elementi dell'ecosistema. In questo approfondimento vediamo cosa l'azienda statunitense propone agli sviluppatori...

Da gran conoscitrice del mercato relativo alla telefonia mobile, Motorola sa bene che realizzare un ottimo prodotto (come, ad esempio, il Milestone) non è automaticamente garanzia di successo. Affinché un certo smartphone venga considerato dal grande pubblico, una delle condizioni necessarie (ma non sufficienti) è che esista un buon numero di applicazioni di qualità, tali da coprire le più disparate esigenze degli utenti.

In quest'ottica la figura dello sviluppatore (o software house), cioè di colui che crea l'applicazione in seguito usata dall'utente, assume un'importanza chiave. Si capisce, quindi, la necessità di affiancare  a una piattaforma degli strumenti che possano mettere chi scrive software in condizione di realizzare la propria creazione nel modo più semplice e veloce possibile. Primo fra tutti un ambiente di sviluppo che permetta, in sintesi, la progettazione, codifica e debugging del software.

Maestra in questo senso è Microsoft che propone il suo Visual Studio, ambiente con cui è possibile realizzare, tra le altre cose, anche applicazioni per smartphone Windows Mobile.

Google non è rimasta a guardare e, in linea con la filosofia open-source che pervade l'intero sistema, ha basato l'ambiente di sviluppo per Android su Eclipse, uno tra i più famosi e versatili IDE (Integrated Development Environment) disponibili attualmente. Gli ingegneri della grande G, piuttosto che creare un tool completamente da zero, hanno realizzato una serie di plugin (ADT, Android Development Tools) che, uniti a quanto già messo a disposizione da Eclipse, consentono di effettuare tutte quelle attività precedentemente menzionate (progettazione, codifica e debugging) con un unico software integrato).

Motorola, tuttavia, ha ritenuto questo sforzo non sufficiente e, per donare ai propri dispositivi un appeal superiore, ha pensato bene di potenziare l'ambiente di sviluppo ufficiale, creando, a partire da quanto realizzato a Mountain View, il MOTODEV Studio for Android.

MOTODEV Studio for Android

Tale IDE, secondo la descrizione nel sito ufficiale, dovrebbe offrire un'impareggiabile semplicità di avanzamento nel ciclo di sviluppo e un'esperienza d'uso unica per la creazione di applicazioni Android. Andiamo assieme a scoprire le qualità del software.

In prima battuta è utile riassumere brevemente le caratteristiche salienti del MOTODEV Studio (versione 1.1):

  • Semplicità d'installazione: un unico installer si occuperà di mettere per voi tutti i pezzi (tra cui Eclipse 3.5 e gli ADT) al posto giusto e di scaricare l'SDK (Software Development Kit) desiderato, cioè l'insieme degli strumenti  (come il compilatore, l'emulatore, frammenti di codice...) che permettono in concreto la creazione di un'applicazione. Notare che, in genere, gli SDK sono mirati a una certa versione della piattaforma.
  • SDK dialog

    SDK dialog
    In figura possiamo notare le finestre per la configurazione degli SDK: il grado d'automazione è davvero elevato, rendendo l'intero processo molto semplice.

  • Disponibilità di “code snippets”: per velocizzare la stesura di un software vengono offerti frammenti di codice che lo sviluppatore può decidere di riutilizzare nella propria applicazione. Questi frammenti coprono funzionalità comuni, secondo il principio per cui non c'è bisogno di reinventare continuamente la ruota. Effetto collaterale è quello di avere del codice abbondantemente testato e, generalmente, di buona qualità.
  • Code snippets
    In figura è rappresentata una lista parziale di categorie all'interno delle quali trovare i vari frammenti di codice.

  • Disponibilità di nuovi “wizard” per la creazione di applicazioni: questi strumenti grafici permettono di semplificare compiti noiosi e spesso ripetitivi, basandosi su alcuni parametri impostati dal programmatore. Tra quelli disponibili ricordiamo il wizard per l'impostazione generale di un progetto Android e quello per la creazione di nuove classi.
  • Disponibilità di device virtuali con le caratteristiche dei prodotti Motorola: non sempre, infatti, è possibile sviluppare utilizzando uno smartphone reale perchè, ad esempio, non ancora disponibile sul mercato oppure perchè non si hanno a disposizione fondi per acquistarne quanti necessari. Più spesso accade che si sviluppi su un dispositivo virtuale che cerca di replicare in tutto e per tutto il comportamente di un telefono reale. Motorola è orientata a fornire la possibilità di emulare gli smartphone da lei prodotti man mano che la gamma Android crescerà (nella pagina dedicata possiamo già trovare, ad esempio, gli add-on per il Click e il Devour). In aggiunta viene vantata una migliore integrazione tra emulatore e ambiente di sviluppo.
  • Disponibilità di strumenti per la certificazione delle applicazioni, in modo da avere sempre la certezza della fonte da cui proviene il software.
  • Gestione semplificata di database SQLite su device reali e virtuali.
  • Gestione semplificata del processo di localizzazione (cioè di adattamento a un certo linguaggio) per un software.
  • Gestione semplificata del deploying (cioè scaricamento) di un software su un dispositivo.
  • Integrazione con l'Android Market.
  • Possibilità di sfruttare dispositivi reali connessi remotamente (tramite DeviceAnywhere) per il test delle applicazioni.

Il MOTODEV Studio for Android è disponibile per Windows, Linux e Mac OS X. Nel seguito dell'articolo si farà riferimento alla versione per Linux, sebbene le differenze con quelle per gli altri sitemi operativi dovrebbero essere minime quando o, addirittura, inesistenti.

Schermata inizile MOTODEV

Una volta terminata l'installazione è possibile avviare il MOTODEV Studio, in seguito al quale saremo accolti dal Welcome screen personalizzato Motorola. Da questo pannello è possibile accedere al cosiddetto Workbench (cioè l'ambiente di lavoro vero e proprio) oppure ad altre schermate informative (tra cui una che presenta tutorial per apprendere i rudimenti di Java, linguaggio la cui sintassi viene usata per scrivere il codice del software per Android). Tralasciamo, per ora, queste ultime e puntiamo dritti al Workbench.

Chiunque abbia mai lavorato con Eclipse si troverà perfettamente a suo agio da subito: la presenza  di nuove icone, menu e “perspective” (cioè schermate dell'ambiente orientate a un particolare tipo di lavoro) segnalano la customizzazione effettuata da Motorola, ma non confondono l'utilizzatore.

MOTODEV Perspective

La prima, più importante, perspective è quella chiamata appunto MOTODEV Studio for Android: sostanzialmente da qui saremo in grado di gestire i nostri dispositivi (di qualunque tipo essi siano, cioè reali, virtuali o remoti), gestire i file del nostro progetto, gestire l'emulatore, avere accesso alla libreria di frammenti di codice, interagire con il dispositivo correntemente in funzione tramite l'ADB (Android Debug Bridge, un tool messo a disposizione dal SDK).

MOTODEV perspective
Si noti, in figura, il pannello Device Management: l'ambiente di sviluppo ha riconosciuto lo smartphone Android che è stato attaccato alla workstation ed è ora possibile interagire con esso (simboleggiato dallo status Online).

Uninstall operationUninstall operation
La disinstallazione di applicazioni è un possibile esempio di uso delle funzionalità messe a disposizione del MOTODEV; si noti nella seconda figura come in realtà spesso le funzionalità siano semplicemente un mapping sui tool a riga di comando messi a disposizione dal SDK (in questo caso l'ADB).

File explorer
Mediante l'ambiente di sviluppo è possibile anche interagire con il filesystem del dispositivo (lettura/scrittura).

La seconda perspective creata da Motorola è stata chiamata MOTOROLA Database e, come si può immaginare dal nome, viene utilizzata per interfacciarsi con i vari database presenti all'interno dello smartphone.

Esiste, inoltre, un'ultima perspective (MOTODEV Ophone Widget) poco interessante per noi occidentali dal momento che si focalizza sullo sviluppo di widget per smartphone basati sull'Ophone OS, una personalizzazione di Android per il mercato cinese.

Sono state, ovviamente, mantenute le altre perspective già presenti nell'ambiente originale come la fondamentale DDMS (Dalvik Debug Monitor Service), utilizzata per capire cosa sta succedendo all'interno del nostro device (ad esempio leggendo tutti i processi che girano nella macchina o analizzando i log provenienti dal sistema o dall'applicazione che stiamo monitorando).

DDMS perspective
La perspective DDMS, già presente nell'ambiente di sviluppo originario, ma di fondamentale importanza.

DDMS perspectiveApplication screenshot
La perspective DDMS può essere utilizzata anche semplicemente per ottenere screenshot di ciò che sta girando nello smartphone. Al momento attuale, se non si dispone di un telefono con l'accesso a root, questo è l'unico modo possibile per ottenere tali schermate.

Per mostrare un semplice flusso di utilizzo dell'ambiente di sviluppo abbiamo scelto di sviluppare il classico “Hello World” (campanilisticamente chiamato “Hello Agemobile”) con l'obbiettivo finale di vederlo girare su un Motorola Milestone, fornito gentilmente dall'azienda statunitense per le nostre prove.

New application creationNew application creation wizard
Dal menu “File → New” scegliamo la voce “Android Project using Studio for Android” per aprire i pannelli dedicati alla configurazione iniziale del progetto. Notare come anche i wizard per la creazione di un progetto siano stati leggermente personalizzati, cercando di semplificare il processo rispetto a quanto faccia il plugin ufficiale (ma sacrificando le opzioni).

Application creationApplication creation
Completato il wizard, torniamo alla schermata di sviluppo con il progetto presente nel Package Explorer. Aprendo il file contenente la nostra classe principale notiamo come sia già stato creato lo scheletro di codice da estendere per ottenere le funzionalità desiderate. Aggiungiamo le righe di codice che ci serviranno per realizzare il nostro “saluto”.

Application running

Dopo aver attaccato il telefono (in modalità debug) alla nostra workstation, trasferiamo l'applicazione sullo smartphone cliccando con il tasto destro sul progetto e scegliendo la voce “Run as → Android Application using Studio for Android”: se non ci sono problemi vedremo apparire sul telefono l'output del programma.

Cosa possiamo fare di più con il MOTODEV Studio? Ad esempio possiamo sfruttare i frammenti di codice messi a disposizione dall'ambiente. Come già precedentemente mostrato, nel pannello “Snippets” abbiamo una serie di categorie da cui poter trarre ispirazione a partire da quelle per sfruttare i servizi messi a disposizione del sistema operativo, passando per quelle dedicate alla gestione dell'interfaccia grafica, sino ad arrivare a quelle per utilizzare il GPS o file multimediali.

Application modifiedApplication modified
Per mantenere l'applicazione il più semplice possibile decidiamo di aggiungere un grande pulsante che, una volta calcato, farà vibrare il dispositivo per un certo lasso di tempo dopo il quale il programma si chiuderà. All'interno della categoria “General” troviamo lo snippet che fa al caso nostro: “Vibrate the Phone for a Given Time”. Dopo aver aggiunto il codice per la creazione del pulsante, posizioniamoci sulla riga corretta e facciamo doppio click sullo snippet desiderato: magicamente apparirà nella nostra classe il frammento di codice che svolge il compito richiesto. Notare come ogni frammento sia in genere accompagnato da un utile commento che, eventualmente, spiega quali altre azioni siano necessarie per attivare la funzionalità. Non è proprio programmazione visuale, ma è comunque un valido aiuto.

Application running
Lanciando l'applicazione vedremo il nostro software all'opera.

Naturalmente esistono ancora molti margini di miglioramento: ad esempio la perspective dedicata ai database pare ancora acerba e non molto utile (al momento attuale sembra non esista la possibilità di creare db), oltre al fatto che da il meglio di se principalmente con dispositivi virtuali. Non dispiacerebbe anche che venisse migliorata l'ottima idea degli snippet di codice, fornendo una biblioteca più nutrita di quanto attualmente sia.

Ci sarebbe poi tutto il discorso della programmazione visuale, su cui Microsoft ha fatto la sua fortuna negli ambienti di sviluppo, feature molto ambita da gran parte dei programmatori, ma personalmente nutro poca fiducia sulla sua introduzione in tempi brevi.

Nonostante questo Motorola è riuscita a personalizzare positivamente un ambiente di sviluppo ancora nei primi passi della sua vita con interessanti feature, rendendolo un must per chi sviluppa principalmente sugli smartphone della casa statunitense. Vedremo in futuro quanto il software evolverà e se il Motorola Studio e l'ambiente ufficiale di casa Google riusciranno a influenzarsi vicendevolmente in maniera positiva.

 

Sistema Operativo: 
Contenuto: 
Sezioni: 
Produttori: 

Leggi Articolo »

Kaspersky Lab per gli smartphone aziendali: produttività e rischi!

Kaspersky Mobile SecurityStrumenti di lavoro sempre più efficaci, gli smartphone hanno dato la possibilità di estendere al di fuori dell'ufficio quelli che erano mezzi aziendali fruibili solo da pc fissi o, in forma limitata, da notebook al di fuori dell'azienda stessa, e con i giusti presupposti (connettività, Vpn, etc).

Il prezzo da pagare per questa nuova libertà è ormai evidentemente noto: il possibile furto, o l'indebita appropriazione di dati aziendali sensibili da parte di terzi, memorizzati su questi nuovi strumenti di lavoro.

Oltre ai rischi correlati a codice malware, che caratterizzavano le postazioni fisse, si va pertanto ad aggiungere il rischio di un danno economicamente più grave, quantificabile non tanto in base al reale valore dell'oggetto perso, quanto più al suo contenuto, che in determinati casi può anche mettere in ginocchio un'azienda.
Danno che non sempre è frutto di un crimine intenzionale, ma che può scaturire dal semplice smarrimento dello smartphone (ogni anno si stima che ne vengano lasciati nei taxi delle grandi città almeno 15.000 unità, su un totale del 10% del venduto annuo, perso o rubato).

Per gli IT manager delle aziende, questo si traduce in 2 problemi da risolvere. Il primo è scegliere quali strumenti aziendali abilitare su piattaforme mobile eterogenee, il secondo, più critico è mantenere un elevato livello di sicurezza per i dati di suddette applicazioni e per gli smartphone.

In un periodo come questo, dove l'integrazione e l'uso degli smartphone all'interno di un'azienda arriva in concomitanza con ferventi attività di realizzazione di nuovi sistemi operativi per mobile (Android, nuove versioni di Windows Mobile, Linmob, etc), e dove si sta iniziando a standardizzare quelli che sono i software utilizzati per lavorare anche sui telefonini (si pensi al recente annuncio di accordo fra Microsoft e Nokia per la realizzazione di Office Mobile per sistema operativo Symbian) è indispensabile rendere omogenea la gestione del parco macchine mobile.

Ed è per venire incontro a queste necessità che la suite Open Space Security di Kaspersky Lab conglomera alla protezione e gestione di pc fissi e server, Kaspersky Mobile Security Enterprise Edition, un sistema di protezione centralizzato del parco smartphone, per proteggere non solo dal recente acuirsi di virus outbreak per piattaforme mobile (solamente durante il periodo di Natale 2009 sono state individuate 2 nuove varianti del trojan Sejweek per Windows Mobile), ma anche da incident report come il furto o lo smarrimento degli apparecchi.

Grazie a Kaspersky Mobile Security è possibile gestire l'incident legato alla perdita dello smartphone, limitando i danni legati all'esposizione di dati aziendali all'esterno, grazie alla possibilità di bloccare e/o cancellare il contenuto del telefonino da remoto, mediante il semplice invio di un sms, che sarà possibile anche in caso di cambio della sim card sullo smartphone, grazie a un sistema di tracciamento di tale modifica che avvisa un numero predefinito del suddetto cambio e blocca ogni funzionalità.

Articolo di Marco Ugolini: Mobile Solutions Manager, Kaspersky Lab Italia

Kaspersky Mobile Security

Per ulteriori informazioni su Kaspersky Lab, visitate il sito www.kaspersky.it.
Per informazioni su antivirus, anti-spyware, anti-spam ed ogni altro tema legato alla sicurezza informatica, visitate il sito www.viruslist.com. 

Sistema Operativo: 
Contenuto: 
Sezioni: 

Leggi Articolo »

Tutorial: Sfruttiamo al meglio la fotocamera dell’HTC HD2

La fotocamera dell'HTC HD2 dopo un inizio un po' in salita a causa di qualche problema di gioventù del software, già in gran parte fixato, sta iniziando a riprendersi il posto che le è dovuto in virtù delle caratteristiche tecniche di primo piano.

Come ogni modulo fotografico integrato in uno smartphone, per farlo funzionare al massimo delle prestazioni, quello dell'HD2 richiede un periodo di fisiologico allenamento e la necesstià di settare al meglio tutte le impostazioni.

In questo tutorial vi illustriamo come sfruttare al massimo il sensore da 5MP dell'HD2 in tutte le più comuni condizioni di scatto, dandovi anche qualche consiglio su come correggere qualche problemino di gioventù del software.

Non ci resta che iniziare, familiarizzando con l'interfaccia del modulo fotografico che appare appena attiviamo l'icona dedicata alla fotocamera.

Familiarizziamo con i controlli

Un rapido sguardo alle principali impostazioni.

Prima di metterci all'opera esploriamo brevemente il menu delle impostazioni. In questa fase vi basti sapere che tali impostazioni esistono. Specie all'inizio, non è necessario complicarsi la vita intervenendo manualmente sui vari parametri che condizionano la resa dell'immagine.

Nel menu princiapale troviamo 6 differenti opzioni:

  • Le impostazioni sul bilanciamento del bianco
  • La possibiltià di intervenire sulla luminosità delle immagini se le stesse appaiono troppo scure nel mirino
  • Le impostazioni del grado di ensibilità alla luce del sensore (ISO lasciamo su auto)
  • La gestione dei supporti di memorizzazione
  • La scheda delle impostazioni avanzate (ne esamineremo alcune nel corso del tutorial)

Inquadriamo e ....  fuoco !

L'HTC HD2 è sprovvisto di un pulsante fisico dedicato alla fotocamera. Proprio per l'assenza di un tasto fisico che attiva la fotocamera, vi consigliamo di creare una scorciatoia da collocare direttamente nella home dell'interfaccia Sense. In questo modo se vogliamo catturare al volo uno scatto interessante non saremo costretti a perdere tempo passando per i menu di Windows Mobile.

Sempre l'assenza di un pulsante dedicato ci costringe a tappare lo schermo in corrispondenza dell'icona a forma di diaframma e rende necessaria qualche accortezza in più in fase di messa  a fuoco e di scatto. Per evitare delle foto mosse, evitiamo di provare a scattarle con una sola mano. Facciamo attenzione a tenere ben saldo l'HD2 con entrambe le mani e concentriamoci sulle operazioni di messa a fuoco e di scatto cercando di contenere le vibrazioni soprattutto quando tappiamo lo schermo. Quando scattiamo, se occorre, tratteniamo anche il fiato per un istante, sfioriamo lo schermo in corrispondenza del pulsante di scatto, evitando qualsiasi scossone.


Una presa sicura con due mani è indispensabile per evitare scatti mossi

Inquadriamo correttamente

Per inquadarare correttamente la scena ed evitare le fastidiose foto storte, possiamo attivare una griglia che utilizzermo allieandola alle linee rette degli oggetti presenti nella scena. Il tipico esempio è quello della linea dell'orizzonte o dello spigolo di un muro che riusciremo a mettere perfettamente "in bolla", sfruttando le quattro crocette che circondano il mirino.


Per attivare la griglia è sufficiente entrare nel "menu opzioni", poi in "avanzate" ed infine attivarla nella quarta scheda

Zoom si, zoom no

In fase di inquadratura possiamo renderci conto di trovarci lontani dal soggetto e quindi sentire la necessità di "stringere" l'inquadratura. Istintivamente siamo portati ad attivare lo zoom, restando nella stessa posizione. Il nostro consiglio è quello di avvicinarsi fisicamente al soggetto (tutte le volte in cui è possibile farlo), senza intervenire sullo zoom. L'obiettivo dell'HTC HD2, infatti, non è dotato di uno zoom ottico, ma digitale. In altri termini lo zoom dell'immagine viene eseguita da un algoritmo software e non dalle lenti dell'obiettivo che cambiano assetto. I risultati di uno zoom digitale per quanto buono, sono sempre inferiori a quelli ottenibili con uno zoom ottico, per questo preferiamo spostarci noi andando incontro al soggetto, piuttosto che restare immobili ed affidare l'operazione di zoom al software.

Messa a fuoco e scatto

Evitiamo di clicckare il pulsante di scatto se prima non abbiamo svolto correttamente le operazioni di messa a fuoco.
La modalità di messa a fuoco predefinita è quella in automatico; è necessario quindi dare il tempo all'HD2 di eseguirla. Putroppo, al contrario di quanto accade sui dispositivi con un pulsante dedicato allo scatto e alla messa a fuoco, nell'HD2 manca un indicatore che segnala l'avvenuta messa a fuoco. Siamo costretti a fidarci solo dei nostri occhi aiutati dall'enorme display dell'HD2. Quando la porzione al centro del mirino diventa nitida e non sfocata siamo pronti per scattare.

La seconda modalità di messa a fuoco che possiamo attivare è la "messa a fuoco al tocco". Il principale vantaggio rispetto a quella in automatico è che possimo scegliere liberamente il punto di messa a fuoco che nella modalità in automatico resta vincolato al punto centrale del fotogramma. È sufficiente tappare lo schermo in qualsiasi punto per selezionare dove cadrà la messa a fuoco.


Per attivare questa modalità  è sufficiente entrare nel menù impostazioni, poi selezionare "avanzate" ed infine attivare la modalità "messa a fuoco al tocco"


Non avremmo potuto scattare questa foto mantenendo la stessa inquadratura senza ricorrre alla modalità "messa a fuoco al tocco". In questa foto dobbiamo mostrare sia il nostro notebook, sia mettere in evidenza la scritta sulla bottiglia che si trova al bordo destro del fotogramma, che andrà quindi messa a fuoco. Prima inquadriamo, poi tappiamo sullo schermo la zona da mettere a fuoco finchè non la vediamo diventare nitida.

Regoliamo la luminosità della scena

Senza addentrarci eccessivamente nelle opzioni relative agli ISO e alle modalità di esposizione che potrebbero far sorgere un po' di confusione negli utenti meno esperti di fotografia, cerchiamo di regolare nella maniera più semplice possibile la luminosità della scena. Come sempre lo strumento più affidabile e semplice da utilizzare non è altro che il nostro occhio. Se prima dello scatto finale, controllando il display, la scena appare troppo scura o troppo chiara attiviamo il menu relativo alla luminosità ed introduciamo le opportune correzioni.


Se la foto ci sembra troppo chiara riduciamo la luminosità prima di eseguire lo scatto per aumentare il contrasto


Operazione inversa facciamo qualora la luminosità della scena dovesse rivelarsi insufficiente.

Padroneggiare questo semplice meccanismo, rende in molti casi superfluo impostare manualmente gli ISO e comporta l'ulteriore vantaggio di non dover successivamente intervenire per modificare la luminosità con software aggiuntivi.

Autoscatto

L'opzione per l'autoscatto non manca nel menu principale, ma la sua gestione è quanto meno complessa da mettere in atto. Di fatto possiamo,ad esempio, lanciarci in un azzardato autoscatto con la nostra/o compagna/o tenendo lo smartphone con una sola mano, ma vista la mole del dispositivo l'operazione non è delle più semplici da realizzare. Anche inquadrare è un'operazione difficoltosa, considerato che manca uno specchietto nella parte posteriore della scocca che permette di avere una idea sommaria di cosa stiamo inquadrando. L'utilità della funzione autoscatto starebbe nella possibilià di effettuare scatti evitando vibrazioni causate dal tap dello schermo, a patto di preparare l'inquadratura dopo aver trovare un supporto solido su cui poggiare l'HD2.

Formato e qualità d'immagine

Formato

I 5Mp del sensore possono essere gestiti in maniera differente. Prima di tutto si può ovviamente scegliere se utilizzarli tutti o in parte scegliendo una risoluzione inferiore. In secondo luogo si può scegliere per ciascuna risoluzione per attivare o meno la modalità widescreen, utile nel caso di riprese ampie di paesaggi.


Le opzioni nella sezione "impostazioni", "avanzate" per settare risoluzione  e formato di immagine

In modalità widescreen il software si limita a tagliare due strisce di pixel in alto e in basso per mantere il formato a schermo largo (i file così generati occupano un po' meno spazio sulla scheda di memoria). La modalità widescreen si rivela comoda anche in fase di inquadratura perchè la scena riempie interamente lo schermo mentre si scatta.


La stessa scena, prima in modalità normale e poi ...


... con l'opzione wide-screen attivata

Impostazioni sulla qualità di immagine

Le impostazioni sulla qualità di immagini, accessibili sempre attraverso la sezione "avanzate" del menu "impostazioni" (pag.2), incidono sul livello di compressione dei file. Lo scopo come al solito è quello di non creare file molto grossi, ma questo scopo spesso confligge con la qualità e l'HD2 non fa eccezione.

Come è emerso nel corso delle nostre prove, le definizioni utilizzate da HTC per identificare le varie qualità ottenibili sono apparse abbastanza fuorvianti. Anche settando la qualità su "Fine" l'algoritmo di compressione sembra essere molto invasivo e produce delle seghettature e degli artefatti nelle foto piuttosto fastidiosi. Il nostro suggerimento è di settare sulla modalità "Superfine" il livello di qualità dell'immagine. Con tale impostazione, infatti, gli effetti della compressione sono del tutto invisibili.


Il nostro suggerimento è quello di lasciare sempre impostata la qualità SuperFine anche a scapito di file dalle dimensioni un po' più grosse. L'alogoritmo di compressione delle immagini anche in modalità "Fine" non ci ha convinto sino in fondo.


Nella colonna a sinistra i crop al 100% dello scatto in modalità "Fine" in quella destra lo stesso scatto in modalità "Super Fine". Gli effetti della compressione si notano nelle seghettature e quadrettature visibili ai bordi delle lettere e delle superfici oblique in genere. Molto più omogenea la resa in modalità "Super Fine" (cliccka per ingrandire)

Impariamo a domare il flash

Il potente doppio flash a LED  viene in soccorso quando la luce diventa insufficente. Abbiamo tre opzioni a disposizioni. Lasciarlo lavorare in automatico (opzione consigliata), attivarlo manualmente (utile se vogliamo ammorbidire le ombre anche in pieno sole, ad esempio con un soggetto in controluce) oppure disattivarlo del tutto (rischioso ai fini del mosso, se non troviamo una base solida su cui poggiare lo smartphone).

Il doppio flash a LED si è rivelato molto potente. A dire la verità il flash dell'HD2 è anche troppo potente e si tratta di una potenza poco controllabile visto che manca qualsiasi controllo nell'interfaccia utente per dosare la sua intensità.

Senza alcuna accortezza, alcuni scatti rischiano di esserci preclusi in partenza. Ci riferiamo in particolar modo agli scatti effettuati a distanza ravvicinata in presenza di poca luce. Proprio per l'impossibilità di dosare l'intensità del flash in queste circostanze la sovraesposizione della scena diventa inevitabile. L'alternativa è allontanarsi dalla scena, perchè a 2 mt di distanza circa il rischio di bruciare la foto scompare. Ma se dobbiamo riprendere una macro con poca luce che facciamo ?

Non resta che inventarci qualcosa di molto artigianale ma efficace:

Prendiamo un fazzoletto di carta, lo arrotoliamo formando più strati, lo piazziamo in corrispondenza del doppio flash a LED facendo attenzione a non ostacolare l'obiettivo e inziamo a fare qualche prova per valutare il grado di attenuazione del flash.


Un fazzoletto di carta o qualsiasi materiale che si lascia attraversare parzialmente dalla luce è un ottimo strumento per dosare l'intensità del flash dell'HD2

Dopo qualche prova i risultati non tardano ad arrivare. Nella foto che segue abbiamo voluto provare una condizione di ripresa estrema: una macro a pochi cm dal soggetto in condizioni di luce tali da richiedere l'intervento del flash. Nella prima foto si può notare il risultato senza il nostro trucco, nella foto a destra il risultato dopo l'attenuazione del flash con un fazzoletto di carta.


Lo scatto è inutilizzabile anche volendo intervenire successivamente con programmi di fotoritocco. La bruciatura così estesa ed intensa lo rende irrecuperabile.


Il risultato con il trucco del fazzoletto è molto migliore, il contrasto non è molto alto ma i dettagli ci sono tutti e lo scatto è adatto ad essere lavorato anche successivamente.


Il risultato dopo una passatina in Photoshop del nostro secondo scatto per aumentare il contrasto. Il gap con lo scatto senza attenuazione del flash è incolmabile.

Provate i materiali che più vi piacciono per attenuare il flash, basta che siano semitrasparenti e fate attenzione ad evenuali dominanti di colore che possono entrare nella scena (ad esempio il fazzoletto ne introduce una gialla che può essere comunque corretta in post-produzione, anche mediante i vari programmi di terze parti da utilizzare direttamente sullo smartphone).

Cambiamo il volto alle foto.

Avere la possibilità di modificare i propri scatti senza ricorrere ad un software aggiuntivo o addirittura alla necessità di utilizzare il PC è senza dubbio molto comodo. Il software di gestione della fotocamera dell'HTC HD2 ci permette di aggiungere degli effetti di post-produzione già in fase di scatto,senza dover ricorrere a soluzioni esterne. Non si tratta di funzionalità paragonabili a quelle che si possono ottenere con software più complessi, ma sono sufficienti per rendere più variegati i risultati che possiamo ottenere. La piccola pecca del software è che gli effetti devono essere preimpostati prima dello scatto e non possono essere applicati successivamente intervenendo sulle foto in galleria.

<
Entriamo nelle impostazioni avanzate e dalla terza scheda attiviamo la sezione "Effetti" prima di scattare.
Possiamo selezionare 3 diverse impostazioni: convertire la foto in BN, applicare un effetto seppia o acquisire lo scatto in negativo per ottenere effetti "imprevedibili"

Foto panoramiche

Tra le funzioni particolari presenti nel software di gestione della fotocamera una di rilievo è quella che ci consente di effettuare delle foto panoramiche frutto dell'unione di 3 scatti che vengono automaticamente assemblati. Vediamo come ottenere risultati come questi:


(cliccka per ingrandire)


(clicca per ingrandire)

1) Attiviamo la modalità di scatto "panorama" dalle impostazioni delle modalità di cattura:

2) A questo punto dobbiamo scattare 3 foto partendo da sinistra dello scenario che vogliamo riprendere (in questo caso la nostra scrivania) e andando a destra . Dopo la prima foto scattata il bordo destro della stessa resta in evidenza nell'inquadratura sotto forma di una piccola slide semitrasparente

3) Ripetiamo l'operazione ancora un volta per ottenere il terzo scatto e la foto panoramica viene generata automaticamente ed archiviata nella galleria delle immagini. Il file generato ha una risoluzione di 1408x408 pixel, non tutti quelli messi a disposizione dal sensore per evitare di rendere difficoltosa la gestione del "bricolage" di foto, ma sufficiente per osservarla anche sullo schermo del PC.


Ecco la panoramica della nostra affollata scrivania (scusate il disordine). Ovviamente questa tecnica si presta maggiormente per riprese di paesaggi in esterna permettendo di estendere, seppur in maniera virtuale l'angolo di ripresa dell'obiettivo.

Il problema dell'alone rosa

Appena immesso sul mercato l'HD2 aveva subito manifestato il problema dell'alone rosa che si nota al centro delle foto, specie quando vengono effettuate a soggetti caratterizzati dallo sfondo molto chiaro. Al problema si è posto rimedio, anche se non completamente attraverso l'hotfix rilasciato tempestivamente da HTC e che consigliamo a tutti di scaricare (lo trovate a questo indirizzo).

Nonstante il problema si sia attenuato lo stesso è ancora presente. Se teniamo particolarmente ad uno scatto e lo vogliamo stampare o custodire e visualizzare nel nostro PC è necessario intervenire con un programma di fotoritocco per eliminare la fastidiosa dominante rosata. Vediamo come fare. Nella nostra prova abbiamo usato Adobe Photoshop Elements, ma l'operazione si può realizzare con tutti i più diffusi programmi di fotoritocco.


L'alone rosato è ben visibile al centro dello scatto e seppur in misura ridotta rispetto a prima dell'hotfix è comunque presente. Importiamo lo scatto nel nostro programma di fotoritocco e procediamo alla correzione.

La dominante rosata è  la somma di due colori: principalmente il magenta e secondariamente il rosso. Andremo quindi a correggere selettivamente il colore per eliminare tale dominante.


Dal menu del nostro software di fotoritocco selezioniamo la correzione selettiva del colore "Regola Tonalità/Satruazione".


Quindi selezioniamo quale colore modificare. Come detto in apertura le nostre attenzioni si concentrano princialmente sul magenta. Operiamo sia sulla saturazione di tale colore, attenuandola, sia sulla tonalità fin quando osservando la foto non notiamo che l'alone scompare. Se non è sufficiente l'intervento sul magenta, ripetiamo l'operazione con il rosso.

Per automatizzare l'operazione i più esperti possono anche procedere a creare un'apposita azione di Photoshop per velocizzare la correzione, che in ogni caso è molto semplice da realizzare. I più esigenti probabilmente preferiranno correggere caso per caso per ottimizare la correzione.

La correzione non intacca eccessivamente gli altri rossi e magenta che ci dovessero essere nella foto proprio perchè il fenomeno del pink spot appare prevalentemente in foto scattate contro uno sfondo molto chiaro (quindi o bianco o azzurro come può essere il cielo). In altri casi l'alone molto spesso si confonde bene con il resto della scena e quindi non richiede alcun intervento.


Il lavoro finito. Prima e dopo la cura

Consigli finali

  • Evitiamo di spingerci troppo oltre con le condizioni di luce in esterna. Un'illuminazione omogenea e diffusa è consigliabile per ottenere i risultati ottimali. Il controluce o situazioni di luce irregolare mandano in crisi anche costose reflex digitali.
  • Negli scatti macro a distanza ravvicinata col soggetto poniamo particolare cura alla fase della messa a fuoco che deve essere ancora più precisa rispetto al normale. Familiarizziamo con la messa a fuoco al tocco per essere ancor più precisi nella scelta del punto di fuoco.
  • Nelle foto in notturna, ricorriamo al flash se manca qualsiasi altra fonte di luce. Se è presente comunque una luce artificiale proviamo a sfruttarla facendo attenzione al mosso. In tutti i casi in cui siamo costretti a ricorrere al flash impariamo a dosarlo con il metodo che abbiamo illustrato se dovesse bruciare parte della scena a causa dell'eccessiva potenza.
  • Familiarizziamo con gli strumenti di condivisione delle foto messi a disposizione del software. Con pochi click è possibile inviare la foto sui principali social network, oltre che via mail.
  • In caso di dubbio sulle modalità di funzionamento consultiamo la guida presente nell'ultima scheda della sezione opzioni avanzate.

 

Sistema Operativo: 
Contenuto: 
Sezioni: 
Produttori: 

Leggi Articolo »

Tutorial: Inviare e condividere i video in streaming in tempo reale con Qik

Qik è un'applicazione di video sharing disponibile per numerosi smartphone. In questo tutorial ne descriveremo il funzionamento per acquisire e condividere in tempo reale i nostri video con le  più importanti reti di social network.

Il funzionamento di Qik è basato su un software da installare nello smartphone che funge da client (in questo tutorial abbiamo utilizzato la versione per iPhone), e sul server di Qik, presso il quale è necessario creare un'account e che si occupa di ricevere i flussi video inviati dallo smartphone, archiviarli e ritrasmetterli alla princiapali reti di social network. Procediamo con ordine.

1) Il primo passo è l'installazione del client di Qik e la creazione dell'account (operazione che può essere gestita direttamente dallo smartphone). La versione iPhone la troviamo in App Store,  scaricabile a questo indirizzo. (per le altre rimandiamo alla fine dell'articolo)-


La prima cosa che ci viene chiesta dal programma è di loggarci all'account di Qik; se non ne abbiamo uno possiamo crearlo direttamente dallo smartphone. Dopo esserci loggati si apre la finestra principale del programma.

La schermata principale è di facile consultazione. Nella parte in basso si trova il pulsante rosso per avviare la registrazione, quello a sinistra per scegliere le impostazioni della cattura ed infine il pulsante a destra per entrare nella galleria dei video acquisiti.

2) La seconda fase riguarda le impostazioni del programma. Qik offre due modalità di acquisizione dei video: in streaming in tempo reale e in modalità offline. La prima opzione è quella più interessante perchè permette di inviare quasi in diretta le immagini all'account di Qik. La seconda modalità è utile ad esempio quando la coperatura 3G o Wi-Fi viene a mancare e noi continuiamo a riprendere i video che verranno inviati in un secondo momento.

Altra importante impostazione da dare al programma è la scelta se rendere pubblici i video o uploadarli nel proprio account di Qik selezionando le persone che potranno visionarli.


La prima importante scelta da effettuare nel menu opzioni è quella tra la modalità "live" (che invia in tempo reale i video) e quella "offline" (che registra i video e successivamente consente l'invio).
Tappando invece sulla barra di stato possiamo accedere ad altre impostazioni, tra cui una molto importante relativa alla scelta se rendere o meno pubblico il video.

3) Dopo la fase delle impostazioni possiamo passare alla registrazione vera e propria. Tappiamo l'area della fotocamera, qualora la stessa fosse in standy e premiamo il pulsante rosso, collocato nella parte bassa dello schermo.


La nostra registrazione è iniziata. Per arrestarla è sufficiente premere nuovamente il pulsante collocato al centro in basso dello schermo.

4) Passiamo quindi ad organizzare e a gestire i video acquisiti, esplorando la galleria, ma anche visitando il nostro account di Qik via Web. Per visualizzare la galleria sullo smartphone è sufficiente premere il pulsante in basso a destra.


Nello screenshot a sinistra vengono visualizzati tutti i clip acquisiti. Tappando su uno di essi possiamo modificare i principali parametri del video: aggiungere un titolo, cancellarlo, renderlo pubblico o privato ed infine, particolare che ci interessa molto, condividerlo con le reti di social network.

5) A questo punto ci spostiamo sul sito web di Qik e ci logghiamo con i nostri dati oer impostare preliminarmente con quali reti di social network vogliamo condividere i video acquisiti


Log-in presso il sito www.qik.com


"Edit Networks" è l'opzione da scegliere per impostare in quali reti di social network verranno riversati i video.

 
Tutti le più diffuse reti di social network sono comprese. È sufficiente sceglierne una e autorizzare l'accesso da parte di Qik al proprio profilo di YouTube, in questo caso,  per inviare automaticamete i video registrati con lo smartphone in contemporanea anche su YouTube. L'operazione deve essere fatta solo una volta e non ogni volta che si registra un video La condivisione è quindi, dopo questa fase, interamente gestibile dallo smartphone.

In ogni momento è possibile modificare le impostazioni di ciascun social network, scegliendo ad esempio se inviare tutti i video acquisiti su qik o solo alcuni oppure scegliendo una frase introduttiva per ciascun video.


Pochi click e il gioco è fatto. Abbiamo trasferito in maniera del tutto automatica il video acquisito con lo smartphone sul nostro account di Facebook.

6) È sempre possibile gestire i video direttamente dall'account di Qik. Non trascuriamo infatti che Qik è di per se stessa una rete di social network molto attiva formata da numerosi utenti.

7) Qualche consiglio finale. Qik necessita di una connessione dati veloce per l'invio dei video, quindi è consigliabile utilizzare una rete Wi-Fi anche se l'ideale è avere una buona connessione 3G a disposizione per girare i video in mobilità. Ovviamente è necessaria una tariffa flat per l'invio dei video se non si vuole correre il rischio di vedersi prosciugato il credito telefonico.  È importante curare, altrettanto ovviamente gli aspetti della privacy scegliendo in maniera consapevole se rende pubblici o privati i video e con quali reti condividere le registrazioni.

Qik è un servizio completamente gratuito (eccettuati i costi di connessione) ed è disponibile per tutte le principali piattaforme (Android, BlackBerry, iPhone, Symbian e Windows Mobile). QUI un elenco con tutti i dispositivi compatibili.

Fonte: AgeMobile

Sistema Operativo: 
Contenuto: 
Sezioni: 

Leggi Articolo »

La strategia “Clone Cloud Execution” per ovviare alla carenza di risorse negli smartphone

Visualizzare video con risoluzione costantemente in crescita, utilizzare giochi sempre più complessi, sfruttare sistemi operativi ogni giorno più onerosi...

La fame di potenza computazionale e memoria dei software che girano quotidianamente sui nostri smartphone non sembra fermarsi mai, con tutte le difficoltà del caso.

Byung-Gon Chun e Petros Maniatis, ricercatori alla Intel, ci mostrano quale potrebbe essere un possibile futuro in cui le scarse risorse hardware dei telefoni non dovrebbero rappresentare più un problema.

Intel Logo

Come accennato nel cappello introduttivo, si moltiplica giornalmente il software che mette alle corde le risorse hardware degli odierni smartphone, limitati in termini di potenza computazionale, memoria, e riserve di energia rispetto ai più corazzati sistemi desktop.

Diverse sono le strade che possono portare alla soluzione di tale problema, prima fra tutte l'evoluzione tecnologica (si pensi a chip come lo SnapDragon che sembra raggiunga prestazioni paragonabili ai processori della famiglia Atom). Ma qualcuno preferisce seguire percorsi meno ovvi come, ad esempio, i due ricercatori della Intel citati in precedenza che, in un paper intitolato "Augmented Smartphone Applications Through Clone Cloud Execution", presentano la propria strategia per ovviare alla scarsità di risorse nei dispositivi portatili.

Due sono le premesse fondamentali dello studio:

  • Con gli odierni laptop, desktop e server si ha a disposizione un'enorme quantità di risorse hardware che, grazie al proliferare di mezzi per la comunicazione (reti 3G e superiori, WiFi, WiMax...), risultano essere facilmente accessibili.
  • Le tecnologie di virtualizzazione ed esecuzione remota hanno fatto passi da gigante e, grazie all'affidabilità ottenuta, sono correntemente usate in sistemi di produzione.

Da qui nasce l'idea alla base dell'architettura proposta: l'applicazione affamata di risorse verrà sempre fatta girare all'interno dello smartphone, ma in esso risiederà anche un motore di esecuzione (execution engine) capace di "aumentare" le risorse a disposizione del dispositivo delegando a smartphone virtuali remoti (cloni perfetti del device fisico dal punto di vista software, ma che girano in sistemi con risorse hardware superiori) le attività più critiche dal punto di vista computazionale. I risultati dell'elaborazione effettuata dallo smartphone o dagli smartphone virtuali verranno poi restituiti al device fisico per la presentazione all'utente, il tutto in maniera completamente trasparente.

L'idea di sfruttare risorse remote per sopperire alle carenze locali non è nuova nella storia dell'informatica: la novità principale consiste nell'utilizzare un insieme di device virtuali (la Clone Cloud che da il titolo al documento) per mostrare a utente e sviluppatore un illusorio dispositivo che travalica i propri limiti fisici. Sottolineo il termine "sviluppatore" perchè l'idea sarebbe quella di far gestire tutto in automatico dall'execution engine, senza che chi scrive l'applicazione debba cambiare il modo di programmare.

I ricercatori hanno individuato cinque diversi scenari in cui la strategia di augmented execution, che potremmo maccheronicamente tradurre con "esecuzione potenziata", potrebbe essere applicata:

  1. Primary functionality outsourcing: è lo scenario più semplice. L'applicazione avida di risorse viene divisa in una parte computazionalmente poco onerosa (come, ad esempio, la gestione dell'interfaccia utente) che viene mantenuta nello smartphone e in un'altra più pesante che viene remotizzata verso la nuvola di cloni secondo richieste sincrone, in maniera simile a quanto accade in un'architettura thin client-server. Un esempio di applicazione potrebbe essere un software di riconoscimento vocale. 
  2. Background augmentation: questo scenario considera tutte quelle applicazioni che non necessitano di un'interazione continua con l'utente, ma possono essere eseguite in background come, ad esempio, virus scanning o indexing di documenti. In questo caso l'intero processo può essere delegato alla controparte virtuale, che potrebbe svolgere il suo compito anche quando lo smartphone fisico risulta spento: segue poi una sincronizzazione finale dei risultati tra dispositivo virtuale e fisico.
  3. Mainline augmentation: un caso a metà strada tra i due visti in precedenza. L'augmented execution può essere effettuata o meno a seconda di quel che accade all'interno dell'applicazione. Ad esempio, il software potrebbe decidere di bloccarsi localmente in seguito a un input potenzialmente insicuro e far eseguire il codice pericoloso allo smartphone virtuale che funzionerebbe da "cavia".
  4. Hardware augmentation: uno scenario in cui l'applicazione locale verrebbe eseguita da un clone remoto dello smartphone con risorse hardware superiori al dispositivo fisico, magari basato anche su un'architettura diversa (in maniera tale da evitare l'overhead computazionale dell'emulazione).
  5. Augmentation through multiplicity: probabilmente lo scenario più complicato definito ambiziosamente dagli autori del documento come un modo per prevedere il futuro. L'applicazione lanciata localmente viene fatta girare su più cloni virtuali ognuno dei quali potrebbe prendere un percorso d'esecuzione diverso: tale strategia potrebbe essere utile per l'elaborazione parallela, ma anche, come accennato prima, per valutare le possibili conseguenze di una scelta. Si pensi, banalmente, a un'applicazione di scacchi: per valutare le implicazioni di una mossa l'intelligenza artificiale potrebbe utilizzare un certo numero di cloni remoti, ognuno dei quali elaborerebbe una serie di mosse differente. Portando l'esempio in un territorio più interessante si può pensare a un algoritmo di scheduling di processi che può trarre vantaggio dalla conoscenza dello stato futuro per ottimizzare il consumo della batteria.

Ma quale è il processo che porta dall'esecuzione di un software in una macchina locale all'esecuzione dello stesso software in un ambiente distribuito formato da cloni dello smartphone possibilmente vitaminizzati? Vediamone i passi, aiutandoci con la seguente immagine:

Augmented strategy

 

  1. Un perfetto clone dello smartphone viene creato all'interno della nuvola.
  2. Lo stato del telefono locale è periodicamente sincronizzato con quello del clone (anche su richiesta).
  3. L'applicazione, o pezzi di essa, viene eseguita all'interno del clone.
  4. I risultati del clone sono nuovamente sincronizzati nello smartphone fisico.

Una possibile architettura che implementa tale processo potrebbe essere la seguente:

Augmented strategy

Nello smartphone fisico si individuano due componenti (il Controller e il Replicator) che agiscono a livello di sistema operativo: il Replicator si occupa di sincronizzare i cambiamenti di stato del dispositivo locale verso il clone, mentre il Controller si occupa di invocare un'esecuzione remota di codice nel clone e di gestire i risultati che si otterranno. Per quanto riguarda i componenti che risiedono all'interno del clone troviamo un altro Replicator, che agisce in maniera speculare a quello nel device fisico, e l'Augmenter, incaricato di eseguire il codice proveniente dallo smartphone reale e di restituire i risultati al Controller.

Tutto quanto sopra esposto non è semplice teoria: per la sperimentazione i ricercatori Intel hanno già implementato parte dell'architettura su dispositivi con piattaforma Android. Ovviamente esistono ancora numerose questioni irrisolte che necessitano di ulteriore studio; tra questi troviamo:

  • L'individuazione in maniera efficace ed efficiente dei vari pezzi di software che hanno necessità di maggiore potenza computazionale e quindi destinati all'esecuzione nella nuvola. Si sta pensando alla creazione di un insieme di politiche, in maniera da scegliere in ciascun scenario la più adatta alla situazione.
  • La creazione di un meccanismo performante, sia in termini di occupazione di banda che di consumo della batteria, per effettuare la sincronizzazione.
  • La creazione di un meccanismo che possa governare correttamente e senza spreco di risorse l'esecuzione del software in un sistema distribuito.
  • L'elaborazione di un modo tramite il quale le applicazioni possano facilmente sfruttare delle risorse hardware virtuali.

Nonostante le difficoltà che indubbiamente si presentano, gli autori dello studio considerano enormi le opportunità che si aprono per i dispositivi mobili seguendo un approccio di questo tipo.

Per chi desiderasse approfondire l'argomento qui trovate il documento originale da cui è stato tratto questo articolo.

Sistema Operativo: 
Contenuto: 
Sezioni: 

Leggi Articolo »