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

An XML sitemap is used by search engines to provide information about the webpage. This allows Google or other search engines to filter important information about a website so that users can locate the website when they search for specific / relevant terms. On the other hand, an HTML sitemap is designed for human use so that people can find specific pages of the whole website – it appears visually represented as a list or array of links.

Q2: 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.

VSCODE: this IDE is very lightweight is typically used by beginners. It has Github support and is has well built-in customisation support. However, it also does not have a lot of language support and lots of plugins need to be manually installed. There is a steep learning curve, but it would suit an entry level trainee code developer well as it gives them the basic structure to working in an IDE.
ANDROID STUDIO: This IDE has a live rendering, which benefits the user by seeing the code run in realtime. Furthermore, Android Studio has various emulators for different android phones. This means that users are able to test run their application on different screen sizes, specs and APIs. However, Android Studio consumes a lot of RAM and requires decent if not beefy hardware to run – older computers will struggle. Furthermore, the installation can be time consuming. This would suit an entry level developer because it exposes them a new world of coding – being able to run code on different emulated devices can expand their skillset as it can help them gain experience with fixing app compatibility. It is also very user friendly which can benefit trainee developers.
INTELLIJ: The community version (free version) has most of the features most programmers need. The layout is very appealing and UI customisation is very good. It supports initial indexing – a feautre that detects errors in your code while you type. This would be beneficial for trainee developers who code in Java, as this is the most common language used in this IDE. However, it can be resource intensive, the commerical license has a cost, and the interface can be overwhelming as it is an IDE with many features.

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

The first person to create a ‘web-browser’ was Tim Berners-Lee in 1991. He created HTML to form a language that could display text, images, etc and used it to create the idea of the World Wide Web. Since then, multiple companies and developers have created web browsers, even using Javascript in 1995 with web pages. This is a crucial part of the history of web development as it opened doors for visual represenation of information on the internet that weren’t just blobs of text; this made it appealing.
However, after the first web browser by Berners-Lee, Mosaic was created in 1993 for educational purposes to be used by governments and universities. Shortly followed the ‘browser wars’, implementing JavaScript. Microsoft soon created Internet Explorer and multiple companies were competing against each other.
Many versions of HTML have released since Berners-Lee released HTML 1.0 in 1991. 2014 and onwards brings us to the HTML 5 we have today, which has evolved to an advanced level. However, web developers still encounter issues despite the advancements of HTML and technology. The most common issues to adhere to web standards is keeping up to date with new frameworks and libraries as HTML and CSS expand constantly. Making sure the website is compatible with the browser, website security from cyber attacks, sizing on different resolutions, accessibility and even UI design are all problems web developers encounter.

Q4: What are website testing methodologies? Your answer MUST cover browser compatibility, and website functionality.

Website testing methodologies is a way to test if the website is working from the consumers or users perspective. Browser compatibilty can be done manually by having someone interact with the webite and test it on different browsers and how the website responds. However, there are tools available such as LambdaTest or BrowserStack that give feedback to how the website responds on different devies. Functionality testing can be done by software which ensures that the website is performing in working order for the software requirements of the company’s website. It can be done manually, which is done by creating test scenarios where the tester may enter incorrect information or incorrectly use the website and see how the website responds. Software such as Selenium or Robot Framework can do this automatically.

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

Their guidelines encourage them and make them meet the WCAG 2.0 Level AA compliance (Web Content Accessibility Guidelines. These guidelines aim to make websites more accessible for people with disabilities. The guidelines are as follows: provide text alternatives for images and videos, provide captions for multi-media, present content in different ways while keeping the same meaning, ease of hearing and seeing content, keyboard functionality, no time-strains for consumers to take in content, prohibit using content that can can physical reactions, ease of navigation, ensure readable and understandable text, predictable content appearance, help people prevent errors and fix them, and compatibilty and future-proofing the website.

Q6: 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.

Using folder heirachies help keep assets organised for a webpage. It is easiest to write a file structure on paper and then apply it to the IDE or folder. The files can be organised as such by having multiple subfolders in the root folder organsing each file type / purpose. For example, it is optimal to have an ‘html’ folder for html files, an ‘images’ folder for images, a ‘css’ file for .css files and so forth. Furthermore, keeping these files on a version control system or in my case connecting it to my Brambling server is an efficient way to keep files organised and up to date. Also, deleting files that aren’t used can help keep the project organised.