[PLUTO-ildp] Prima parte di traduzione

Vitantonio Messa vitantonio.messa a gmail.com
Gio 12 Lug 2007 18:49:00 CEST


Ciao a tutti,
come mi era stato suggerito di fare, riporto l'inizio della mia 
traduzione... aspetto critiche/consigli/suggerimenti.

Vito



----------
Designing Integrated High Quality Linux Applications

1. Introduction
Linux is becoming more and more popular, and many Software vendors are 
porting their products from other platformas. This document (article) 
tries to clarify some issues and give tips on how to create Linux 
applications highly integrated to the Operating System, security and 
easy of use.
The examples run on Red Hat Linux, and should be compatible with other 
distributions based on Red Hat (Conectiva, Turbolinux, Caldera, PLD, 
Mandrake, etc).

2. User Friendly: Guaranteed Success
The user-friendly concept is missassociated with a good GUI (graphical 
user interface). In fact, it is much more than that. In systems like 
Linux (with more server-like characteristics), the user measures how 
easy a Software is, mainly in the installation and initial 
configuration. He can even forget how easy were to install and use a 
certain product, but it will never forget that a Software package has a 
complex configuration and installation process. A migration or new 
installation allways will be a nightmare, making the user avoid it.

2.1. Embrace the Install-and-Use Paradigm
Imagine you'll install that expansive product your company bought from 
ACME, and realized you'll have to do the following:
   1. To have a manual that shows the installation process step-by-step. 
We know that a manual is the last thing the user reads
   2. Read some README files
   3. Uncompress huge files in your disk (after downloading them from 
net our CD), to create the installation environment
   4. Read more README files that appeared in the installation environment
   5. Comprehend that the installation requires you to execute in a 
special way some provided script (the inconvenient ./install.sh)
   6. Uncomfortably answer some questions that the script does, like 
target directory, user for the installation, etc. To make it worse, it 
frequently happens in a terminal that has a missconfigured backspace
   7. After the installation, configure some environment variables in 
your profile, like $PATH, $LIBPATH, $ACMEPROGRAM_DATA_DIR, 
$ACMEPROGRAM_BIN_DIR, etc
   8. Edit OS files to include the presence of the new product (e.g. 
/etc/inetd.conf, /etc/inittab)
   9. And the worse: Change security permissions of OS directories and 
files to let the product run OK

Sounds familiar? Who never faced this sad situation, that inducts the 
user to make mistakes? If your products' installation process sound like 
Uncompress-Copy-Configure-ConfigureMore-Use, like this one, you have a 
problem, and the user won't like it.
Users like to feel that your Product integrates well with the OS. You 
should not demand that the OS adapt himself to your Product (changing 
environment variables, etc). It must let the user Install-and-Use.
The Install-And-Use glory is easily achieved using a 3 ingredients receipt:
   1. Understanding the Four Universal Parts of Any Software
   2. Understanding how they are related to Linux's directory hierarchy
   3. Aggressively use a package system, for process automation and 
leverage first items. In our case is RPM.
We'll discuss here what are these ingredients and how to implement them.

----------
Progettare applicazioni ad alta qualità integrate in Linux

1. Introduzione
Linux diventa sempre più popolare e molti produttori di software migrano 
i loro prodotti da altre piattaforme. Questo documento (articolo) cerca 
di chiarire alcuni problemi e dà consigli su come creare applicazioni 
Linux altamente integrate nel Sistema Operativo, sulla sicurezza e sulla 
facilità d'uso.
Gli esempi sono eseguiti su Red Hat Linux e dovrebbero essere 
compatibili con altre distribuzioni basate su Red Hat (Conectiva, 
Turbolinux, Caldera, PLD, Mandrake, etc).

2. Semplicità d'uso: successo garantito
La semplicità d'uso è un concetto erroneamente associato a quello di una 
buona interfaccia grafica (GUI). In effetti, è molto di più. In sistemi 
come Linux (con più caratteristiche simili ai server), l'utente misura 
quanto un software sia semplice principalmente durante la fase di 
installazione e quella di configurazione iniziale. L'utente può anche 
dimenticare quanto sia stato facile installare ed usare un certo 
prodotto, ma non dimenticherà certamente un software con un processo di 
configurazione ed installazione complicati. Migrazioni o nuove 
installazioni saranno sempre un incubo, invogliando l'utente ad evitarle.

2.1. Abbracciare il paradigma Installa-e-Usa
Immaginare l'installazione di un constoso prodotto che l'azienda ha 
acquistato da ACME, ed accorgersi che bisogna:
   1. Avere un manuale che spieghi il processo di installazione passo 
per passo. E` noto che il manuale è l'ultima cosa che l'utente legge
   2. Leggere alcuni file README
   3. Decomprimere grandi file su disco rigido (dopo averli scaricati da 
rete o da CD), per creare l'ambiente di installazione
   4. Leggere altri file README che compaiono nell'ambiente di installazione
   5. Comprendere che l'installazione richiede di eseguire in un modo 
specifico alcuni script forniti (lo scomodo ./install.sh)
   6. Rispondere scomodamente ad alcune domande che lo script pone, come 
la cartella d'installazione, l'utente che utilizzerà il software, etc. 
Per peggiorare il tutto, questo accade spesso in un terminale con il 
tasto cancella malconfigurato
   7. Dopo l'installazione, configurare alcune variabili d'ambiente nel 
profilo utente, come $PATH, $LIBPATH, $ACMEPROGRAM_DATA_DIR, 
$ACMEPROGRAM_BIN_DIR, etc
   8. Modificare file del SO per includere la presenza del nuovo 
software (ad es. /etc/inetd.conf, /etc/inittab)
   9. Infine la situazione peggiore: dover cambiare permessi di 
sicurezza a cartelle e file del SO per far funzionare correttamente il 
software
Suona famialiare? Chi non si è mai imbattuto in questa spiacevole 
situazione, che induce l'utente a fare errori? Se il processo di 
installazione del prodotto ricalca il percorso 
Decomprimi-Copia-Configura-ConfiguraAncora-Usa, come questo esempio, ci 
sono problemi, ed l'utente non apprezzerà il software.
All'utente piace l'idea che il prodotto si integri bene con il Sistema 
Operativo. Non si dovrebbe chiedere al SO di adattarsi al prodotto 
(cambiando variabili d'ambiente, etc). Il prodotto deve essere 
Installa-e-Usa.
La gloria dell'Installa-e-Usa è facilmente ottenuta con una ricetta a 3 
ingredienti:
   1. Capire le quattro componenti universali di ogni software
   2. Capire come sono legate alla gerarchia delle cartelle di Linux
   3. Usare fortemente un sistema di impacchettamento, per l'automazione 
del processo e per usare a proprio vantaggio i primi due punti. In 
questa guida sarà RPM.
Segue una descrizione di cosa sono questi ingredienti e di come 
implementarli.




Maggiori informazioni sulla lista pluto-ildp