computerCode

15 06 2009

This is a small software with his flow chart, created using Action Script 2, for the fourth part of the assignment of Interaction course, by Yaniv Steiner.

flow-button

To see the application, click on this button…(In the page of Screencast there is an attachment with the code of the software).

copertina2





Academic article

7 06 2009

Realizzare un’applicazione per l’iPhone, il nuovo telefono multimediale sviluppato da Apple, prevede una serie di passi più o meno complessi. Bisogna innanzitutto partire dalla scelta di un concept, cioè il concetto che vogliamo sviluppare all’interno dell’applicazione.

Il secondo passo consiste nel realizzare il flow chart. Questo è la visualizzazione grafica di un problema complesso che viene scomposto in una serie logica di passaggi elementari, che devono essere esplicitati in modo chiaro ed univoco senza creare ambiguità nella dichiarazione delle istruzioni da eseguire. Viene utilizzato in molti campi, ma è soprattutto in Informatica che trova la maggiore applicazione, per rappresentare graficamente i programmi, che poi devono essere implementati in un codice dal programmatore. I passaggi all’interno del flow sono rappresentati attraverso nodi in una struttura ad albero. Ogni nodo è collegato al precedente e al successivo attraverso connessioni che indicano la successione logica e, tendenzialmente, ognuno di essi può essere rappresentato in forme differenti secondo l’istruzione che contiene al suo interno: ad esempio un’ellisse per l’inizio e la fine, un rettangolo per l’istruzione semplice o un rombo per la scelta tra diverse alternative. Imparare questo mezzo è utilissimo quando si vuole ad esempio creare un sito web, per cercare di trovare l’organizzazione adatta alla comunicazione che s’intende fare.

Il flow di iPhault, l’applicazione realizzata durante il corso di Interaction, deriva da quello creato per l’applicazione Magic Card, costituito da quattro passaggi, in cui le istruzioni si eseguono in sequenza lineare. Dall’avvio dell’applicazione che avviene attraverso un click sull’icona, per pochi secondi compare sul display lo Splash. Dopodiché si visualizzerà un’immagine statica fino a quando il sensore di movimento, dell’iPhone stesso, non avvertirà una vibrazione che farà apparire sullo schermo una nuova immagine.

Nel nostro flow abbiamo modificato la fine poiché iPhault, una volta che il sensore avverte il movimento, invece dell’immagine finale, farà comparire una serie di immagini in successione in modo da simulare un piccolo video. Realizzandolo abbiamo capito come si scompone un’applicazione in passaggi semplici, quali sono tutte le immagini che poi sarebbero dovute essere visualizzate e quindi disegnate, quali informazioni era necessario evidenziare per far in modo che chi implementa in seguito la nostra applicazione lo faccia senza tralasciare niente. Un esempio di elementi utili al programmatore sono ad esempio le scritte”attendere pochi secondi”(tra lo Splash e l’immagine statica) o “rilevamento del movimento”(prima dell’avvio dell’animazione). È importante realizzare i flow evitando l’utilizzo della grafica ed evidenziando solo i passaggi logici poichè è solo di questi che il programmatore ha bisogno per il suo lavoro. È utilissimo imparare questo mezzo oltre che per questo scopo anche per l’organizzazione di un sito o per l’organizzazione di un testo il cui scopo è la comunicazione di un concetto.

A questo punto è necessario disegnare le immagini che saranno visualizzate all’avvio dell’applicazione, l’eventuale splash e l’icona di avvio. Realizzare queste parti richiede la massima attenzione perché è attraverso l’interfaccia che s’identifica il prodotto. È, infatti, solo tramite questa che la persona interagisce con il prodotto, dipende da essa se l’utilizzo risulta semplice o complesso, è tramite questa se un prodotto viene apprezzato o detestato e di conseguenza acquistato o meno. È necessario quindi che l’interfaccia venga realizzata in modo che l’utilizzo risulti semplice e intuitivo: pensata per risolvere le esigenze dell’utente attraverso una grafica chiara in cui i comandi vengono esplicitati univocamente.

