ALL ABOUT FOOD

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

The difference between an XML Sitemap and a HTML sitemap is who each sitemap is designed for.

An XML Sitemap is designed so search engines can crawl and index a website while a HTML Sitemap is designed for humans to read and understand. The benefit of having an XML Sitemap is that all of the essential pages of the website are listed in the sitemap, making it easier for search engines to understand how the website is structured. This then assists the website place further up the search engine rankings.

Another benefit is that the sitemap acts in the same way a table of contents does in a book. It lists what pages are inside the site and it allows users to find specific information quickly. The more user friendly a website is, the more people will use the website and return again in the future. The more people who use the site, the higher the website ranks in search engine searches.

A disadvantage of an XML Sitemap is that it needs to be updated frquently to reflect changes made to the website. The sitemap must be manually updated when pages are added to the website unless a third party plug in is installed that updates the HTML Sitemap for you. If the HTML Sitemap is not kept up to date, search engine crawlers won't be able to correctly index the website.

This will result in the website slipping lower iin the search engine rankings and fewer visits to the site. Another disadvantage is that you may need to tailor your XML Sitemap to different browsers eg. A Google browser may need a different XML Sitemap to an Opera browser. This could result in slight differences to the website between browsers instead of a consistent site regardless of where the user finds it.

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

ORACLE JDEVELOPER

JDevloper promotes itself as a complete IDE. It’s end to end development software that covers the full development lifecycle from design through to coding, debugging, optimization, profiling through to deployment. It is an extremely resource hungry program that requires a relatively powerful workstation and allows the user to work with Java, web, mobile, web services and database development.

The program is modular, so it allows users to add compatible plug ins and extensions extending the capabilities of the software and allowing users to customise JDevloper to meet their own requirements. JDeveloper has been built on the back of Java Platform Enterprise Edition so it’s a great program for java-based apps allowing development in either Java SE or Java EE.

The embedded WebLogic Server allows developers to run, test and debug their Java EE applications directly inside the development environment.

For web page design, JDeveloper uses a visual HTML 5 editor. It allows Oracle and non Oracle database development and has a simple drag and drop feature.

The IDE contains a HTTP Monitor that can track network traffic between the browser and server. JDeveloper is an extremely resource hungry program that requires a relatively powerful workstation and allows the user to work with Java, web, mobile, web services and database development.

The program is modular, so it allows users to add compatible plug ins and extensions extending the capabilities of the software and allowing users to customise the IDE to meet their own requirements.

JDeveloper has been built on the back of Java Platform Enterprise Edition so it’s a great program for java-based apps allowing development in either Java SE or Java EE. The embedded WebLogic Server allows developers to run, test and debug their Java EE applications directly inside the development environment. For web page design, JDeveloper uses a visual HTML 5 editor. It allows Oracle and non Oracle database development and has a simple drag and drop feature.

The IDE contains a HTTP Monitor that can track network traffic between the browser and server.

PROS: modular so you can customise the program for your needs. Great if the development company already uses Oracle products.

CONS: Aimed at mid to high level companies. Requires a powerful workstation so might not be as affordable for trainee developers unless provided by the workplace.This IDE might be too complex for trainee developers and surplus to an entry level developers needs and capabilities. If their employer already uses other Oracle products it could be worthwhile, but if not it may double up on IDE's they already have.

NETBEANS

NetBeans is a free and open-source IDE for Java based applications. It can be installed on all operating systems that support Java including Linux, Solaris, Windows, and mac making it a flexible IDE. NetBeans is a cloud-based IDE with modular components so developers can use third party plug ins and extensions to add features that suit their workflow.

This IDE is popular amongst developers because it has a userfriendly graphical user interface and a simple drag and drop file feature.

Netbeans is aimed at small business in the middle of the market. The program supports code, editing, deploying management, debugging, mobile and web app development.

PROS: multi operation system. Makes it more flexible. Cloud based and modular – can add other things to the program as needed. Cost is lower(free) than non-open-source programs.

CONS: - not as secure makes the code vulnerable to a cyber-attack if malware has been written into the code. There’s no warranty for the code – it could have errors that cause issues and there is no way for the user to take any recourse. You're on your own.

XCODE

Xcode was created by Apple for programming and software development and is used to developing Mac + i0S apps for Apple devices. Xcode features a side panel where the code sits next to the page you're building. Having this layout makes it easier to edit the code and see the effects alongside it straight away.

PROS: Makes developing and managing apple software development projects very easy. Xcode is a geat one stop shop for apple software.

CONS: The program takes up a decent chunk of space on YOUR PC(10GB). There are a limited number of coding language options – C++, SWIFT, ObjC – for apple development. The program is ONLY for Apple devices so not a great tool for a developer that wants their products to be seen on all devices and operating systems - apple/android/linux/solaris

If the trainee developer isn’t as familiar with Apple developing tools, it could be tricky to get a grasp on this IDE.

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

