Tuesday, February 20, 2018

Getting Closer to Validation: Metadata and Character Encoding

Character Encoding for Web Pages: HTTP file headers

Validation Assignment:



Details About Character Encoding and Validation:

Hypertext Transfer Protocol (HTTP) is the language used by a Web server and a Web browser to communicate with each other.

Every time a Web server serves a page to the browser, it adds an invisible "HTTP response header" to the file. This file header (not to be confused with the <head> section of a document) is metadata, which means it contains information about the file that it is serving to the browser. Many servers include character encoding (the character set used in the document) in this header. In other words, the server tells the browser how the document is encoded. (But, what the server says about the encoding may not be how the documents it serves are actually encoded; this is determined by your text editor when it saves a file.)

Most servers will say the files it serves are either ISO-8859-1 (Western European Latin characters) or the newer Unicode standard, UTF-8. In documents written in English there is little difference between these two standards; most noticeable differences will be in special punctuation. But if you wish to have your Web page display more than Western European languages (perhaps a page that mixes English with Chinese, for example), you cannot use ISO-8859-1; UTF-8 would be the way to go. At any rate, UTF-8 is the current standard for Web pages.

Browsers (also called "user agents") use an "HTTP request header" when requesting a file from the server. In this request header the browser identifies itself with a "user agent string." By keeping track of these user agent strings, Web traffic analysis software can create logs showing information on what percentage of users come to a site with Firefox, Safari, or Internet Explorer, for example.
Thecharacterencodingmeta tag

Many servers, but not all, indicate the character encoding in the HTTP response header. But whether or not your pages are on a server that indicates the encoding, you should do so in the document itself, by adding the appropriate character encoding meta tag to the head section. Assuming the document was encoded in UTF-8, and is using HTML 5, you simply need to add this to the <head> section:

<meta charset="utf-8">

Because this tag tells the browser how to interpret the characters used in the document, it should be the first tag in the<head> section.

The HTML validator needs to know which character set the document is encoded in so it can properly evaluate it. So if your pages are on a server that does not indicate the encoding, it is necessary to add the character encoding meta tag to your HTML or the validator may not be able to properly evaluate the page. Additionally, if your pages are not being served by a Web server (they are being viewed locally, or perhaps they are to be burned onto a CD) the browser will need the character encoding meta tag in your HTML to properly display the page.

In the case where the server indicates the encoding, and you also indicate the encoding with the character encoding meta tag, there is no problem if your tag and the file header from the server indicate the same encoding. But if the server says the encoding is, for example, ISO-8859-1, and your meta tag says UTF-8, the validator will give you a "character encoding mismatch" error. In such a situation the validator assumes the server's encoding is the one to use. In other words, in the event of a conflict between your tag and the server, the server overrides your character encoding meta tag.

How to see a server’s character encoding setting:

To see what your server says about the pages it is serving, you need a way to see its invisible file response header. A tool such as Rex Swain's HTTP Viewer will allow you to see this, including the character encoding, if any is indicated. Go there and enter a URL for a server that you wish to check then look at the "Receiving header."

If you see something like:
Content-Type:·text/html;·charset=UTF-8
then you know the server says the documents it is serving are encoded as UTF-8.

If you see something like:
Content-Type:·text/html;·charset=iso-8859-1
then you know the server says the documents it is serving are encoded as ISO-8859-1.

If you see something like:
Content-Type:·text/html
then your server is not indicating the character encoding.

Remember that if your server does not indicate the character encoding, it is even more important that your pages contain the character encoding meta tag. This will give the browser the information it needs to properly render your page (otherwise it will have to guess at the encoding, and it may guess wrong), and it will give the HTML validator the information it needs to properly evaluate your page.
Keepeverythingin synch

To make sure the browser renders your page as you intend (so that special characters such as curly quotes, apostrophes, accented characters, dashes, etc. display properly), and to enable the HTML validator to work, it is important that the server’s character encoding setting, your page’s character encoding meta tag, and the actual character encoding of the document all match.

It is recommneded that Web pages use the UTF-8 encoding. To ensure that your pages are actually encoded as UTF-8, your text editor must be configured to save your pages as UTF-8

Setting Komodo Preferences for UTF-8 / No BOM:

