Rhonda's Recipes

Question 1: Describe the difference between an XML Sitemap and a HTML Sitemap. List the benefits and disadvantages of using each.

A HTML sitemap is a page or section of a webpage that contains hyperlinks to all other parts of the website. It allows a user to access their desired webpage by looking through the list, like a glossary in a book. Advantages of an HTML sitemap is that it is designed for humans to browse, using short titles to webpages to denote content. It also allows large and complex websites to organise their content for users looking for something specific and having a user friendly sitemap improves user rating and satisfaction. A disadvantage to HTML sitemaps is that web crawlers and browsers might not be able to read the content from it.

A XML sitemap is a file that lists all the pages on your website designed for search engines to look through and index content on your site. It contains URLs and some additional information for search engines, which makes automatically reading information from them using a program easy. Advantages of this type of sitemap is that it is designed for search engines and web crawlers, with all major search engines supporting it. Having an XML sitemap will boost attention to your website, as it will allow search engines to easily list your website in results as well as allowing search engines to index new content that you add to your site. A disadvantage of this sitemap is that URLs cannot be ranked by importance, so search engines cannot rank critical webpages.

Question 2: Evaluate three IDE's (Integrated development environments) and provide a brief summary on the positive and negative aspects of each. Also, in your own words include how it would suit an entry level trainee code developer.
Microsoft Studio Visual Code

Microsoft Visual Studio Code is an open source and free IDE that supports a wide variety of programming languages, such as HTML, JavaScript, C++, Lua… amongst others. It has extensive support tools, integrated support for community addons, autocomplete and syntax highlighting as well as support for user created shortcuts and hotkeys.

Some drawbacks of Microsoft Visual Studio Code is that it can be demanding for storage, especially when many community made addons and support for additional languages have been installed by the user. Another drawback is that new users may find it intimidating to find and fully customise the settings of Visual Studio Code to their preferred workflow and creation process.

This application would suit an entry level code developer well due to its variety of tools and community generated addons as well as its automatic syntax highlighting and autocomplete for supported languages.

Adobe Dreamweaver

Adobe Dreamweaver is a subscription IDE that is available through Adobe Creative Cloud at $20 per month, however a free trial is offered. Dreamweaver also offers support for multiple programming languages and has a wide variety of development tools as well. It also includes automatic syntax highlighting and offers a real time view of how your code looks on a website so visual changes can be observed immediately.

Some drawbacks of Dreamweaver is that the tools may be a bit confusing to use and the real time view is not adaptive to different size resolutions such as mobile screens, which means code may still produce dissapointing results despite real time view. Perhaps the greatest drawback is the subscription cost, charging $20 for a service that free alternatives can do just as well is non-sensical.

I would not recommend Dreamweaver to an entry level code developer due to the cost, however it does include many useful tools, in particular the real time web view, that can be extraordinarily useful to new coders.

Notepad++

Notepad++ is a free and open source IDE that can be downloaded from the Notepad++ site. It includes support for HTML and some other languages. Like Visual Studio Code, it is free to use and includes lots of community made addons and plugins. It also comes with good included features and a fully customisable interface without the demanding storage requires of Studio Code.

A couple of cons of using Notepad++ is that it's design and user interface can show its age, since it is an old school program. A couple other users say that its plugin management could be better.

Overall, I would recommend this program to new coders as a possible alternative to Visual Studio Code. Despite not having the syntax highlighting and autocomplete of Studio Code, it is still a great IDE.

Question 3: Provide a brief history on web browser development and the issues encountered by web developers, specifically, the adherence to web standards.

Throughout the 1990's and up to the early 2010's, many developers were developing different web browsers to allow users to browse the internet. In the beginning, there were few options, with WorldWideWeb being the only browser from 1990-92. Towards the late 90's through to the late 00's, we saw a large variety of new and unique browsers being created and published by developers.

Because there was a wide abundance of unique browsers, each with their own unique rendering engines, it was difficult to ensure that a website displayed properly across each web browser. There was also a lack of clear and definitive ways to ensure that a website was able to meet certain criteria, such as usability and accessibility, since the W3C standards for webpages had not been created and enforced to such a degree nowadays. As such, web designers were forced to work out their own approach to these challenges until solidified standards which informed web designers of best pratices for creating their websites.

Question 4: What are website testing methodologies? Your answer MUST cover browser compatibility, and website functionality.
Functionality Testing

Functionality testing is testing the functionality of a website and their webpages. This is typically done by making a large list of things that need to work, such as hyperlinks, and having a tester or a program go through and confirm that these things are working.

Cross Browser / Compatability Testing

This involves attempting to access the website and webpages from various different web browsers and different devices, such as mobile. This is to verify that the website is functional and displays as intended on other browsers and devices.

Performance Testing

Performance testing typically involves putting the website under load, such as with a botnet, to see what parts of the code cause the most delay and / or what causes the website to crash under load. It is important that this is performed to reduce the effectiveness of DDoS attacks.

Usability Testing

Usability testing involves ensuring that the functions and design of the website are friendly to users with impaired senses or otherwise have issues with usability in regards to websites. An example is ensuring that your website is designed with high contrast colours so that colourblind people may have an easier time navigating the site.

Accessibility Testing

Similar to usability testing, it involves verifying that accessibility features are present and functional on a website. This might include ensuring that audio formats of text content are available for screen readers and ensuring that images include alt text for those with vision impairments.

Security Testing

This testing verifies that your site is secure, ensuring that all security safeguards are active and functional. This tests things such as maximum log in requests and IP verification, amongst other things.

Question 5: What are the endorsed requirements of accessibility for all NT Government webpages?

The NT Government has promised to format all their websites to follow the W3C WCAG (Web Content Accessibility Guidelines) 2.0 Level AA.

Question 6: How do you think it's best to organise all the assets used for a specific webpage? Think locally on your computer AND within the root folder of the website.
The best practice for organising assets used for a specific webpage is as follows:
Project / Root Folder

- The root folder contains all the subfolders, and consequently all the assets, relating to the webpage.

HTML Files

- HTML files should be placed directly into the root folder as to make it easy for yourself and other designers to see and access those files since they are the most important files.

CSS Files

- CSS files should go into their own unique subfolder. Typically, the most used .css file will be named something like ‘main.css’ or ‘style.css’. Other .css files for other .html files should be named in reference to what they are styling.

Images

- All images (.jpg,.gif,.png) should be placed in a separate subfolder. Name it ‘images’ or ‘img’.

JavaScript Files

- JavaScript files, or .js files should be placed in a separate subfolder. You can name the folder either ‘js’ or ‘javascript’.