This is the merged requirements from the respective GUI's of ZoneCheck and DNSCheck. Language: [1.1] The GUI MUST support multiple languages in a standardized and reasonably easy-to-understand way (especially to make it easy to add more languages in the future). [1.2] The GUI MUST have a way of identifying preference of connected users' language and this SHOULD be implemented on the client side (for example using language preference settings from connecting browser). [1.3] The GUI MUST have a easily configurable default language as a fallback from req [1.2]. [1.4] The GUI MUST support IDN 2.0 domains as input. [1.5] The GUI MUST have an easy-to-understand way to change the language from the first page. [1.6] When a user has chosen a language the index, faq and results MUST be in the chosen language UNLESS specific messages are missing where in such a case the default language COULD be used for these, or all, messages. Usability: [2.1] The GUI MUST have more than one possible view towards the users and the default SHOULD be the most simple one. [2.2] The GUI MUST have a view containing the "undelegated"-functionality, this view SHOULD be perfectly clear on what this means (for example a small warning that notifies the user when presenting undelegated-results). [2.3] The simple view SHOULD highlight found errors and warnings for the test being run. [2.4] The simple view SHOULD give the user the possibility to see more information about encountered errors from within the simple view, if he/she so chooses. [2.5] The GUI MUST be able to give a simple, summarized verdict on the domain being tested (for example; green/yellow/red). [2.6] The GUI MUST provide a list with previous runs for the given domain and these SHOULD be kept separate between normal and "undelegated" testruns. [2.7] The list from [2.6] MUST contain working links to the previous tests and these MAY be the same links as created in [4.2]. [2.8] The GUI MUST be able to run on delegated zones with the zone itself exclusively as input (name servers as input is optional) [2.9] The GUI MUST be able to run on undelegated zones with the zone and at least one name server as input. [2.10] The GUI MUST be able to support HTML/TXT as output and SHOULD be designed with further output formats in mind. [2.11] The GUI MUST be able to run with different test profiles (meaning: what tests are being run at all). [2.12] The GUI MUST be able to show a progress bar with a rough estimate of total test progress and it SHOULD also tell the user what specific test is currently running. [2.13] The GUI MUST be able to stop a test on a fatal error if the user has given the GUI input to do so. Security: [3.1] The GUI MUST have a chroot-similar design where its config, outside of reach of the web root itself, is read only once at startup. [3.2] The GUI MUST have all sensitive information in the protected configuration file from [3.1] but MAY have options elsewhere if deemed necessary. [3.3] The GUI SHOULD have an easy-to-read source code that is well documented and commented. Functionality: [4.1] The GUI MUST have the same functionality over IPv6 as is given over IPv4. [4.2] The GUI MUST create unique links for every test generated through its interface and these links SHOULD be easy to find for the user. [4.3] The GUI SHOULD allow links to tests that were generated from other sources than the GUI itself but MAY not allow all available sources to be accessed. [4.4] The GUI MUST be designed so that it is easy to add new tests easily. [4.5] The GUI MUST be able to take DS record(s) as input to test DNSSEC properly on undelegated domains. [4.6] The GUI SHOULD report to the user what IP-address he/she is connecting from. [4.7] The GUI MUST report what version of the engine was used to generate the result(s) displayed.