Launch Komodo and go to File/Preferences/Internationalization.
Uncheck the top option box to find the UTF-8 option in the pulldown menu
Change this second language-specific default encoding option to UTF-8.
Leave Signature BOM unchecked.

Monday, February 5, 2018

CSS Mini Page + Writing Assignment

Hello Students,
Read the details of this project thoroughly before beginning, it consists of 2 parts. Part 1 is a writing assignment that must be created as a simple HTML page and includes organization of your notes taken in-class during lectures. The second assignment is to create a CSS script to enhance the look of the HTML page. Due on Friday


Part 1:
Writing Assignment - A Summary of our studies in ROP Web Design including all class notes

  1. Create a new blank HTML file
  2. Format the HTML file with the proper HTML tags and Doctype declaration
  3. Write a title for your page. Format it with the h1 tag
  4. Write a subtitle for your page that includes your name and grade and what city you where born in. Format it with the h2 tag
  5. In your own words write a paragraph that summarizes your experience with computers and programming before this class began. Format it with the paragraph tag
  6. In your own words, write a second paragraph that summarizes what you have learned so far in this ROP Web Design class.Format it with the paragraph tag
  7. Add your notes from the previous lecture "how the internet works" and "the history of the internet" and todays lecture as well "CSS".
  8. Save your document in a new project folder called "mini css site" and make sure it is called "index.html"
Part2:
CSS Assignment - Format Your Content
  1. Create a new blank CSS file
  2. Create a set of CSS Rules to format your h1, h2 and p tags
  3. Use CSS to modify the color of your text, the font and the text size
  4. Use CSS to modify your p tag to indent your text and create a colored background for the paragraph
  5. Focus on clear and legible typography and color choices that enhance the appearance.
  6. Explore CSS properties to enhance your page, use CSS creatively!
  7. Save your CSS document in the same folder as your HTML file
  8. Create a link in the head of your HTML document to link to your CSS file
  9. Test, upload, debug, re-upload to make it perfect!
When your project is complete, turn it in via USB drive for uploading to our server. Test, debug, fix and re-pload as needed.

Have fun!

Resources:
Link: Example Page


Thursday, January 25, 2018

Basic HTML Assignment: Mini Website

Hello Students!
Your Basic HTML Assignment is to create a simple 4 page website that is about anything you like, favorite band, food, movie, actor or actress, etc. You will create a menu for navigation on a home page, and 3 other pages. These can be About, Contact and Sites of Interest. You could also have page titles, pictures or examples of your subject matter. Each page should have a menu for navigation plus content such as text or pictures. Each page should have an image or photo and text, links, lists etc. A full page is not necessary, the focus here is creating navigation, links and using color and embedding images.


Subject Matter: You can make your website about anything you like. You can make it about yourself, a favorite band, tv show, movie, food, car, place etc. The idea is to introduce me, the reader, to your interests. If you already have an idea for your site ask me and we can think about how to structure your website.

For help: Google it or ask your neighbor before asking your instructor. Below are notes about the tags we discussed in class as well as extra's. Or check out the barebones HTML guide on the link list on the side of this blog.

REQUIREMENTS:
• You must code this project in HTML from scratch.
• You must insert the proper HTML tags, Use appropriate headings to structure each of  your pages.
• Each page must contain a simple menu at the top for navigation, and a signature at the bottom to end the page such as your name, a quote or something else unique.
• Must have a total of  4 pages, more is allowed for extra credit. Page titles can be "Home, About, Contact, Favorite Websites, etc.."
• Include 1 image or photo on each page.
• Include at least 2 lists (ordered or unordered)
• Include at least 3 links to external websites (for instance the class blog etc...).
• You must include your email address either on your contact page or in your menu.
• Each page must have a background image or color
• Your home page must be titled "index.html" and be organized in a folder with all other html files and images.
• Make sure all pages have the .htm or .html extension and all images or photos are formatted for web correctly (jpg, gif, png) and reside in the same folder as the html files.


HTML NOTES:

Tags are used to format your text, text can be a link, a list, a paragraph, big, small, red, blue etc. In html tags are made like this:
<></>

You must always begin and end your tag, tags effect everything in between them. If you forget to end a tag it will effect everything after it. So to make some text look bold I would write my HTML like this:

Here is some <strong>bold</strong> text

And it would be rendered like this:

Here is some bold text


