Corrections to the italian version

This commit is contained in:
Claudio Maggioni 2018-06-13 14:32:49 +02:00
parent ddabf04fa0
commit 0ed18a59f8

155
main.tex
View file

@ -75,16 +75,18 @@
\begin{titlepage} \begin{titlepage}
\pagenumbering{gobble} \pagenumbering{gobble}
\centering \centering
\includesvg[width=0.3\textwidth]{images/logo}\par\vspace{1.5cm} \includesvg[width=0.3\textwidth]{images/logo}\par\vspace{1cm}
{\scshape\LARGE Istituto di Istruzione Superiore \mbox{``A. Badoni''}\par} {\scshape\LARGE Istituto di Istruzione Superiore \mbox{``A. Badoni''}\par}
\vspace{1cm} \vspace{1cm}
{\scshape\Large Tesi di maturità\par} {\scshape\Large Indirizzo ``Informatica e Telecomunicazioni''\par}
\vspace{1.5cm} \vspace{2cm}
{\huge\bfseries\mdtitle\par} {\huge\bfseries\mdtitle\par}
\vspace{0.75cm} \vspace{0.75cm}
{\Large\bfseries\mdsubtitle\par} {\Large\bfseries\mdsubtitle\par}
\vspace{2cm} \vspace{2cm}
{\Large\itshape\mdauthor\par} {\Large Tesi di maturità di\par}
{\vspace{0.5cm}}
{\Large\itshape\mdauthor\par}
\vfill \vfill
% Bottom of the page % Bottom of the page
{\large\mddate\par} {\large\mddate\par}
@ -157,14 +159,15 @@
In generale sviluppo i progetti da solo. Collaboro con il collega Daniele In generale sviluppo i progetti da solo. Collaboro con il collega Daniele
Crippa per l'interfacciamento con i software aziendali esistenti e per Crippa per l'interfacciamento con i software aziendali esistenti e per
l'organizzazione di nuovi progetti, nonché per consigli vari. l'organizzazione di nuovi progetti, nonché per ricevere da lui consigli utili
per migliorare le mie competenze.
Nonostante non abbia controllo totale \`e comunque mia responsabilità fare Nonostante non abbia controllo totale \`e comunque mia responsabilità fare
stime orarie sul lavoro da svolgere nonché definire passi e \textit{milestone} stime orarie sul lavoro da svolgere nonché definire passi e \textit{milestone}
per i vari progetti. per i vari progetti.
Per aumentare la forza lavoro per lo sviluppo di applicazioni \textit{mobile} Per aumentare la forza lavoro per lo sviluppo di applicazioni \textit{mobile}
ho coordinato momenti di formazione ad alcuni dipendenti nei quali ho mostrato ho coordinato momenti di formazione per alcuni dipendenti nei quali ho mostrato
il principale funzionamento delle tecnologie che uso. il principale funzionamento delle tecnologie che uso.
\end{it} \end{it}
\begin{en} \begin{en}
@ -177,8 +180,8 @@
In general, I work on the tasks assigned to me alone. I sometimes work with my In general, I work on the tasks assigned to me alone. I sometimes work with my
colleague Daniele Crippa in order to interface my projects' code with the colleague Daniele Crippa in order to interface my projects' code with the
existing products from the company, to plan new projects, and for suggestions existing products from the company, to plan new projects, and for recieving
in general. suggestions aimed to increase my skills.
Even though I do not have total control on the projects I work on, I Even though I do not have total control on the projects I work on, I
am still responsible for defining development milestones and making am still responsible for defining development milestones and making
@ -199,11 +202,11 @@
alle seguenti sezioni: alle seguenti sezioni:
\begin{description} \begin{description}
\item[Ordini cliente] per registrare ordini di prodotti a clienti; \item[Ordini cliente{\normalfont,}] per registrare ordini di prodotti a clienti;
\item[Soggetti] per consultare informazioni anagrafiche di clienti e fornitori; \item[Soggetti{\normalfont,}] per consultare informazioni anagrafiche di clienti e fornitori;
\item[Agenda] per consultare e aggiungere eventi nel calendario presente \item[Agenda{\normalfont,}] per consultare e aggiungere eventi nel calendario presente
nell'ERP, il quale si pu\`o integrare con \textit{Outlook}; nell'ERP, il quale si pu\`o integrare con \textit{Outlook};
\item[Magazzini] gestire e inventariare scorte in magazzino. \item[Magazzini{\normalfont,}] gestire e inventariare scorte in magazzino.
\end{description} \end{description}
In aggiunta, sarà possibile anche registrare le ore per interventi in In aggiunta, sarà possibile anche registrare le ore per interventi in
@ -226,12 +229,12 @@
within the following areas: within the following areas:
\begin{description} \begin{description}
\item[Customers' orders] for registering the products customers may order; \item[Customers' orders{\normalfont,}] for registering the products customers may order;
\item[Customers and suppliers] for looking up data record of customers and \item[Customers and suppliers{\normalfont,}] for looking up data record of customers and
suppliers; suppliers;
\item[Calendar] for viewing and editing events on the ERP calendar, synchronizable \item[Calendar{\normalfont,}] for viewing and editing events on the ERP calendar, synchronizable
with \textit{Outlook}; with \textit{Outlook};
\item[Warehouses] for managing warehouses and inventories. \item[Warehouses{\normalfont,}] for managing warehouses and inventories.
\end{description} \end{description}
In addition to what specified above, users will be able to register working In addition to what specified above, users will be able to register working
@ -347,12 +350,12 @@
gioco di parole sull'acronimo REST.} viene importata gioco di parole sull'acronimo REST.} viene importata
come una normale dipendenza Maven\cite{maven:website}. Essa dipende da: come una normale dipendenza Maven\cite{maven:website}. Essa dipende da:
\begin{description} \begin{description}
\item[Hibernate ORM\cite{hibernate:website}] un famoso Object/Relation \item[Hibernate ORM\cite{hibernate:website}{\normalfont,}] un famoso Object-Relation
Mapper\cite{wiki:orm} per Java, utile ad interrogare il database Mapper\cite{wiki:orm} per Java, utile ad interrogare il database
\textit{PostgreSQL} con facilità; \textit{PostgreSQL} con facilità;
\item[GSON\cite{gson:website}] una libreria di Google per serializzare \item[GSON\cite{gson:website}{\normalfont,}] una libreria di Google per serializzare
e deserializzare oggetti Java in JSON; e deserializzare oggetti Java in JSON;
\item[Jersey\cite{jersey:website}] un'implementazione dell'API JAX-RS \item[Jersey\cite{jersey:website}{\normalfont,}] un'implementazione dell'API JAX-RS
per realizzare gli endpoint REST. Ciò avviene senza servlet ma tramite per realizzare gli endpoint REST. Ciò avviene senza servlet ma tramite
semplici metodi contenuti in classi senza ``padre'' dette \textit{controller}, semplici metodi contenuti in classi senza ``padre'' dette \textit{controller},
opportunamente decorati con le annotazioni nel package opportunamente decorati con le annotazioni nel package
@ -363,7 +366,7 @@
semplificate dal codice contenuto in \textit{restaurant} su due livelli: semplificate dal codice contenuto in \textit{restaurant} su due livelli:
\begin{itemize} \begin{itemize}
\item È possibile eseguire normali operazioni di CRUD\cite{wiki:crud} \item È possibile eseguire normali operazioni di CRUD\cite{wiki:crud}
nonchè costruire manualmente query tramite i metodi statici della classe nonch\'e costruire manualmente query tramite i metodi statici della classe
\textit{CRUDUtils}, che lavorano in input e in output con istanze delle \textit{CRUDUtils}, che lavorano in input e in output con istanze delle
classi ``entità'' registrate nell'ORM; classi ``entità'' registrate nell'ORM;
\item Inoltre, è possibile creare nuovi \textit{controller} con facilità \item Inoltre, è possibile creare nuovi \textit{controller} con facilità
@ -387,12 +390,12 @@
as a normal Maven\cite{maven:website} dependency. It requires the as a normal Maven\cite{maven:website} dependency. It requires the
following dependencies: following dependencies:
\begin{description} \begin{description}
\item[Hibernate ORM\cite{hibernate:website}] a famous Java Object/Relation \item[Hibernate ORM\cite{hibernate:website}{\normalfont,}] a famous Java Object/Relation
Mapper\cite{wiki:orm}, used to query the \textit{PostgreSQL} database Mapper\cite{wiki:orm}, used to query the \textit{PostgreSQL} database
with ease; with ease;
\item[GSON\cite{gson:website}] a library from Google for serializing and \item[GSON\cite{gson:website}{\normalfont,}] a library from Google for serializing and
deserializing Java object in JSON; deserializing Java object in JSON;
\item[Jersey\cite{jersey:website}] an implementation of the API JAX-RS \item[Jersey\cite{jersey:website}{\normalfont,}] an implementation of the API JAX-RS
for creating REST endpoints, not through servlets but using for creating REST endpoints, not through servlets but using
simple methods contained in plain classes, called \textit{controllers}, simple methods contained in plain classes, called \textit{controllers},
decorated with the annotations contained in the package \texttt{javax.ws.rs}. decorated with the annotations contained in the package \texttt{javax.ws.rs}.
@ -480,7 +483,7 @@ public abstract class JsonProducer {
\end{lstlisting} \end{lstlisting}
\begin{it} \begin{it}
Per una migliore lettura del listato \ref{lst:jsonprd-java}, si precisa che la Per una migliore lettura del listato \ref{lst:jsonprd-java}, si precisa che la
classe \textit{Error} è una enumerazione Java contenente messaggi di errore classe \textit{Error} è un'enumerazione Java contenente messaggi di errore
standard. La classe \textit{ErrorDetails}, invece, permette al codice esterno standard. La classe \textit{ErrorDetails}, invece, permette al codice esterno
di realizzare messaggi di errore personalizzati. Inoltre, l'oggetto statico di realizzare messaggi di errore personalizzati. Inoltre, l'oggetto statico
\texttt{GSON} di classe \textit{Gson} è il serializzatore a JSON offerto dalla \texttt{GSON} di classe \textit{Gson} è il serializzatore a JSON offerto dalla
@ -672,7 +675,7 @@ public abstract class CRUDRESTController<T extends CRUDable, U extends
\end{lstlisting} \end{lstlisting}
\begin{it} \begin{it}
Si precisa che la classe \textit{CRUDable} è un estensione della classe Si precisa che la classe \textit{CRUDable} è un'estensione della classe
\textit{Readable} che contiene metodi per l'inizializzazione dell'oggetto \textit{Readable} che contiene metodi per l'inizializzazione dell'oggetto
sulla base di dati in input, contenuti in \textit{MultivaluedMap<String, sulla base di dati in input, contenuti in \textit{MultivaluedMap<String,
String>}. Di conseguenza, le classi ``entità'' che estendono \textit{CRUDable} String>}. Di conseguenza, le classi ``entità'' che estendono \textit{CRUDable}
@ -829,10 +832,10 @@ public abstract class CRUDUtils {
\begin{it} \begin{it}
\subsubsection{\textit{restaurant} -- lato client} \subsubsection{\textit{restaurant} -- lato client}
La parte client della libreria \textit{restaurant} è implementata con il La parte \textit{client} della libreria \textit{restaurant} è implementata con il
linguaggio \textit{TypeScript}, un'estensione di \textit{Javascript} linguaggio \textit{TypeScript}, un'estensione di \textit{Javascript}
che aggiunge tipizzazione statica, i classici costrutti della programmazione che aggiunge tipizzazione statica, costrutti classici della programmazione
ad oggetti, nonchè il supporto alle generiche. Segue il listato dell'interfaccia della ad oggetti, nonch\'e supporto alle generiche. Segue il listato dell'interfaccia della
classe \textit{RESTService}, la quale contiene metodi statici per comunicare classe \textit{RESTService}, la quale contiene metodi statici per comunicare
con il server asincronamente tramite istanze di classi ``entità'', cioè classi con il server asincronamente tramite istanze di classi ``entità'', cioè classi
figlie della classe astratta \textit{Table}. figlie della classe astratta \textit{Table}.
@ -1085,15 +1088,15 @@ export class RESTService {
\begin{description} \begin{description}
\item[Progettazione] delineazione delle funzionalità da implementare \item[Progettazione{\normalfont,}] delineazione delle funzionalità da implementare
nell'applicazione e prime bozze dell'interfaccia utente; nell'applicazione e prime bozze dell'interfaccia utente;
\item[Implementazione \textit{restaurant}] implementazione della libreria su \item[Implementazione \textit{restaurant}{\normalfont,}] implementazione della libreria su
cui si basano tutte le sezioni del programma. Vista l'importanza di questo cui si basano tutte le sezioni del programma. Vista l'importanza di questo
componente, gli sviluppi vengono continuati in parallelo con componente, gli sviluppi vengono continuati in parallelo con
l'implementazione delle sezioni; l'implementazione delle sezioni;
\item[Implementazione sezioni] creazione di interfaccia e logica per le \item[Implementazione sezioni{\normalfont,}] creazione di interfaccia e logica per le
funzionalit\'a previste, cio\'e: funzionalit\'a previste, cio\'e:
\begin{itemize} \begin{itemize}
\item Magazzini; \item Magazzini;
@ -1102,19 +1105,19 @@ export class RESTService {
\item Ordini cliente; \item Ordini cliente;
\end{itemize} \end{itemize}
\item[Test per le sezioni] collaudo degli algoritmi e della UI per \item[Test per le sezioni{\normalfont,}] collaudo degli algoritmi e della UI per
efficacia ed efficienza, nonch\'e eventuali correzioni; efficacia ed efficienza, nonch\'e eventuali correzioni;
\item[Rifinimento \textit{restaurant}] collaudo delle scelte \item[Rifinimento \textit{restaurant}{\normalfont,}] collaudo delle scelte
architetturali e algoritmi usati nella libreria e rifinimento di essi; architetturali e algoritmi usati nella libreria e rifinimento di essi;
Fase divisa in: Fase divisa in:
\begin{description} \begin{description}
\item[Miglioramento architettura] analisi del protocollo per individuare \item[Miglioramento architettura{\normalfont,}] analisi del protocollo per individuare
punti di debolezza e possibili ottimizzazioni; punti di debolezza e possibili ottimizzazioni;
\item[Test per \textit{restaurant}] messa alla prova dei cambiamenti fatti; \item[Test per \textit{restaurant}{\normalfont,}] messa alla prova dei cambiamenti fatti;
\end{description} \end{description}
\item[Finalizzazione] task finali del progetto, tra cui branding, operazioni \item[Finalizzazione{\normalfont,}] task finali del progetto, tra cui branding, operazioni
pre-rilascio, e gestione di eventuali personalizzazioni richieste dai clienti. pre-rilascio, e gestione di eventuali personalizzazioni richieste dai clienti.
\end{description} \end{description}
@ -1127,13 +1130,13 @@ export class RESTService {
\begin{description} \begin{description}
\item[Planning] features definition and first drafts of the user interface; \item[Planning{\normalfont,}] features definition and first drafts of the user interface;
\item[\textit{restaurant} implementation] implementation of the library on \item[\textit{restaurant} implementation{\normalfont,}] implementation of the library on
which all the sections are based. Given the importance of this component, which all the sections are based. Given the importance of this component,
it is developed concurrently with the sections; it is developed concurrently with the sections;
\item[Sections implementation] creation of user interface and business logic \item[Sections implementation{\normalfont,}] creation of user interface and business logic
for all the features planned, which are: for all the features planned, which are:
\begin{itemize} \begin{itemize}
\item Warehouses; \item Warehouses;
@ -1142,19 +1145,19 @@ export class RESTService {
\item Customers' orders; \item Customers' orders;
\end{itemize} \end{itemize}
\item[Sections testing] trial of algorithms and UI to achieve effectiveness \item[Sections testing{\normalfont,}] trial of algorithms and UI to achieve effectiveness
and efficiency and possible adjustments; and efficiency and possible adjustments;
\item[\textit{restaurant} improvement] trial of architectural choices and \item[\textit{restaurant} improvement{\normalfont,}] trial of architectural choices and
algorithms used inside the library, with improvement of the last ones. algorithms used inside the library, with improvement of the last ones.
This phase is divided in: This phase is divided in:
\begin{description} \begin{description}
\item[Architecture revising] analisys of the protocol aimed to find weak \item[Architecture revising{\normalfont,}] analisys of the protocol aimed to find weak
points and possible optimisations; points and possible optimisations;
\item[\textit{restaurant} testing] trial of the changes implemented before; \item[\textit{restaurant} testing{\normalfont,}] trial of the changes implemented before;
\end{description} \end{description}
\item[Finalisation] collection of final tasks, including branding, pre-release \item[Finalisation{\normalfont,}] collection of final tasks, including branding, pre-release
operations and possible development of per-customer customizations. operations and possible development of per-customer customizations.
\end{description} \end{description}
@ -1210,23 +1213,23 @@ Since this project was urgent for the customer, development on \textit{InteGRa
\end{figure} \end{figure}
\begin{it} \begin{it}
\textit{Guac Remote} è basata su un'applicativo e libreria per la connessione \textit{Guac Remote} è basata su un applicativo e libreria per la connessione
a computer remoto chiamato \textit{Apache Guacamole}\cite{guacamole:website}. a computer remoto chiamato \textit{Apache Guacamole}\cite{guacamole:website}.
Tale software è costituito da due parti:\cite{guacdoc:arch} Tale software è costituito da due parti:\cite{guacdoc:arch}
\begin{description} \begin{description}
\item[\textit{guacamole-server} (o \textit{guacd})] un servizio scritto \item[\textit{guacamole-server} (o \textit{guacd}){\normalfont,}] un servizio scritto
in C che funge da adattatore tra il protocollo \textit{guacamole} e i in C che funge da adattatore tra il protocollo \textit{guacamole} e i
protocolli VNC, RDP o SSH, utilizzando questi ultimi per stabilire connessioni protocolli VNC, RDP o SSH, utilizzando questi ultimi per stabilire connessioni
con gli host remoti; con gli host remoti;
\item[\textit{guacamole-client}] una WebApplication scritta tramite \item[\textit{guacamole-client}{\normalfont,}] una WebApplication scritta tramite
\textit{Java servlet} che fornisce un'interfaccia web per interagire con \textit{Java servlet} che fornisce un'interfaccia web per interagire con
\textit{guacamole-server} e connettersi ai PC remoti. \textit{guacamole-server} e connettersi ai PC remoti.
\end{description} \end{description}
Data la natura open-source del progetto, sia \textit{guacamole-server} che Data la natura open-source del progetto, sia \textit{guacamole-server} che
\textit{guacamole-client} possono essere usati come libreria per la \textit{guacamole-client} possono essere usati come libreria per la
realizzazione di software derivati. In particolare, \textit{guacamole-client} realizzazione di software derivati. In particolare, \textit{guacamole-client}
può essere scomposto nelle librerie \textit{guacamole-common-js}, che contiene può essere scomposto nella libreria \textit{guacamole-common-js}, che contiene
il codice Javascript per il client, e \textit{guacamole-common}, che fornisce il codice Javascript per il client, e in quella \textit{guacamole-common}, che fornisce
classi Java per la connessione con \textit{guacamole-server}\cite{guacdoc:api}. classi Java per la connessione con \textit{guacamole-server}\cite{guacdoc:api}.
In \textit{Guac Remote}, \textit{Apache Guacamole} è usato per fornire accesso In \textit{Guac Remote}, \textit{Apache Guacamole} è usato per fornire accesso
@ -1247,11 +1250,11 @@ Since this project was urgent for the customer, development on \textit{InteGRa
connectivity named \textit{Apache Guacamole}\cite{guacamole:website}. This connectivity named \textit{Apache Guacamole}\cite{guacamole:website}. This
software is a combination of two components:\cite{guacdoc:arch} software is a combination of two components:\cite{guacdoc:arch}
\begin{description} \begin{description}
\item[\textit{guacamole-server} (a.k.a. \textit{guacd})] a daemon written \item[\textit{guacamole-server} (a.k.a. \textit{guacd}){\normalfont,}] a daemon written
in C which takes the role of an adapter between the \textit{guacamole} in C which takes the role of an adapter between the \textit{guacamole}
protocol and the VNC, RDP and SSH protocols, using the last ones to connect protocol and the VNC, RDP and SSH protocols, using the last ones to connect
to the remote hosts; to the remote hosts;
\item[\textit{guacamole-client}] a Web Application written with \textit{Java \item[\textit{guacamole-client}{\normalfont,}] a Web Application written with \textit{Java
Servlets} that offers a web interface for interacting with Servlets} that offers a web interface for interacting with
\end{description} \end{description}
\textit{guacamole-server} and to connect with remote PCs. \textit{guacamole-server} and to connect with remote PCs.
@ -1351,7 +1354,7 @@ Since this project was urgent for the customer, development on \textit{InteGRa
\end{figure} \end{figure}
\begin{it} \begin{it}
Questo progetto non ha avuto ritardi. L'applicazione \'e stata Questo progetto non ha avuto ritardi: l'applicazione è stata
mostrata in demo il giorno 29/03 e consegnata il giorno 1/6. mostrata in demo il giorno 29/03 e consegnata il giorno 1/6.
Il cliente si ritiene soddisfatto del lavoro fatto. Il cliente si ritiene soddisfatto del lavoro fatto.
\end{it} \end{it}
@ -1372,29 +1375,29 @@ Since this project was urgent for the customer, development on \textit{InteGRa
diagramma della figura \ref{fig:ganttargos}, sono: diagramma della figura \ref{fig:ganttargos}, sono:
\begin{description} \begin{description}
\item[Incontro con il cliente] primo scambio di informazioni per capire gli \item[Incontro con il cliente{\normalfont,}] primo scambio di informazioni per capire gli
obiettivi del progetto; obiettivi del progetto;
\item[Realizzazione primo prototipo] dimostrazione dell'efficacia del protocollo \item[Realizzazione primo prototipo{\normalfont,}] dimostrazione dell'efficacia del protocollo
\textit{guacamole} tramite un prototipo del prodotto; \textit{guacamole} tramite un prototipo del prodotto;
\item[Prima demo al cliente] demo del prototipo al cliente; \item[Prima demo al cliente{\normalfont,}] demo del prototipo al cliente;
\item[Stime orarie per sviluppi futuri] delineazione della tabella di marcia per \item[Stime orarie per sviluppi futuri{\normalfont,}] delineazione della tabella di marcia per
gli sviluppi futuri; gli sviluppi futuri;
\item[Implementazione richieste del cliente] sviluppo delle estensioni al \item[Implementazione richieste del cliente{\normalfont,}] sviluppo delle estensioni al
protocollo richieste. Nel dettaglio, esse sono: protocollo richieste. Nel dettaglio, esse sono:
\begin{description} \begin{description}
\item[Apertura tastiera e zoom al ``focus'' di un input] alla pressione di un \item[Apertura tastiera e zoom al ``focus'' di un input{\normalfont,}] alla pressione di un
campo di testo, l'applicazione \textit{mobile} deve automaticamente ingrandire campo di testo, l'applicazione \textit{mobile} deve automaticamente ingrandire
l'area selezionata e mostrare una tastiera; l'area selezionata e mostrare una tastiera;
\item[Input tramite tastiera nativa Android o iOS] sostituzione della tastiera \item[Input tramite tastiera nativa Android o iOS{\normalfont,}] sostituzione della tastiera
su schermo di \textit{guacamole-common-js} con quella nativa; su schermo di \textit{guacamole-common-js} con quella nativa;
\item[Scroll a due dita] supporto della gesture di scroll verticale a due dita; \item[Scroll a due dita{\normalfont,}] supporto della gesture di scroll verticale a due dita;
\item[Interfaccia di configurazione] creazione di una piccola finestra di \item[Interfaccia di configurazione{\normalfont,}] creazione di una piccola finestra di
configurazione, in cui inserire IP e porta del PC; configurazione, in cui inserire IP e porta del PC;
\end{description} \end{description}
\item[Demo al cliente] dimostrazione degli sviluppi fatti al cliente e eventuale \item[Demo al cliente{\normalfont,}] dimostrazione degli sviluppi fatti al cliente ed eventuale
definizione di richieste aggiuntive; definizione di richieste aggiuntive;
\item[Implementazione delle richieste aggiuntive del cliente] \item[Implementazione delle richieste aggiuntive del cliente{\normalfont,}]
\item[Consegna] operazioni finali del progetto, tra cui branding e compilazione \item[Consegna{\normalfont,}] operazioni finali del progetto, tra cui \textit{branding} e compilazione
per rilascio. per rilascio.
\end{description} \end{description}
\end{it} \end{it}
@ -1403,29 +1406,29 @@ Since this project was urgent for the customer, development on \textit{InteGRa
figure \ref{fig:ganttargos}, are listed below. figure \ref{fig:ganttargos}, are listed below.
\begin{description} \begin{description}
\item[Meeting with the customer] first information exchange aimed to \item[Meeting with the customer{\normalfont,}] first information exchange aimed to
establish the project targets; establish the project targets;
\item[Development of the first prototype] demonstration of \item[Development of the first prototype{\normalfont,}] demonstration of
\textit{guacamole} as an effective protocol through a prototype; \textit{guacamole} as an effective protocol through a prototype;
\item[First demo to the customer] prototype demo with the customer; \item[First demo to the customer{\normalfont,}] prototype demo with the customer;
\item[Time estimates for future development] creation of the future development \item[Time estimates for future development{\normalfont,}] creation of the future development
schedule; schedule;
\item[Implementation of the features required by the customer] development \item[Implementation of the features required by the customer{\normalfont,}] development
of the requested protocol extensions, which are listed below. of the requested protocol extensions, which are listed below.
\begin{description} \begin{description}
\item[Keyboard opening with zoom on input focus] when an input field is \item[Keyboard opening with zoom on input focus{\normalfont,}] when an input field is
pressed, the mobile app must automatically zoom on the selected area and pressed, the mobile app must automatically zoom on the selected area and
open a keyboard; open a keyboard;
\item[Input through native iOS or Android keyboard] substitution of the \item[Input through native iOS or Android keyboard{\normalfont,}] substitution of the
keyboard included with \textit{guacamole-common-js} with the native one; keyboard included with \textit{guacamole-common-js} with the native one;
\item[Two-finger scroll] support for vertical two-finger scrolling; \item[Two-finger scroll{\normalfont,}] support for vertical two-finger scrolling;
\item[Settings page] creation of a small configuration panel, needed to \item[Settings page{\normalfont,}] creation of a small configuration panel, needed to
enter the PC's IP address and port number; enter the PC's IP address and port number;
\end{description} \end{description}
\item[Demo to the customer] meeting aimed to show the work done and to \item[Demo to the customer{\normalfont,}] meeting aimed to show the work done and to
establish possible additional requests; establish possible additional requests;
\item[Implementation of additional requests from the customer] \item[Implementation of additional requests from the customer{\normalfont,}]
\item[Delivery] final operations for the project, including branding and \item[Delivery{\normalfont,}] final operations for the project, including branding and
release compilation. release compilation.
\end{description} \end{description}
\end{en} \end{en}