In 1995, the two major players in the web browser industry were Netscape Navigator and Internet Explorer. Netscape held 80% of the web browser market. They provided the browser free to home and educational users but charged a fee for commercial use. Microsoft owned Internet Explorer and provided the browser free of charge to all windows users including commercial use. This drove a huge surge of user uptake for Internet explorer (and windows) and an exodus away from Netscape. This intensified the rivalry between the two companies who began rapidly developing their browsers and internet capabilities resulting in the creation of features such as JavaScript by Netscape and Cascading Style Sheets by Internet Explorer.

Many other web browser features and third party plug ins were developed during this period by multiple players, further fuelling the development and expansion of the internet. Eventually Microsoft intergrated Internet Explorer into their Windows OS which sounded the death knell for Netscape. Windows OS had 90% computer market share and set Internet Explorer as the standard web browser for users. Eventually Netscape was killed off and Internet Explorer had no competitors in the market.

As each company developed their web browsers, they created their own languages, protocols, html, css, js etc. In the mid 2000’s as the number of browsers and the devices that were in the market increased, it was decided that in order to allow new technologies to intergrate with the all of the browsers there needed to be some standards the new tech had to adhere to. The companies developed a set of standards and submitted them to the W3C for approval.

The World Wide Web Consortium (W3C) organisation is the main international standards organisation for the internet. The standards are foundational blocks that act as guidelines on how to create web browsers, blogs, search engines and other web software used on the internet.

The W3C was founded in 1994 when web standards were first introduced and is made up of member organisations who work to educate and develop software that strengthens the standards and protects the future growth of the internet.

If compatibility issues arise from software developed by rival companies, W3C will work with them to come up with a solution that can be agrees upon and adopted across the industry.

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

Website testing methodologies are a set of repeatable checks and tests done to a website to expose any potential errors or bugs on the site before the it goes live on the internet.There are a number of areas of a website that are checked and tested in this process.

FUNCTIONALITY Each feature of the website is tested including navigating content on a page and between pages, checks to links, videos or images that are embedded on the site. Access to the database, if required, is checked during usability testing and checks are done to determine if the cookies are working and if they request details again if the cache is cleared.

>USABILITY The usability of a website can be tested by a group of people or individuals, depending on how the website will be used when published. Usability tests make sure all the buttons and links work, that grammar, spelling and any names used on the site are correct. Checks are done to make sure that the ALT text is present and correct.

INTERFACE Interface testing is done in three parts - the application, the web server and the database server – Interface testing makes sure the website is handling all requests and responding with the expected results.

DATABASE Database testing is conducted to make sure that all elements of the database are correct and in place and that there is communication between the user interface and the back-end database in both directions. If a websites database isn’t functioning correctly the user may not be able to retrieve or update any data and the website will not be functioning correctly.

COMPATIBILTY Compatibility tests are done to make sure that the website displays correctly across all devices including desktop, tablet, mobile and that the website will display correctly on different web browsers e.g. Chrome, Safari, Opera.

PERFORMANCE Performance tests are done to check how a website behaves under different amounts of load. The tests determine if the site will crash under heavy load and check how the site recovers from a crash. Checks are done on any settings that reduce page load times to make sure they’ve been enabled such as compression, server cache and browser cache settings.

SECURITY Security testing is done to determine if there are any weaknesses or vulnerabilities that could expose the website or it’s users to malicious hackers or malware. If any weaknesses are revealed during security testing, adjustments can be made to strengthen and secure the site before releasing it to the public.

CROWD/ACCEPTANCE TESTING Crow/acceptance testing is where many people test the site simultaneously to try to find errors or bugs in the system when it is in full use. It is the final check used to ensure all features are working as they should and that the site is stable before being deployed to the public.

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

The NT Government signed up to the W3C Web Content Accessibility Guidelines (WCAG 2.0) in 2012. The NT Government website (nt.gov.au/page/accessibility) states that they are currently working towards compliance with the WCAG 2.0 which states that content should be accessible to a wider number of people with a wider range of disabilities.

Content should be available to people with visual, hearing, speech and movement disabilities through the use of technology including, ALT Text, Audio Description,Captions,sign language and input adaptable options.

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

It’s really important to have a clear and organised folder structure when managing the assets for a website. If you don't, you will encounter issues with connectivity between the file and the server and you will lose track of the current file and it's location. Navigating to a particular file won't be efficient.

First create a central PROJECT FOLDER. You can name it to suit the project.

Inside the project folder, are all the index .html files for each page. Also inside the project folder are all other subfolders containing different elements required for the website including CSS FOLDER, IMAGES FOLDER, JAVASCRIPT FOLDER. There is also a BACKUPS FOLDER where every folder lives inside ready to be easily zipped and stored offsite and on the cloud.

EG:

PROJECT >

>images - all image files seen on the website

>css - all style info for each page on the website

>JavaScript - all js files for pages on the website

> Backups >.html >.css >images >javascript

>.html - index for each page on the website

I make sure to use short, consistent naming conventions for file names and a simple, correctly named folder structure. This allows easy identification of files when linking assets in a .html document and reading through html code documents to make chages or fix errors.

Ensuring the files and the back up files are kept current through regular weekly updates and cleanups. At the same time updating the cloud backups makes sure that regardless of where I am of who needs access, the correct file is easily located and changed.