Remember that your document must be formatted, it has an html tag, plus a head and a body. Most of the content your site goes in the body. It basically looks like this:
<html>
      <head>
      </head>
             <body>
             </body>
</html>

You can also make the title of your document show up in the window. The title tag is:
<title>this is my website isn't it cool</title>

Other tags change the way text looks, like bold or italic. Try some of these others:
<i></i> makes text italic
<tt></tt> makes text teletype
<h1></h1> makes text into a header, 1 is the largest, 6 is the smallest
<hr></hr> puts a horizontal line on your page
<center></center> makes text align center
<blockquote></blockquote> makes the text indented

You can also format large pieces of text like a paragraph with the p tag:
<p></p>

If you want that paragraph oriented, you can add the align command:
align="center"
align="right"
align="left"

So if you want a paragraph that is left oriented, then your tag looks like this:
<p align="left"></p>

To make text into a link you can use the a tag. To link to a local document you can
write your html like this:
<a href="aboutme.html">About Me"</a>

If your link goes to an external site then you must include the entire URL like this:
<a href="http://www.myblogwebsite.com">My Blog"</a>

You can set the color of several different things in HTML. In the <body> tag, the bgcolortextlinkvlink, and alink attributes define the colors for the page background, text, unvisited links, visited links, and active links (i.e. the moment the link is being clicked on).

To change text color for part of a page, use the <font> container tag with a color attribute.

Color attribute values take one of the following forms:
"#RRGGBB", where RRGG, and BB are the red, green, and blue components of the color, in hex, ranging from 00 to FF.

One of sixteen "widely understood color names": aquablackbluefuchsiagraygreenlimemaroonnavyolivepurpleredsilvertealwhite (white), or yellow (yellow)

Hex code color chart from w3schools.com

HTML COLOR AND BACKGROUND TAGS
Adding color to your html files is easy. You can also use images for backgrounds as well.

Adding a background color is easy, add the bgcolor tag to your body tag. Pick a color from the chart above and type in the 6 digit hexadecimal code.
<body bgcolor="669933">

Adding a background image is easy too. Use the background tag to repeat an image across your background.
<body background="yourfilenamehere.jpg">

Check out these tags below to add color to text. Remember just wrap these tags around the text you want to modify.
<font size="3" color="red">This is some text!</font>
<font size="2" color="blue">This is some text!</font>
<font face="verdana" color="green">This is some text!</font>

Embedding images is easy too, but I will let you figure that one out on your own!  ;-)

Check out this website called HTML MADE EASY:


- Mr.Wilson



Ok have fun!

Monday, January 22, 2018

CTE Web Design Day 1

Todays Agenda:
  • Lecture: The Internet
  • Search Engine Exercise


Search Engine Exercise:
Search engines allow you to search a database of web sites and files. Google and Bing allow you to search a directory of sites that have been registered by the site owners, for example yahoo. a Meta-search engine searchers other search engines, for example ixquick. 

A good searching strategy is the key to finding the information you need:

Searching Tips:
  • Become familiar with more than one search engine, understand that different engines compile data differently. For example, google's boolean search technique is based upon popularity, but not always relevance
  • Be as specific as possible in your search terms. Use unique words or phrases
  • Use a niche site for your search, for instance amazon, or wikipedia
  • Use boolean operators in a meaningful manner (and, or, not)
  • Pay attention to publishing dates, file sources. Not everything on the internet is true
  • Don't give up easily, adjust your search terms. Experiment to find your results
  • BE A NINJA. Try using the Advanced Google Search
  • BE A SUPER NINJA. Try writing Advanced Google Search terms as code right in the browser!

Search Engine Ninja Exercise:
Research the questions below using a search engine or engines. Use advanced search techniques or specific sites to discover your answers. Compile the answers to all 10 questions and email them to me at sethwilson@sccs.santacruz.k12.ca.us

1. What does CSS and HTML stand for?
2. Who invented term "surfing" the internet?
3. Who is know as the "Mother of COBOL" and what phrase did they popularize?
4. What is the HTML Tag that defines Emphasized Text?
5. How many Gigabytes in a Petabyte?
6. Who sent the worlds first Email?
7. What is the EFF and what do they do?
8. What is UTF-8?
9. Who invented the font "Helvetica" and what is the meaning of its name?
10. What do the letters in HTTP and FTP stand for?