Una volta realizzate queste, è necessario creare il programma attraverso il codice di programmazione: un particolare linguaggio che la macchina è in grado di comprendere, pensato per creare dei software attraverso i quali si impartiscono istruzioni all’hardware che le deve eseguire. Apple utilizza per l’iPhone, xcode, un linguaggio molto complesso che può essere utilizzato solo dai suoi sistemi operativi. Scrivere un programma attraverso xcode richiede una grande pratica perché utilizza un linguaggio molto differente dagli altri, inoltre all’interno le istruzioni devono essere dichiarate dettagliatamente senza tralasciare nessun passaggio e ogni volta che si crea un documento si aprono numerosi file collegati che è difficile tenere sotto controllo. Più semplice risulterebbe utilizzare Action Script (il linguaggio utilizzato da Flash) che, a differenza, ha un’interfaccia molto chiara, apre nella stessa finestra sia la parte grafica sia quella scritta del programma, inoltre utilizza un linguaggio molto simile agli altri di modo che anche una persona poco esperta può avere un facile accesso. Allo stesso tempo, però, xcode è in grado di velocizzare la compilazione che avviene già durante la scrittura del programma e si possono tenere sotto controllo tutti i parametri.

A questo punto è necessario assegnare un nome all’applicazione per poterla presentare alla Apple Store per la pubblicazione. La Apple richiede inoltre quattro immagini di anteprima che mostrino il suo funzionamento(screenshots), un’altra immagine di 512×512 pixel e infine di stilare un breve testo di descrizione con un taglio commerciale, sottolineando le caratteristiche peculiari. Queste serviranno per creare la pagina di presentazione all’interno del sito iTunes Store dove l’utente potrà acquistarla.

Dopo aver completato il design della nostra nuova applicazione ci siamo accorti di avere inconsapevolmente violato un diritto di proprietà intellettuale. Per diritto di proprietà intellettuale, quasi in tutte le nazioni, s’intende il diritto che un soggetto (persona, azienda, ecc) esercita nei confronti di una sua creazione mentale o di una sua invenzione. Si possono elencare diversi tipi, ad esempio il brevetto, il marchio o il copyright. Il brevetto è la proprietà che l’ideatore di una nuova invenzione detiene per un certo periodo e obbliga chiunque volesse utilizzarla a richiederne preventivamente la licenza. Il marchio, invece, è il diritto che uno ha su un suo prodotto e viene utilizzato per cercare di differenziarlo sul mercato, mentre il copyright è il diritto che l’autore di un’opera esercita nella sua creazione per controllarne la riproduzione o il riattamento da parte di terzi. Violare questo diritto è punito dalla legge come plagio quando un soggetto utilizza delle cose create da altri, facendole passare per proprie.

È il copyright che noi abbiamo violato, perché per realizzare le immagini dell’animazione di iPhault, abbiamo utilizzato la fotografia dell’interfaccia dell’iPhone, di proprietà Apple. Nonostante quindi l’applicazione, dopo essere stata programmata da Yaniv Steiner, possa considerarsi pronta, ci troviamo nell’impossibilità di proporla per la pubblicazione perché verrà sicuramente rifiutata.

Per chi volesse specializzarsi nella creazione di nuove applicazioni o per chi volesse occuparsi di grafica per l’web, appare quasi scontata la conoscenza della programmazione. Altrettanto potrebbe non esserlo, invece, per gli altri campi del design, anche se il propagarsi dell’informatica in tutti gli ambiti renda ormai improbabile per un futuro designer sottrarsi a questa conoscenza. Nella progettazione in generale è, infatti, utile conoscere il limite da porre alla realizzazione di un progetto, per evitare di disegnare delle cose la cui programmazione risulta impossibile e non supportata dalla tecnologia. Inoltre siccome tutta la progettazione presto diventerà quasi esclusivamente digitale, un progettista potrebbe trovarsi di fronte alla necessità un giorno di doversi creare un nuovo plug-in o di modificare direttamente parti del software che utilizza.








Iscriviti

Get every new post delivered to your Inbox.