<HTML ><HEAD ><TITLE >Designing Integrated High Quality Linux Applications</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+ "><LINK REL="NEXT" TITLE="Introduction" HREF="intro.html"></HEAD ><BODY CLASS="article" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#840084" ALINK="#0000FF" ><DIV CLASS="ARTICLE" ><DIV CLASS="TITLEPAGE" ><H1 CLASS="title" ><A NAME="AEN2">Designing Integrated High Quality Linux Applications</H1 ><DIV CLASS="authorgroup" ><A NAME="AEN8"><H3 CLASS="author" ><A NAME="AEN9" >Avi Alkalay</A ></H3 ><DIV CLASS="affiliation" ><DIV CLASS="address" ><P CLASS="address" ><br> avi at br.ibm.com<br> avi at unix.sh<br> </P ></DIV ><SPAN CLASS="orgdiv" >Senior IT and Software Architect :: Linux Market Developer<BR></SPAN ><SPAN CLASS="orgname" >IBM Linux Impact Team :: <A HREF="http://ibm.com/linux" TARGET="_top" >ibm.com/linux</A ><BR></SPAN ></DIV ></DIV ><P CLASS="copyright" >Copyright © 2002 by Avi Alkalay</P ><P CLASS="pubdate" >v2.1, 2002-08-24<BR></P ><DIV CLASS="revhistory" ><TABLE WIDTH="100%" BORDER="0" ><TR ><TH ALIGN="LEFT" VALIGN="TOP" COLSPAN="3" ><B >Revision History</B ></TH ></TR ><TR ><TD ALIGN="LEFT" >Revision 2.1</TD ><TD ALIGN="LEFT" >24 Aug 2002</TD ><TD ALIGN="LEFT" >Revised by: avi</TD ></TR ><TR ><TD ALIGN="LEFT" COLSPAN="3" >Rewrite of the /opt /usr/local section.Cosmetics on graphical user interface and plugins sections.Fixed screens and programlistings width.</TD ></TR ><TR ><TD ALIGN="LEFT" >Revision 2.0</TD ><TD ALIGN="LEFT" >07 May 2002</TD ><TD ALIGN="LEFT" >Revised by: avi</TD ></TR ><TR ><TD ALIGN="LEFT" COLSPAN="3" >Final XML conversion. Files reorganization.</TD ></TR ><TR ><TD ALIGN="LEFT" >Revision 1.9.9</TD ><TD ALIGN="LEFT" >20 Apr 2002</TD ><TD ALIGN="LEFT" >Revised by: avi</TD ></TR ><TR ><TD ALIGN="LEFT" COLSPAN="3" >Included other document locations.</TD ></TR ><TR ><TD ALIGN="LEFT" >Revision 1.98</TD ><TD ALIGN="LEFT" >14 Apr 2002</TD ><TD ALIGN="LEFT" >Revised by: avi</TD ></TR ><TR ><TD ALIGN="LEFT" COLSPAN="3" >Title changed from "Creating" to "Designing".</TD ></TR ><TR ><TD ALIGN="LEFT" >Revision 1.97</TD ><TD ALIGN="LEFT" >09 Apr 2002</TD ><TD ALIGN="LEFT" >Revised by: avi</TD ></TR ><TR ><TD ALIGN="LEFT" COLSPAN="3" >Converted to XML 4.1.2, and started to use real XSLT. Spell checked the english version.</TD ></TR ><TR ><TD ALIGN="LEFT" >Revision 1.96</TD ><TD ALIGN="LEFT" >23 Mar 2002</TD ><TD ALIGN="LEFT" >Revised by: avi</TD ></TR ><TR ><TD ALIGN="LEFT" COLSPAN="3" >Better HTML style sheets.</TD ></TR ><TR ><TD ALIGN="LEFT" >Revision 1.95</TD ><TD ALIGN="LEFT" >17 Mar 2002</TD ><TD ALIGN="LEFT" >Revised by: avi</TD ></TR ><TR ><TD ALIGN="LEFT" COLSPAN="3" >Last chapter: One Body, Many Souls. Created appendix. Still have to translate some words here and there.</TD ></TR ><TR ><TD ALIGN="LEFT" >Revision 1.9</TD ><TD ALIGN="LEFT" >16 Mar 2002</TD ><TD ALIGN="LEFT" >Revised by: avi</TD ></TR ><TR ><TD ALIGN="LEFT" COLSPAN="3" >Added universal software table with FHS.</TD ></TR ><TR ><TD ALIGN="LEFT" >Revision 1.7</TD ><TD ALIGN="LEFT" >16 Mar 2002</TD ><TD ALIGN="LEFT" >Revised by: avi</TD ></TR ><TR ><TD ALIGN="LEFT" COLSPAN="3" >Everything is now translated except some words.</TD ></TR ><TR ><TD ALIGN="LEFT" >Revision 1.3</TD ><TD ALIGN="LEFT" >27 Feb 2002</TD ><TD ALIGN="LEFT" >Revised by: avi</TD ></TR ><TR ><TD ALIGN="LEFT" COLSPAN="3" >Translated and reviewed the most important section of the article: The /opt and /usr/local section.</TD ></TR ><TR ><TD ALIGN="LEFT" >Revision 1.2</TD ><TD ALIGN="LEFT" >23 Feb 2002</TD ><TD ALIGN="LEFT" >Revised by: avi</TD ></TR ><TR ><TD ALIGN="LEFT" COLSPAN="3" >English translation at 65%. Doing some corrections to potuguese version also.</TD ></TR ><TR ><TD ALIGN="LEFT" >Revision 1.1</TD ><TD ALIGN="LEFT" >17 Feb 2002</TD ><TD ALIGN="LEFT" >Revised by: avi</TD ></TR ><TR ><TD ALIGN="LEFT" COLSPAN="3" >Started english translation.</TD ></TR ><TR ><TD ALIGN="LEFT" >Revision 1.0</TD ><TD ALIGN="LEFT" >16 Feb 2002</TD ><TD ALIGN="LEFT" >Revised by: avi</TD ></TR ><TR ><TD ALIGN="LEFT" COLSPAN="3" >First final version of proposed skeleton.</TD ></TR ><TR ><TD ALIGN="LEFT" >Revision 0.9.6</TD ><TD ALIGN="LEFT" >16 Feb 2002</TD ><TD ALIGN="LEFT" >Revised by: avi</TD ></TR ><TR ><TD ALIGN="LEFT" COLSPAN="3" >Finished Plugin chapter.</TD ></TR ><TR ><TD ALIGN="LEFT" >Revision 0.9.5</TD ><TD ALIGN="LEFT" >15 Feb 2002</TD ><TD ALIGN="LEFT" >Revised by: avi</TD ></TR ><TR ><TD ALIGN="LEFT" COLSPAN="3" >Finished chapter about boot and subsystems.</TD ></TR ><TR ><TD ALIGN="LEFT" >Revision 0.9.4</TD ><TD ALIGN="LEFT" >14 Feb 2002</TD ><TD ALIGN="LEFT" >Revised by: avi</TD ></TR ><TR ><TD ALIGN="LEFT" COLSPAN="3" >Finished chapter describing the boot process.</TD ></TR ><TR ><TD ALIGN="LEFT" >Revision 0.9.3</TD ><TD ALIGN="LEFT" >08 Feb 2002</TD ><TD ALIGN="LEFT" >Revised by: avi</TD ></TR ><TR ><TD ALIGN="LEFT" COLSPAN="3" >Text and style updates.</TD ></TR ><TR ><TD ALIGN="LEFT" >Revision 0.9.2</TD ><TD ALIGN="LEFT" >07 Feb 2002</TD ><TD ALIGN="LEFT" >Revised by: avi</TD ></TR ><TR ><TD ALIGN="LEFT" COLSPAN="3" >Text updates.</TD ></TR ><TR ><TD ALIGN="LEFT" >Revision 0.9</TD ><TD ALIGN="LEFT" >06 Feb 2002</TD ><TD ALIGN="LEFT" >Revised by: avi</TD ></TR ><TR ><TD ALIGN="LEFT" COLSPAN="3" >First translation to DocBook.</TD ></TR ></TABLE ></DIV ><HR></DIV ><DIV CLASS="TOC" ><DL ><DT ><B >Table of Contents</B ></DT ><DT >1. <A HREF="intro.html" >Introduction</A ></DT ><DT >2. <A HREF="userfriendly.html" >User Friendly: Guaranteed Success</A ></DT ><DD ><DL ><DT >2.1. <A HREF="userfriendly.html#installAndUse" >Embrace the <EM >Install-and-Use</EM > Paradigm</A ></DT ></DL ></DD ><DT >3. <A HREF="software.html" >The Four Universal Parts of Any Software</A ></DT ><DD ><DL ><DT >3.1. <A HREF="software.html#software.example" >Practical Examples</A ></DT ><DT >3.2. <A HREF="software.html#separe" >The Importance of Clear Separation Between Four Parts</A ></DT ><DT >3.3. <A HREF="software.html#bodysouls" >One Body, Many Souls</A ></DT ></DL ></DD ><DT >4. <A HREF="fhs.html" >Linux Directory Hierarchy: Oriented to the Software Parts</A ></DT ><DD ><DL ><DT >4.1. <A HREF="fhs.html#fhs.fhs" ><SPAN CLASS="acronym" >FHS</SPAN > Summary</A ></DT ><DT >4.2. <A HREF="fhs.html#newtable" >Examples Using the <SPAN CLASS="acronym" >FHS</SPAN ></A ></DT ><DT >4.3. <A HREF="fhs.html#noopt" >Developer, Do Not Install in <TT CLASS="filename" >/opt</TT > or <TT CLASS="filename" >/usr/local</TT > !</A ></DT ></DL ></DD ><DT >5. <A HREF="plugin.html" >Provide Architecture for Extensions and Plugins</A ></DT ><DD ><DL ><DT >5.1. <A HREF="plugin.html#plugin.concept" >Abstracting About Plugins</A ></DT ></DL ></DD ><DT >6. <A HREF="rpm.html" >Allways Provide RPM Packages of Your Softwares</A ></DT ><DD ><DL ><DT >6.1. <A HREF="rpm.html#module" >Software Package Modularization</A ></DT ></DL ></DD ><DT >7. <A HREF="security.html" >Security: The Omnipresent Concept</A ></DT ><DT >8. <A HREF="gui.html" >Graphical User Interface</A ></DT ><DD ><DL ><DT >8.1. <A HREF="gui.html#kdegnome" >KDE, GNOME, Java or Motif?</A ></DT ><DT >8.2. <A HREF="gui.html#webgui" >Web Interface: Access from Anywhere</A ></DT ><DT >8.3. <A HREF="gui.html#wizard" >Wizards and Graphical Installers</A ></DT ></DL ></DD ><DT >9. <A HREF="boot.html" >Starting Your Software Automatically on Boot</A ></DT ><DD ><DL ><DT >9.1. <A HREF="boot.html#boot.init" >From <SPAN CLASS="acronym" >BIOS</SPAN > to Subsystems</A ></DT ><DT >9.2. <A HREF="boot.html#boot.runlevel" >Runlevels</A ></DT ><DT >9.3. <A HREF="boot.html#boot.subs" >The Subsystems</A ></DT ><DT >9.4. <A HREF="boot.html#boot.script" >Turning Your Software Into a Subsystem</A ></DT ><DT >9.5. <A HREF="boot.html#boot.install" >Packaging Your Boot Script</A ></DT ></DL ></DD ><DT >A. <A HREF="redhat.html" >Red Hat, About the Filesystem Structure</A ></DT ><DT >B. <A HREF="about.html" >About this Document</A ></DT ></DL ></DIV ></DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE SUMMARY="Footer navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" > </TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" > </TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="intro.html" ACCESSKEY="N" >Next</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" > </TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" > </TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >Introduction</TD ></TR ></TABLE ></DIV ></BODY ></HTML >