Compile your answers and email them to me. Make sure you include your name and title of this exercise in the subject of your email.

Thank You Web Design Class of 2017


Thank you to all my great students from this years ROP Web Design class. There were some very impressive portfolios and final projects and I look forward to seeing a few of you in my classes next year.



This blog will go live again for the spring semester 2018 CTE Web Design class.

- Mr.W

Thursday, June 8, 2017

Design Contest: Design The "_________" Of The Future!

Hello Students,

Our final class exercise is a design competition. This is not a graded assignment but there will be a prize for the finalist.

Challenge: Your design challenge is to create the "_____" of the future. Imagine what a cell phone might look like in 10 years, or perhaps what will new automobiles look like. There is no limitation of the subject, you could even design the coffee cup of the future. Think about how products change and evolve over a very short amount of time. What did cell phones look like 10 years ago or 20 years ago? What everyday item can you see becoming even more advanced over time? For this challenge, I as your instructor cannot aid your efforts, you must rely on each other to problem solve.

Time limit: 1 Hour, Designs must be completed and ready to present at the deadline

Format: Final artwork must be displayed on screen as a still image or slideshow presentation. Consider that your sales pitch is as important as the merits of your design. You may use any and all resources available to visualize your design but derivative work will be disqualified (no repurposing of pre-existing concepts, designs, etc... don't steal someone else's concept design and pass it as your own basically).

Judgement: While student input is taken into consideration for judging the finalists, the ultimate decision will be made by me. I am judging based on design originality, quality of illustration and details included with your concept. What makes your product/item futuristic? What materials are it made from? How is it powered? Is your design feasible? Is it beneficial, will it sell, is it even possible with existing trends in technology.

Advice: Take a few moments to think of your idea, research similar products or ideas, research current "prototype" concepts already in existence, take inspiration where you can. Check out my own design for an electric sports coupe below.

Presentation: Be ready to present your design to the class. Be prepared to discuss the details and advantages of your design to the class.

Wait for my mark to begin!

BMW M1E Electric Prototype Automobile Design Concept by Seth Wilson

Wednesday, May 24, 2017

Web Design Reverse Learning Project

Hello Students,

In this project you will research, write and guide the class through a learning exercise. Use the internet to research a specific topic or activity or use your own knowledge as a base for creating an engaging exercise. Follow the guidelines for writing interesting lessons below and be ready to present to the class. You can use movies, powerpoint presentations, hand outs or online resources to enhance your activity.

Web Design Reverse Learning Project:
Use all resources available to write and develop an fun exercise or activity that can be taught to the class in about 10 minutes or so. Follow the structure laid out below to format your lesson. Teach the class a skill that is useful and relevant to using computers, creating digital media, using the internet or other related IT skills, techniques or concepts.

Getting Started:
  • Think of something you would like to teach to the class, must be related to web design, digital media, IT, internet or digital literacy skills... it could be a cool piece of code that enhances a website or a cool trick or hack you learned... thing of something fun that everyone can try
  • Use the internet to research and gather resources, assets and information
  • Use presentation software like powerpoint to create a presentation or use work to create hand outs, you could even use a video to help deliver your information or to engage the audience
  • Follow the structure laid out below to create a compelling activity, a good lesson will have a hook to get the audiences attention peaked, information should be presented well and there should be some kind of hands on activity.
  • Be ready to present and teach the class
How to write a good lesson for instruction:
Follow the outline below to create your lesson or project, try to have something for each section detailed in your presentation. Use my model lesson as a guide if you need more clarification.

Objectives and Goals: State the objective or learning outcome for your project. What do you expect people to be able to do when your lesson or activity is complete

Hook or Anticipatory Set: Use something to engage the audience and get their brains primed for learning. This could be an interesting image or even a video or a prop. It should be relevant to the material you are covering in your lesson

Lecture or Present: Talk about the material in your lesson or activity, provide some background information or history that is relevant. Discuss or present details about the material. A few bullet points or slides and images are all that is needed to frame the activity

Hands On Activity / Guided Practice or Independent Practice: Have a hands on activity for the class to engage in, or an independent practice activity for students to put their new knowledge to work

Model Lesson: How To Customize The Icon Of Your USB Flash Memory Thumbdrive: