Index: /project_docs/requirements.txt
===================================================================
--- /project_docs/requirements.txt (revision 2)
+++ /project_docs/requirements.txt (revision 2)
@@ -0,0 +1,68 @@
+Requirements:
+
+   * Portability
+      * Must run on Linux and UNIX like systems, Mac OX X and Windows.
+      * This requirement is ensured by the use of Python, Tkinter and standard python modules.
+      * Possible troubles:
+         * Diffs between Windows, Linux and Mac OS X file systems.
+         * Tkaqua for Mac must be instaled before it's use on Mac
+         * Diffs in the way to use and call nmap on Linux, Windows and Mac.
+
+   * Usability:
+      * Easy to use for common tasks
+      * Allow fine tune of the command that will be executed
+      * Allow more specialized tasks and configurations
+      * Show formated nmap output
+      * Sort and search results
+      * Compare results
+      * Show differences between results (diff mode)
+      * Allow multiple scans running on the same time
+      * Show a 'replay' or 'rescan' button to scan again the target using the last command
+         * The last command must on display to be modified and rescanned if the user desire
+      * Keep on display the command that is being built.
+      * Use gettext for Internationalization (i18n)
+      * Performance!
+      * 'Quick Buttons' bar for the most common actions.
+      * Wizard to build the command step by step, and them save it in a new profile or execute it.
+         * Stress options inserted by wizard to the command
+      * Display button "Scan for services" to scan desired open services within a given network
+         * Show option that search for especifics services port, like: 'search webservers' and them scan for port 80 and 443, or 'search email servers' that scans for 25, 110 and 143 ports.
+      * Show 'vulnerability level' icons for each machine scanned. The level is measured using the number of opened ports, and the icons goes from a vault (safer machine) to a 'swiss cheese' or a sifter (unsafer machine).
+      * Show icons for known Operating Systems, Services and Applications (such as a feather for Apache's httpd). There user might choose between multiple icon themes.
+      * Order by port number
+      * Search by open or filtered ports
+      * Scan for port numbers
+      * Save scan profiles inside a 'ConfigParser' like file inside user's home directory
+      * Search for scans annotations
+      * Show scans status (number of hosts scanned, ports found openned, etc.) and averages (scan time, ports found openned, etc.) in the status bar
+      * Ask user if he wants to save result on application exit
+      * Start scan in a new tab
+      * Show recent saved scans in the main menu
+
+   * Persistence
+      * Load and save results using nmap XML output format
+      * Save result with the command that generated it
+      * Save profiles
+      * Save results in the given formats: plain text (as the nmap output), html (for browser visualization) and XML (as the nmap output)
+      * Allow user to save results with annotations.
+
+   * Modularity
+      * The application core will stand on its own. The interface will build on this core. This allows other interfaces (ncurses, web) to be built, eventually.
+
+   * Dependencies
+      * Python 2.4 with Tkinter
+
+   * Functionality
+      * Manipulate nmap XML output, showing the results in a "cleaner way" to the user.
+      * Generate diff output to be shown inside the application
+      * Generate html diff output to shown in a browser
+      * Instalation Wizards for Windows and Mac OS X
+      * Bonus: Autocompletition for nmap command options
+      * Be aware about unknown command inserted by user, and how unkonwn outputs must be shown to the user
+      * Be aware about errors that nmap may output
+      * Allow search results using a given regex
+      * Bonus: allow order using a given python script
+      * Save user's preferences inside a 'ConfigParser' like file inside user's home directory
+      * Show nmap normal output while xml output is not ready
+      * Parse diff html output, adding UMIT logo and design
+      * Be able to open XML files saved from previous scans, and allow the same amount of functionality of querying, sorting as on the results of a current scan
