HTLM5 Doctor Element index


HTML5 Element Index. Once you click on the tag you want to investigate, click on the code snippet for code you can use or the W3 to go to the specification.

02 Marking Up Content

Week 2
2/5

Semantic HTML5, Developing Website and User Experience. Writing semantic HTML5, preparing images, upload files using FTP client and organize server space. Introduce user experience in developing content and designing layout Activity: Create an HTML document for the website you analyzed with an eye on making it your own portfolio. Activity: Activate the account school provides and upload first assignment.

Homework

Create landing page with link to assignment and worksheet. Worksheet is to contain strategy, design considerations, wireframe and comp of website. Make links to these assignments on the worksheet. Read chapters 4-6. Due: The following week.

Materials

Additional materials for this unit can be found by following these links (32 pages):

last week’s links:

Goals

The goals of this unit are to:

  • Understand the user experience that drives web design.
  • Incorporate user interaction into the process of creating web sites.
  • Explore the semantic implications of the Hyper Text Markup Language.
  • Show how HTML5 imposes semantic order with its tags.
  • Mark up a document using these tags and to Validate that document using the validator.
  • Know how to prepare images for use on the web
  • Understand how to use color.
  • Use inline CSS to visually design the content.

Outcomes

At the end of this unit, students will have:

  • Will consider the user’s experience when creating for the web.
  • Have gone through the process of creating a web site.
  • Transformed content into semantically correct markup.
  • Used their server space to upload work.
  • Created a valid HTML5 document.
  • Checked the validity of that document.
  • Prepare images for the web using the correct file format and resolution.
  • Understand the hexadecimal (base 16) notation for RGB color.
  • Basic styling of the document using inline CSS styles.

Step-by-Step

20 Review homework and answer questions.
10 Discussion: What did you find out when you analyzed the website?.
10 Lecture: User Experience (UX)
10 Discussion: user experience.
30 Demonstration: Designing a website from scratch
10 Discussion: Designing a website from scratch
10 Fetch and Text Wrangler Tips Is anyone is having problems uploading to their webspace? Let me know.
10 Break
10 Lecture: Semantic Markup
40 Writing semantic HTML5
20 Lecture: Preparing Images for the Web

Final Assignment Links

Updated links that I expect to be up and live as they will be graded for your final grade.

Example of landing page from several semesters ago.

    Week 2

  1. Website Analysis*

    Week 3

  2. landing page— links to your assignments and a picture next to your name.
  3. HTML markup of Analysis
  4. Worksheet: behind the scenes on creative process for midterm (7 steps)*:

    Week 4

  5. Portfolio exhibiting the CSS selections
  6. HTML Wire Frame from PhotoShop comp

    Week 5

  7. incorporate CSS Layout Strategies in web site

    Week 6

  8. Quiz
  9. Peer Review Notes / Advice

    Week 7

  10. Typography Poster
  11. Finished Midterm: Portfolio

    Week 8

  12. Final Worksheet*

    Week 9

  13. Responsive Redesign of Portfolio

    Week 10

  14. CSS3 Collateral
  15. Class Exercise

    Week 11

  16. CSS3 Animatics
  17. Class Exercise

    Week 12

  18. Final: Modular Navigation

    Week 13

  19. Multimedia Demonstration

    Week 14

  20. Forms
  21. Peer Review Notes / Advice

    Week 15

  22. Final — You have 5 days extra to hand it in before I determine my final grade

Each assignment exhibits a skill. If you have used that skill in building your portfolio, link to that page and explain how it satisfies the homework. For example, for Week 11 CSS Animatics, if you used a hover that fades in your final, point to the page that exhibits that feature and let me know where to look if it is not completely obvious.

The final website sells something. It does not have to be lots of pages, but the quality has to be ready for public scrutiny. It should have many of the topics we covered, like CSS3, Multimedia, PHP, forms, media queries, etc.

Final Grade Calculation (from syllabus)

The final grade adds up to a possible 110%, allowing some leeway in the satisfactory completion of all assignments, as long as the student attends and participates in class. 3 Absences are ground for Failure.

Date Due Percent
9/3/14 Website Analysis* 5%
9/10/14 Landing Page 5%
9/10/14 HTML markup of Analysis 5%
9/10/14 7 Steps — Midterm Worksheet* 5%
9/17/14 CSS selections 5%
9/17/14 HTML Wire Frame from PhotoShop comp 5%
First Quarter Assessment
10/1/24 incorporate CSS Layout Strategies in web site 5%
10/1/14 Quiz:
10/1/24 Peer Review 5%
Official Midterm Review
10/8/14 Typography Poster 5%
10/8/14 Portfolio: Midterm 10%
10/8/14 class Presentation 5%
Second Quarter Assessment
10/16/14 Final: Worksheet* 5%
10/22/14 Responsive Redesign of Portfolio 5%
10/29/14/14 CSS3 Collateral 5%
11/5/14 CSS3 Animatic 5%
11/12/14 Final: Modular Navigation 5%
Third Quarter Assessment
11/19/14 HTML5 Multimedia 5%
12/19/14 Final: Peer Review 5%
12/3/14 Forms 5%
12/10/14 WordPress CMS 5%
12/10/14 Final: Presentation 5%
Final Quarter Assessment
Two assignments dropped: -10%
Total: 100%

*Do not require coding.

Current Practice UX Design

Two newspapers, the Guardian and the NY Times have updated their websites. Actually, the Guardian is currently (Fall 2014) asking for feedback, as part of its XU testing cycle, asking for user feedback.

  1. NY Times A standard setting newspaper that helped move the web away from its addiction to tables in 2007 has just been using jQuery animation. Follow the link to see how UX Design considerations led to a more engaging web experience.
  2. The Guardian tests its UXD for mobile.

More News and External Resources

Links to help you explore you explore the visual development of your Portfolio Site.

There is no reason to have a primitive site, because you want it to show off the content. Show me what you can do. That is the basis for your grade. Impress me with your design sensibility.

Official W3 Resources

Official W3 Resources: Open. Free. Crowdsourced. The Web Platform to Go to.

Depreciated Documentation

Talking Points

Topics covered in the reading:

Chapter 4: Text

  1. Starting a New Paragraph 100
  2. Adding Author Contact Information 102
  3. Creating a Figure 104
  4. Specifying Time 106
  5. Marking Important and Emphasized Text 110
  6. Indicating a Citation or Reference 112
  7. Quoting Text 113
  8. Highlighting Text 116
  9. Explaining Abbreviations 118
  10. Defining a Term 120
  11. Creating Superscripts and Subscripts 121
  12. Noting Edits and Inaccurate Text 124
  13. Marking Up Code 128
  14. Using Preformatted Text 130
  15. Specifying Fine Print 132
  16. Creating a Line Break 133
  17. Creating Spans 134
  18. Other Elements 136

Chapter 5: Working with Images

  1. About Images for the Web 148
  2. Getting Images 152
  3. Choosing an Image Editor 153
  4. Saving Your Images 154
  5. Inserting Images on a Page 156
  6. Offering Alternate Text 157
  7. Specifying Image Size 158
  8. Scaling Images with the Browser 160
  9. Scaling Images with an Image Editor 161
  10. Adding Icons for Your Web Site 162

Chapter 6: Links

  1. The Anatomy of a Link 166
  2. Creating a Link to Another Web Page 167
  3. Creating Anchors 172
  4. Linking to a Specific Anchor 174
  5. Creating Other Kinds of Links 175

Definitions

These are the terms that participants should be familiar with during this unit:

Semantic Web

The Semantic Web is a “web of data” that enables machines to understand the semantics, or meaning, of information on the World Wide Web. It extends the network of hyperlinked human-readable web pages by inserting machine-readable metadata about pages and how they are related to each other, enabling automated agents to access the Web more intelligently and perform tasks on behalf of users. The term was coined by Tim Berners-Lee, the inventor of the World Wide Web and director of the World Wide Web Consortium, which oversees the development of proposed Semantic Web standards. He defines the Semantic Web as “a web of data that can be processed directly and indirectly by machines.”

User Experience

User experience (UX) is about how a person feels about using a product, system or service. User experience highlights the experiential, affective, meaningful and valuable aspects of human-computer interaction and product ownership, but it also includes a person’s perceptions of the practical aspects such as utility, ease of use and efficiency of the system. User experience is subjective in nature, because it is about an individual’s feelings and thoughts about the system. User experience is dynamic, because it changes over time as the circumstances change.

User Interface design

User interface design or user interface engineering is the design of computers, appliances, machines, mobile communication devices, software applications, and websites with the focus on the user’s experience and interaction. The goal of user interface design is to make the user’s interaction as simple and efficient as possible, in terms of accomplishing user goals—what is often called user-centered design. Good user interface design facilitates finishing the task at hand without drawing unnecessary attention to itself. Graphic design may be utilized to support its usability. The design process must balance technical functionality and visual elements (e.g., mental model) to create a system that is not only operational but also usable and adaptable to changing user needs.

Interface design is involved in a wide range of projects from computer systems, to cars, to commercial planes; all of these projects involve much of the same basic human interactions yet also require some unique skills and knowledge. As a result, designers tend to specialize in certain types of projects and have skills centered around their expertise, whether that be software design, user research, web design, or industrial design.

Web design

Web design is a broad term used to encompass the way that content (usually hypertext or hypermedia) is delivered to an end-user through the World Wide Web, using a web browser (e.g. Opera, Internet Explorer, Firefox, Google Chrome, Safari) or other web-enabled software to display the content. The intent of web design is to create a website—a collection of online content including documents and applications that reside on a web server/servers. A website may include text, images, sounds and other content, and may be interactive.

Information Design

Information design is the skill and practice of preparing information so people can use it with efficiency and effectiveness. Where the data is complex or unstructured, a visual representation can express its meaning more clearly to the viewer.

Information Architecture

Information architecture is defined by the Information Architecture Institute as:

  1. The structural design of shared information environments.
  2. The art and science of organizing and labeling web sites, intranets, online communities, and software to support findability and usability.
  3. An emerging community of practice focused on bringing principles of design and architecture to the digital landscape.

02 Designing for the Web

Parsons students hopefully familiar with the language of design as it pertains to graphic design, illustration, product design, photography. Lang students will have experience in developing arguments of one sort or another. Play up your strengths.

7 steps everyone needs to document in a worksheet when creating their website. There are more steps that are faded out. I do not require you to do those.

You are required to document these creative decisions in the worksheet. They are required for me to evaluate your midterm and final, and count toward your grade.

1) Develop Your Idea

Define the problem you are to solve when developing a web site. It is hard to create a good end product if the problem is not very well defined at the beginning.

Sometimes the problem is given to you by the client, but the client does not alway know exactly what the problem is. It’s your job to figure that out.

Either way, develop your idea.

It is hard to sell a bad idea.

This time you are your own client. That is difficult.

Make sure that whatever you come up with will work and is worth the time spent making it real.

2) Discovery and Research

Discovery and research is the second step. You might have a good idea of what you want, but test it by contrasting the idea with similar ideas that have already been executed. Google to see what others have done. The first assignment should have been a gigantic step in the right direction.

Find competitor web sites that have a track record that you can learn from, or have developed novel ways to express things that you are also desiring to express.

Tell me what you have learned and the conclusions you have reached from your research. I will be looking for that in the worksheets for both the midterm and the final projects.

3) Target Your Audience

Focus your energy by figuring out who your audience is, and target them.

Develop your content with that audience in mind.

Read the user experience article.

Go further and read Designed For Use by Lukas Mathis and develop a killer user interface because this excellent book will give you a good understanding of how user interfaces work, and work well, and what to look out for, to make sure that they do work.

Whatever you do, keep the user in mind.

4) Inspiration

Look for sites that inspired you. Here are two single page sites : UltraWebPage and Head to Heart.

Mood boards are another way to visually stimulate your design sense. You can test colors images, design elements, ideas, etc, as you develop your design intent. Print these out and place them on a board, or layer them in a Photoshop document. Playing with the visual hierarchy of like or contrasting elements can help gel the creative process.

Mood boards are used to develop the overall feel of a project, putting together images and objects which inspire, target desires and facilitate creativity and innovation in establishing the aesthetic feel of a web site.

Things that can be explored in the mood board include photography style, color palettes, typography, patterns, and the overall look and feel of the site. Soft or hard? Grungy or clean? Dark or light? A rough collage of colors, textures and pictures is all it takes to evoke a specific style or feeling. This process can act like a catalyst and save a lot of time and help focus in on your final design.

5) Thumbnails

Once you are clear as to what your problem is, and have content and direction, the next step is to respond with a user centered design solution using pencil and paper.

I would like to see the sketches and variations that show how you arrived at the solution. These are called thumbnails, because they start simple and small.

It takes more than one thumbnail to develop a finished concept. You never can tell ahead of time what will work, but you can separate out what does not appear to work ahead of time. Increase your success rate by staying with paper and pencil till you are clear about how to solve your problem.

Circle or otherwise indicate the one that you went with. Take a picture or scan the drawings and upload them to the worksheet.

6) Wireframes

Wireframes are lines or boxes with some text and a few visual widgets that represent your website structure and help you establish hierarchy. It is a clean pixel perfect interpretation of the thumbnail that you selected to go with.

Wireframes help you save time because you can work out how your website works and looks over and over again until you get the details of user experience and design just right.

Then you will know exactly where the boxes need to go, their size, and how to position them, when you build the website.

Though a wireframe takes longer than a thumbnail, it takes much less time than a photoshop comp or an HTML prototype.

Take a moment and learn how to read, evaluate and design wireframes.

This is a low fidelity wireframe of the NY Times site.
NYTimes simple wireframe

Higher fidelity wireframes provide more information.
http://www.flickr.com/photos/rohdesign/3865262895/lightbox/

It is possible to use ready made toolkits using photoshop(explanation), Illustrator (explanation) and InDesign (explanation with video tutorials) for creating wireframes.

A stylized Illustrator version (explanation) puts some distance between how it looks and what it will look like. This is ideal for working with clients who often start to sweat over details that can kill the creative process. Make sure you set the Document Raster Settings to 72 dpi for fast rendering while you work.

wireframe example
Main elements blocked-out with grids from the 960 package.

Balsamiq Mockups is a wireframe application with limited interactivity that is free to use for 7 days. It too has a hand drawn look to foil client expectations. They have a great tutorials. Other free wireframe web applications like Cacoo can also be used.

wireframe example
Cacoo Online Wire Frames

7) PhotoShop Comp

This is the last step I require that you take, which is to create a photoshop comp. After coming up with the idea, doing the research, sketching the direction and building a wireframe, you are ready to create the PhotoShop Comp.

It is quite common for people to comp up a site in photoshop, and there are lots of tutorials that will tell you how to do it. Those who aren’t can look through the tutorial or search the web for other tutorials.

Since most of you are photoshop wizards, I will not elaborate how to realize your website in PhotoShop.

Prototype the Website

The Web Design workflow has to reflect the information architecture, the interaction design and the user experience. Prototyping can help facilitate the development of all three.

A prototype can be fast, nothing more than a series of wireframe sketches, or it can be visually complete, like a photoshop comp or even a bare bones working website.

It can be static, meaning that the buttons are not functional and cannot be tested, or fully interactive, like a working wireframe, for example.

You can leave out the content, or use the lorum ipsum placeholder text. It’s also possible to work with finished content, which is most likely what you will do, but know that its often better to ignore the content (after it has been prepared and mapped out) while working on prototyping the design and functionality of the site.

Designing with a Grid

Whatever wireframe toolkit you use, you need to consider that you will be working in pixels, and to make it easy on yourself, use a 960 grid. This number is evenly divisible by a number of denominators, so its ideal for creating grids and organizing your layout. You get additional flexibility by adding gutters to the columns. The height is not crucial and can be between 700 and 800 pixels for development purposes.

Start with defining the grid you want to use with Gridulator. It’s enough right now to pick a grid that you want to develop in and make a png. It will be 960 pixels across. This example had been shrunk to 500 pixels across. use it in photoshop to develop your bio comp.

wireframe example
960px-8col-120w-0gut.png

It’s possible that you want to develop not just a prototype, but the entire website in something like the 960 Grid System, which utilizes a number of canned CSS classes that quickly allow you to mock up your site. That’s not the goal right now, but we can use some of the 960 resources to help make the photoshop comp, or make pdf templates to print out for quickly sketching what you want your page to look like. There are a number of other such HTML/CSS Frameworks, like Twitter’s Bootstrap.

960 Print Grid
Print out these grids to help facilitate translating your design to the web.

The Feedback Loop: User Testing

The reason for quickly prototyping your site is to receive user feedback, so that you can change it as you go along. You use the feedback from the review of the prototype to refine it, and get it reviewed again. The more user input you receive, the more likely the web site will work as expected. There are a few ways to get user feedback.

Card Sorting

One of the quickest ways to get meaningful user feedback is to use card sorting. Create cards with concepts, tasks and features the web site is to have and shuffle them. Then ask users to organize and rate the cards. Repeat the procedure with different users and you will have an idea of how to organize your website.

User Testing

Another way to get feedback is to do a 5 second test. This is quick and easy, and you will be required to visit 5 Second Test and participate in a number of tests. This provides rudimentary function and design feedback, but if the feedback isn’t spot on, it will have given you something to think about.

Once you have a prototype built, you can set up a more complete user testing that can gauge a user’s response to using the web site. There are plenty of websites that offer such services, of you can run user testing software yourself.

02 Homework

  1. Your server should be set up.
  2. Your first assignment should be finished and marked up with semantic HTML5.
  3. The first assignment has been an exploration into how a website works.
  4. Now use that information to shape the user experience of your portfolio website

    Watch the I love UX Design Videos

  1. ILUVUXDESIGN part I from lyle on Vimeo.

  2. ILUVUXDESIGN part II from lyle on Vimeo.

Landing Page

  1. You are to create an index.html inside your parsons folder that contains your name, a picture, and a link to all of your assignments. Here is an example from a few semesters ago (expect the assignments to be different).
  2. Assignments, when they are due and how much of your grade they represent: You can copy the list and paste it into a HTML5 Template, and turn each topic into a link that leads to your assignment. I did week as an example.
    <ol>
    <h3>Week 2</h3>
    <li><a href="relative_link_to_your_assignment.html">Website Analysis*</a>
    <h3>Week 3</h3>
    </li><li>landing page— links to your assignments and a picture next to your name.
    </li><li>HTML markup of Analysis
    </li><li>Worksheet: behind the scenes on creative process for midterm (7 steps)*:
    <h3>Week 4</h3>
    </li><li>Portfolio exhibiting the CSS selections
    </li><li>HTML Wire Frame from PhotoShop comp
    <h3>Week 5</h3>
    <li>incorporate CSS Layout Strategies in web site
    <h3>Week 6</h3>
    <li>Quiz
    <li>Peer Review Notes / Advice
    <h3>Week 7</h3>
    <li>Typography Poster
    <li>Finished Midterm: Portfolio
    <h3>Week 8</h3>
    <li>Final Worksheet*
    <h3 >Week 9</h3>
    <li >Responsive Redesign of Portfolio
    <h3>Week 10</h3>
    <li>CSS3 Collateral
    <li>Class Exercise
    <h3>Week 11</h3>
    <li >CSS3 Animatics
    <li>Class Exercise
    <h3>Week 12</h3>
    <li>Final: Modular Navigation
    <h3>Week 13</h3>
    <li>Multimedia Demonstration
    <h3>Week 14</h3>
    <li>Forms
    <li>Peer Review Notes / Advice
    <h3>Week 15</h3>
    <li>Final
    </ol>
    
  3. See Setting Up Your Server Space for more complete details on how to set up the landing page and the other assignments on the server. See how to create a Relative Address and Creating Tags if you need a reminder how to do that.

Structure Every Documents Using HTML5

The last part of the Semantic Markup article has the correct HTML5 elements you are required to use for all assignments. Most are present in the HTML5 template, so use them to organize your page.

  • section represents a generic document or application section. It can be used together with the h1, h2, h3, h4, h5, and h6 elements to indicate the document structure.
  • aside represents a piece of content that is only slightly related to the rest of the page. For complimentary content to the main content (Taken from XHTML 2.0 specification)
  • hgroup represents the header of a section.
  • header represents a group of introductory or navigational aids.
  • footer represents a footer for a section and can contain information about the author, copyright information, et cetera.
  • nav represents a section of the document intended for navigation.
  • figure represents a piece of self-contained flow content, typically referenced as a single unit from the main flow of the document.
    <figure>
    <video src="ogg"></video>
    <figcaption>Example</figcaption>
    </figure>
  • figcaption can be used as caption (it is optional).

Designing Your Web Site

  1. Figure out your Target Audience and address them as you define the problem your portfolio has to solve. The first assignment will be your guide.
  2. Do the 7 steps involved in designing a web site. These steps are relevant to any creative project. Apply them to your portfolio website.
  3. Step #7 is to create a comp using photoshop, Illustrator or Indesign. The comp should answer the problem set forth in step #1 and demonstrate the solution, using the material that you have researched, written and collected.
  4. Set the measurements in Photoshop, Illustrator, Fireworks, or Indesign to pixel information so it is easily translates into the pixels when developing the layout in CSS. This way 350 pixels wide in Photoshop will translate to width: 350px; in the code.

Documenting the Design Process

  1. The seven steps are the basis for a sketch-book equivalent I call the work-sheet that is to accompany each major assignment. You will end up with two such work-sheets for the course, one for the portfolio site and one for the final.
  2. The purpose of the work-sheet is to organize all the behind-the-scenes creative-decision making. I will give you credit for good decisions, even if you cannot execute them.
  3. Jot down notes, questions and anything that helps you track your creative process. I will be looking at these to monitor your progress.
  4. As they require almost no coding, I expect them to be finished by the date that they are due.

Instructions for creating the worksheet

  1. Use the HTML5 Template.
  2. Set the article width to something like 700px in the <style> in the <head> of the document.
  3. Link to the assignment.
  4. Write in full sentences and use headers to explain what you are writing about. I like to see work that’s structured in a consistent in a logical way.
  5. Write down any questions, comments or observations that you may have in an ordered list <ol> at the top of the document.
  6. Topics will follow the 7 steps in Designing for the web, such as writing in the target audience.
  7. Assess problems and identify solutions.
  8. Include pictures of at least four thumbnails or two mood boards to show the trail of ideas that have led you to your final product. The point here is to show creative development, spatial exploration and how you’ve gone about solving the problems you’ve identified.
  9. You can photograph or scan in the thumbnails together or as individual pictures, and comment them as you wish using <figure> and <figcaption>
  10. Size any and all images to be no larger than the size you present them. Huge pictures take much longer than necessary to download.

Grading Criteria

I am looking to see how your coding skill are progressing, in both the homework and the worksheet. The more you code, the better you get at it. Once again, using the validator will help you to deliver a technically perfect document. Use it often if you are having problems, every few lines of code, that way you can see the mistakes you make and correct them one by one.

I want to see you explore your solution in the creative process from how you state the problem to possible answers, and to have you eliminate all that does not work as well as the answer you end up with. Have many thumbnails to document the process, not just the few that lock into the concept that you’ve gone with. While all of this documentation is overkill for the current assignment, you will get into the habit and develop the proper methods when it comes to creating a complete web site.

I will be grading you on levels of confidence, consistency, creativity, innovation, precision, accuracy, efficiency and the ingenuity by which you are able to solve the problems.

02 Preparing Images and Color for the Web

Images need to be prepared so that they upload quickly. Use photoshop to limit the resolution to the screen and specify the image in terms of pixels. You also need to select the appropriate image format.

Size

The resolution should be 1 to 1, pixel for pixel to the screen. The problems is that there are a number of different screen sizes and resolutions that do not make this easy.

If the picture is too small or large, the browser will up resolve or down resolve the picture to fit. It does not do as good a job as displaying the picture at 1 to 1 ratio. Make sure that you do not have a huge picture and down resolve it, as it takes too long to download, and looks worse.

Traditional sizes for iPhone are 320px by 480px to 960px in width for the computer monitor. Modern displays double that resolution, and a proliferation of mobile and tablet devices have resolutions all up and down the spectrum. Websites on monitors can easily go wider than 1300px, but rarely eclipse 1920px, the width of the majority of monitors currently in use.

Using responsive CSS techniques, you can prepare pictures for mobile and desktop versions, and switch between them to save bandwidth. This will become more clear in week 8.

File Formats

Gif Images (and PNG-8)

gif example

For graphic images that have large areas of solid color, like those produced with Illustrator, or strongly contrasting finely detailed lines like serifs in type, use gif or the license unencumbered 8 bit png. They reduce the 16 million plus computer colors to a look-up table of up to 8 bits, or 256 colors. It is possible to set transparency, but it is a 1 bit off/on transparency, and not an alpha channel that would produce a smooth transition. That means there is no antialiasing of the image, which makes the transition look pretty ugly when placed on a background unless the colors match. In the image on the right, you can see that it does not blend into the background color. The blend ends abruptly as the transparency gives way to the pink background. When the backgrounds do match, the 1 bit transparency works. This format works well to preserve type and other fine detail in the picture. Jpeg, on the other hand, tends to soften such strongly contrasting detail and adds artifacts that disrupt areas of solid color.

Gif Animations

Simple animations can be created by using Photoshop or web apps like Gif Ninja.

JPEG

jpeg example
A photo of a flower compressed with successively more lossy compression ratios from left to right.

Use the JPEG format (with the extension .jpeg or .jpg) for photographs. JPEG stands for Joint Photographic Experts Group. It’s the most commonly used method of lossy compression for photographic images, as photographs still look good even when they are a fraction of their original file size. Image degradation does occur when the compression is too great, so for good fidelity, use around 40%, or for high quality, like your portfolio images, use 60% compression. If there is a lot of noise or detail in the image, compression is less efficient.

jpeg example

With increased compression come artifacts. You may increase the compression till the artifacts become problematic. The example at the right is compressed at 10% to show off the artifacts, but even at 60% introduces significant artifacts. That is why GIF and PNG-8 are preferred over JPEG for type and other finely detailed images. Before web fonts were widely available, titles were often set as a picture to maintain a typeface. GIFs are far superior than JPEGs for that purpose, as you can see.

There is no alpha channel associated with jpegs. That makes them rectangular, which is not always desirable. You would have to match the background if you want the image boundaries with the existing background color.

PNG-24

png example

You can have the best of both worlds by using the 24 bit png format, which should really be called a 32 bit png format, because it contains an 8 bit alpha channel. This format allows you to composite an image of any shape with perfect anti-aliasing, just like in photoshop. It renders all details perfectly, without artifacts. There is just one big price to pay. The cost of using PNG-24 is huge in terms of the file size, so be discrete in your usage of this otherwise marvelous format.

Save for Web

We all use Adobe products to prepare our images for the web. Use the save for web interface — command, option, shift S — to prepare your images, be it from Photoshop or Illustrator, and choose one of these methods. You can select the different attributes and compare the levels of compression and the quality.

Color on the Computer

  1. bit = 2 colors
  2. bits = 4 colors
  3. bits = 8 colors
  4. bits = 16 colors
  5. bits = 32 colors
  6. bits = 64 colors
  7. bits = 128 colors
  8. bits = 256 colors

Color on the computer is composed of red, green and blue channels, or RGB. Each channel is allocated 256 levels of intensity. The computer starts counting its colors at 0 for each channel. 0 represents off, or black, while 255 — and not 256, since the counting starts with 0 — is fully on. If the red, green and blue channels are at 255, or completely on, the color is white. There are over 16 million possible colors between black and white. The exact number is 256 x 256 x 256, or 16,777,216 colors.

8 Bits to a Byte

256 represents the number of possibilities stored in one byte. One byte is composed of 8 bits of information. Three channels at 8 bits each is known as 24 bit color. An additional alpha channel can be added as a mask, requiring 32bits in all to describe the color state of each pixel. Photoshop is essentially a calculator, calculating the 32 bit color for each channel with all the other channels to arrive at the 32 bit composite image of all the channels. The same compositing happens when using PNG-24 images.

Each of the eight bits per channel represents the binary state of either on or off, as that is how digital computers work. The number of different possible stares that these 8 bits of information can form is 256.

One bit is either off or on. Two bits make for four possibilities. The bits can be off off, off on, on off or off off. If you add one more bit, you double the number of states because you get the same four possibilities twice. The first four with the third bit off and the next four with the third bit on. This continues, doubling each time another bit is added, till 8 bits creates 256 possible states.

Base 16, or Hexadecimal Numbers

This color is 182 red, 161 green and 134 blue. In web development, this color is often described, not in base 10, but using hexadecimal, like this: #b6a186 .

That is because programers divide the byte (8 bits) into two nibbles (4 bits each, or 16 possibilities) which corresponds into two hexadecimal numbers. Hexadecimal is a short hand way to write binary numbers and that make life easier for programers. See table of nibbles.

Hexadecimal is base 16. It is as if we have 8 fingers on each hand, or 16 fingers all together. We count that 0 1 2 3 4 5 6 7 8 9 a b c d e f. That is 16 digits all together. Two hexadecimal numbers express a channel’s color: 16 x 16 = 256. Six hexadecimal characters can express any of the 16 million plus possible colors. For example, the hexadecimal b6 is the same as the base ten number 182 .

If the hexadecimal units are the same in each of the three channels, as in red: #ff0000 , it can be shortened to #f00 . When all the channels are the same value, #888, the colors cancel each other out, and all that is expressed is the brightness value. #444 is dark grey while #bbb is light gray.

Color Names

You can use names instead of code. The name silver is a light grey. The actual code for silver is #c0c0c0 and it has an RGB value of 192 for each channel. Common color names are red, orange, yellow, green, cyan, blue, purple and pink. A complete list of all the colors can be found in the color demo

Here are the names of the colors, with their Hexadecimal and decimal numbers:

Color Color name Hex rgb Decimal

    aliceblue #f0f8ff 240,248,255

    antiquewhite #faebd7 250,235,215

    aqua #00ffff 0,255,255

    aquamarine #7fffd4 127,255,212

    azure #f0ffff 240,255,255

    beige #f5f5dc 245,245,220

    bisque #ffe4c4 255,228,196

    black #000000 0,0,0

    blanchedalmond #ffebcd 255,235,205

    blue #0000ff 0,0,255

    blueviolet #8a2be2 138,43,226

    brown #a52a2a 165,42,42

    burlywood #deb887 222,184,135

    cadetblue #5f9ea0 95,158,160

    chartreuse #7fff00 127,255,0

    chocolate #d2691e 210,105,30

    coral #ff7f50 255,127,80

    cornflowerblue #6495ed 100,149,237

    cornsilk #fff8dc 255,248,220

    crimson #dc143c 220,20,60

    cyan #00ffff 0,255,255

    darkblue #00008b 0,0,139

    darkcyan #008b8b 0,139,139

    darkgoldenrod #b8860b 184,134,11

    darkgray #a9a9a9 169,169,169

    darkgreen #006400 0,100,0

    darkgrey #a9a9a9 169,169,169

    darkkhaki #bdb76b 189,183,107

    darkmagenta #8b008b 139,0,139

    darkolivegreen #556b2f 85,107,47

    darkorange #ff8c00 255,140,0

    darkorchid #9932cc 153,50,204

    darkred #8b0000 139,0,0

    darksalmon #e9967a 233,150,122

    darkseagreen #8fbc8f 143,188,143

    darkslateblue #483d8b 72,61,139

    darkslategray #2f4f4f 47,79,79

    darkslategrey #2f4f4f 47,79,79

    darkturquoise #00ced1 0,206,209

    darkviolet #9400d3 148,0,211

    deeppink #ff1493 255,20,147

    deepskyblue #00bfff 0,191,255

    dimgray #696969 105,105,105

    dimgrey #696969 105,105,105

    dodgerblue #1e90ff 30,144,255

    firebrick #b22222 178,34,34

    floralwhite #fffaf0 255,250,240

    forestgreen #228b22 34,139,34

    fuchsia #ff00ff 255,0,255

    gainsboro #dcdcdc 220,220,220

    ghostwhite #f8f8ff 248,248,255

    gold #ffd700 255,215,0

    goldenrod #daa520 218,165,32

    gray #808080 128,128,128

    green #008000 0,128,0

    greenyellow #adff2f 173,255,47

    grey #808080 128,128,128

    honeydew #f0fff0 240,255,240

    hotpink #ff69b4 255,105,180

    indianred #cd5c5c 205,92,92

    indigo #4b0082 75,0,130

    ivory #fffff0 255,255,240

    khaki #f0e68c 240,230,140

    lavender #e6e6fa 230,230,250

    lavenderblush #fff0f5 255,240,245

    lawngreen #7cfc00 124,252,0

    lemonchiffon #fffacd 255,250,205

    lightblue #add8e6 173,216,230

    lightcoral #f08080 240,128,128

    lightcyan #e0ffff 224,255,255

    lightgoldenrodyellow #fafad2 250,250,210

    lightgray #d3d3d3 211,211,211

    lightgreen #90ee90 144,238,144

    lightgrey #d3d3d3 211,211,211

    lightpink #ffb6c1 255,182,193

    lightsalmon #ffa07a 255,160,122

    lightseagreen #20b2aa 32,178,170

    lightskyblue #87cefa 135,206,250

    lightslategray #778899 119,136,153

    lightslategrey #778899 119,136,153

    lightsteelblue #b0c4de 176,196,222

    lightyellow #ffffe0 255,255,224

    lime #00ff00 0,255,0

    limegreen #32cd32 50,205,50

    linen #faf0e6 250,240,230

    magenta #ff00ff 255,0,255

    maroon #800000 128,0,0

    mediumaquamarine #66cdaa 102,205,170

    mediumblue #0000cd 0,0,205

    mediumorchid #ba55d3 186,85,211

    mediumpurple #9370db 147,112,219

    mediumseagreen #3cb371 60,179,113

    mediumslateblue #7b68ee 123,104,238

    mediumspringgreen #00fa9a 0,250,154

    mediumturquoise #48d1cc 72,209,204

    mediumvioletred #c71585 199,21,133

    midnightblue #191970 25,25,112

    mintcream #f5fffa 245,255,250

    mistyrose #ffe4e1 255,228,225

    moccasin #ffe4b5 255,228,181

    navajowhite #ffdead 255,222,173

    navy #000080 0,0,128

    oldlace #fdf5e6 253,245,230

    olive #808000 128,128,0

    olivedrab #6b8e23 107,142,35

    orange #ffa500 255,165,0

    orangered #ff4500 255,69,0

    orchid #da70d6 218,112,214

    palegoldenrod #eee8aa 238,232,170

    palegreen #98fb98 152,251,152

    paleturquoise #afeeee 175,238,238

    palevioletred #db7093 219,112,147

    papayawhip #ffefd5 255,239,213

    peachpuff #ffdab9 255,218,185

    peru #cd853f 205,133,63

    pink #ffc0cb 255,192,203

    plum #dda0dd 221,160,221

    powderblue #b0e0e6 176,224,230

    purple #800080 128,0,128

    red #ff0000 255,0,0

    rosybrown #bc8f8f 188,143,143

    royalblue #4169e1 65,105,225

    saddlebrown #8b4513 139,69,19

    salmon #fa8072 250,128,114

    sandybrown #f4a460 244,164,96

    seagreen #2e8b57 46,139,87

    seashell #fff5ee 255,245,238

    sienna #a0522d 160,82,45

    silver #c0c0c0 192,192,192

    skyblue #87ceeb 135,206,235

    slateblue #6a5acd 106,90,205

    slategray #708090 112,128,144

    slategrey #708090 112,128,144

    snow #fffafa 255,250,250

    springgreen #00ff7f 0,255,127

    steelblue #4682b4 70,130,180

    tan #d2b48c 210,180,140

    teal #008080 0,128,128

    thistle #d8bfd8 216,191,216

    tomato #ff6347 255,99,71

    turquoise #40e0d0 64,224,208

    violet #ee82ee 238,130,238

    wheat #f5deb3 245,222,179

    white #ffffff 255,255,255

    whitesmoke #f5f5f5 245,245,245

    yellow #ffff00 255,255,0

    yellowgreen #9acd32 154,205,50

Change the Color of the Background

CSS Code View

Live Demo

Hue Saturation and Brightness (HSB)

  1. red is 0°
  2. yellow is 60°
  3. green is 120°
  4. cyan is 180°
  5. blue is 240°
  6. magenta is 300°

The first specification to be widely implemented, CSS3 color, includes opacity and the hue, saturation and luminance (HSL) color space.

HSL takes three values: Hue is a degree on the color wheel from 0 to 360, where 0 is red, 180 is green and 240 is blue and 360 is red again. So is 720, or any other multiple of 360 — the colors repeat.

Saturation is a percentage value: 100% is full saturation and 0% is no saturation. Saturation works in conjunction with luminance.

Hexadecimal Percent
#000 0%
#111 7%
#222 13%
#333 20%
#444 27%
#555 33%
#666 40%
#777 47%
#808080 50%
#888 53%
#999 60%
#aaa 67%
#bbb 73%
#ccc 80%
#ddd 87%
#eee 93%
#fff 100%

Luminance is also a percentage; 0% is dark (black), 100% is light (white), and 50% allows for full chroma before it is made lighter or darker. The table on the right gives percentages of grey translated from hexadecimal, or base 16, with middle grey being #808080.

Connecting up the color with the degree is the least intuitive part of this more intuitive way to think about color, but it is preferred over the RGB method of specifying a color. With HSLa it is easy to increase the saturation or luminance for a particular hue, something that is not at all intuitive using RGB.

Opacity

CSS3 also added the alpha property transparency, or opacity, or alpha, which can be combined with color to change RGB to RGBA and HSL to HSLA. The value range is from 0 to 1, with 0 being transparent and 1 being opaque. That makes .5 half way transparent. color: hsla(0,50%,50%,.5 You can make any element transparent by using the opacity property.

To help you see the relation between the HLS and opacity, change the numbers in this demo. I’m sure you have a favorite color or color combination. Try changing some of these colors to your favorite colors:

CSS Code View

Hue is from 0 to 360°:
red=0°, orange=30°,
yellow=60°, green=120°,
cyan=180°, blue=240°,
purple=280°, magenta=300°,
pink=320°, red=360°, and so on, for the colors repeat.
Saturation is from 0% to 100%. Luminance is from 0% to 100%, with 50% being fully saturated. Transparency is from 0 to 1, with 0 being fully transparent and 1 being fully opaque.

Pick a Color: HSLa Generator

Mother-effing hsl() by Paul Irish

02 Fetch and Text Wrangler

Publishing Your Work using Fetch

Everyone needs to publish their work on the web. We start the class by making sure that everyone can, using Fetch.

The server space is a lot like your desktop, only instead of folders, they are called directories. These servers are usually run by computers running Linux. These operating systems do not tolerate spaces, and lower case letters and capitalized letters (a and A) are two different letters. As long as you follow those rules, you should have no problem uploading files to your web space.

You can drag and drop between the Finder window and Fetch, and the document icon in Textwranger can also be dragged into fetch. Know that when you drag the same document into Fetch, the document will be overwritten without warning.

If you need more help, visit the Fetch help pages

Writing Code using TextWrangler

TextWranger is a free program that will serve as our text editor. There are a number of useful features that will make your life easier, including coloring the code so you know that you are doing it right, search and replace over multiple documents, show line numbers, invisibles, etc. If you need more help, download the TextWrangler Documentation PDF.

The most important features that you need to be aware of is that by clicking on the document icon, you go to it in the finder. You can use that icon to drag the file into the browser or into Fetch as well. The pencil locks the document, if you do not want to make any changes to one or another document (useful if you are comparing one document to another and get confused). The pop-up list shown as a box with the T has a number of useful preferences, including Soft Wrap Text and Show Line Numbers. At the bottom of the toolbar is a pop-up list that has the open documents in it, and next to that is a pop-up list that shows major tags and comments. This is one way to easily get around a long document, provided that you comment your work. Another useful feature for long documents is the ability to split the document window into two views, which you do by click and dragging the small grey rectangle right above the scroll bar.

02 Semantic Markup

The goal is to prepare a semantically well formed HTML document. How do we go about doing this?

Organizing the Content

Document structure before HTML5 was organized according to the hierarchy of header tags, which went from the most general to more specific, following the way content is created.

How content is created? In a well written document, the topic is expressed by the title. It is then supported by subtopics. This structure is duplicated in HTML. The main header expresses the title, and sub headers express the subtopics.

This hierarchy of headers used to be the only structure an HTML document had. The title is an <h1> header that explains what document is about. Second level topics are given a <h2> header, and if there are third or forth level topics, they receive a <h3> or <h4>. Headers become more specific as the levels go down, to level <h6>, the most specific header available in HTML. There is no <h7>.

Here Come the Machines, or The Semantic Web

We can understand the content of a web page, because we are cognizant beings. The World Wide Web was originally built for human consumption, and although everything on it is machine-readable, this data is not machine-understandable. It is very hard to automate anything on the Web, and because of the volume of information the Web contains, it is not possible to manage it manually.

It has been a goal of the 3W.org and of Tim-Berners-Lee in particular to overcome this problem. To that end, Tim Berners-Lee coined the term semantic web, and has simplified it to something he calls linked data. You can see this idea embodied in a discussion of statistics by Swedish professor Hans Roseling.

The goal of the semantic web project is to make machines understand, as far as possible, the meaning of the content from the structure and meta information contained in the markup itself. This would allow automated agents, like bots that cruse the web, to link up information in a meaningful way.

Such agents would automatically locate related information on behalf of the user. That would allow us to cut through the noise, so to speak.

The semantic web has been gaining ground, and is currently (2015) expressed as

In addition to the classic “Web of documents” W3C is helping to build a technology stack to support a “Web of data,” the sort of data you find in databases. The ultimate goal of the Web of data is to enable computers to do more useful work and to develop systems that can support trusted interactions over the network. The term “Semantic Web” refers to W3C’s vision of the Web of linked data. Semantic Web technologies enable people to create data stores on the Web, build vocabularies, and write rules for handling data.

HTML vs XHTML

HTML is tolerant of human differences in coding and allows for errors. That made it difficult for machines to understand the semantic meaning of the content. W3.org introduced XHTML as a way to clean up the excesses of human error. It saw XHTML as the future of the web, and was fully prepared to release XHTML2 as the future of the web back in 2005-6. Good thing for us that didn’t happen.

Based on XML, or extensible machine language, it would have make the web much more friendly for machines to repurpose, but at a price. Humans would have been required to write code with machine like accuracy in creating all of their web pages. To enforce that, draconian error handling would not render pages if they were not XHTML2 compliant.

A group of browser makers (Apple, Mozilla Foundation and Opera) revolted and came together in 2004 to form the Web Hypertext Application Technology Working Group (WHATWG). They created HTML5 in response to XHTML2, making it forgiving to human error, even standardized how errors are to be resolved, and introduced new tags that would allow for a more semantic web.

The messy world of human error won over the more perfect coding world of machines. XHTML 2.0 was canned by the W3.org and was allowed to expire in 2009, officially recognizing HTML5 as the way of the future. It should be noted that there is an XHTML5 version, for machines to read and write, of course, but we need not be concerned with that.

You can view the differences between HTML and XHTML in this Table. To provide but one example, while XHTML requires all starting and ending tags, HTML is quite cavalier about it, so that both starting and ending tags are optional for the html, head and body tags. A well formed HTML5 document can start and end with the content itself. End tags are optional for li, dt, p, tr, td. I personally started to leave these out as the W3.org site itself leaves them out. I figure that they set the standard by which we are to measure our web pages. Roll over in your grave, XHTML2.

Tag Soup

The model for marking up a page is to let the CSS do all of the styling. This is most easily done by using the <div> tag for block elements and the <span> tag for inline elements, and then giving them id or class attributes: <div id="header">. <Div> stands for division, and is a generic element that, along with other block elements, can be thought of as boxes that divide the page. The <span> tag “spans” the content of inline elements. The content of inline elements are like characters, though they can be pictures, links or characters that make up the content of a paragraph.

Everything can be marked up with these <div> and <span> tags, and before HTML5, this is what a lot of people did, to the exclusion of using the other HTML tags.

The problem is that these are generic tags that do not impart any meaning onto the content. The over-use of these tags, called “classitis” and “divitis”, of which I have been guilty of in the past, contributed to a lack of semantically well formed web pages. Being semantically neutral, the markup could not be counted on to help machines understand the meaning of the content.

The solution is simple. Use the different HTMl tags to determine the content, and only use the <div> and <span> tags if necessary.

Imparting Semantic Meaning to the Markup.

The content can be structured so that it becomes more semantically meaningful, by using the header tags, specific tags, microformats and meta tags. HTML5 then comes along and introduces a number of new tags that help determine the document content’s. meaning .

Document Hierarchy

As mentioned above, before HTML5, documents were structured using the header tags <h1> through <h6>. This does not always synch up with a designer’s gut reaction, which visualizes header 1 as bigger and bolder than header 2. This is how they are in the default browser style sheets. Designers then use these header tags according to their idea of the visual hierarchy.

This may or may not be correct, as the design’s visual hierarchy does not necessarily follow the semantic requirement that header tags reflect the structural meaning of the content. It’s possible, for example, to make a <h1> smaller and less bold than a <h3> if that is what the layout calls for.

Before HTML5, each document should have only one <h1> tag that expresses the title and purpose of the page. All of the subsequent content should be organized according to the <h2> through <h6> headers. With HTML5, each tag can have its own hierarchy of <h1> to <h6> headers, making it much easier to structure complicated documents.

Semantic Code Elements

Tags that describe the content are:

<cite> Citation, used to cite a source of information.
<code> Computer or Programming code.
<del> Deleted word or phrase.
<dfn> Definition.
<dl> Definition List. Similar to UL and OL, but uses DT (Definition term) and DD (definition description) to show terms and definitions.
<em> Emphasis, displayed as italicized text.
<ins> Insert, used to display text you have inserted due to an edit at a later date.
<kbd> Keyboard instructions.
<ol> Ordered List.
<samp> Sample output, used to show sample output from programming code.
<ul> Unordered List.
<var> Variable, used to represent a variable in programming code.
<strong> Strong, or bold, emphasis on a word or phrase.

MicroFormats

Microformats are agreed upon classes used to tag certain information. Instead of making up your own name for the class, which would be specific only to your document, a name has become universally recognizable by convention. This is quite handy for things like contact information or calendars, and can be seen in Apple’s Address Book and iCal, which uses standardized microformats.

In this example, the contact information is presented with generic markup:

<div>
<div>Joe Doe</div>
<div>The Example Company</div>
<div>604-555-1234</div>
<a href="http://example.com/">http://example.com/</a>
</div>

With hCard microformat markup, that becomes:

<div class="vcard">
<div class="fn">Joe Doe</div>
<div class="org">The Example Company</div>
<div class="tel">604-555-1234</div>
<a class="url" href="http://example.com/">http://example.com/</a>
</div>

Meta Tags

Meta tags that described the content. They are used by bots to identify page content. This use to be especially important for search engine optimization, but was abused. Google will still take them into account, but they no longer have the weight they used to have.

Here is a list of some of these meta tags that can appear in the header of the web page. You can use these yourself. Just fill in _missing_fields and delete unwanted tags.

  • <meta name=”author” content=”All: _author_name_; mailto:_your@mail.here_” />
  • <meta name=”owner” content=”_owner_of_the_page_” />
  • <meta name=”generator” content=”_name_of_your_editor_” />
  • <meta name=”publisher” content=”_publisher_of_page_” />
  • <meta name=”resource-type” content=”document” />
  • <meta name=”page-topic” content=”_page_topic_” />
  • <meta name=”doc-rights” content=”_copyright_status_(Copywritten Work / Public Domain)_” />
  • <meta name=”language” content=”_page_language_” />

HTML5

HTML5 added structural elements that provide additional semantic meaning, replacing the divs that would otherwise have marked up the page. Incorporate these elements into the structure of the document as part of its semantic structure. You can find out more about HTML5 elements here.

The HTML5 Tags help to structure your content/document

  • main is an element that can be used only once per page. It represents the main content of the body. The main element may not be a descendant of a article, aside, footer, header or nav element.

  • section represents a generic document or application section. It can be used together with the h1, h2, h3, h4, h5, and h6 elements to indicate the document structure.

  • article represents an independent piece of content of a document, such as a blog entry or newspaper article.

  • aside represents a piece of content that is only slightly related to the rest of the page. For complimentary content to the main content (Taken from XHTML 2.0 specification)

  • hgroup represents the header of a section.

  • header represents a group of introductory or navigational aids.

  • footer represents a footer for a section and can contain information about the author, copyright information, et cetera.

  • nav represents a section of the document intended for navigation.

  • figure represents a piece of self-contained flow content, typically referenced as a single unit from the main flow of the document.

    <figure>
    <video src="ogg"></video>
    <figcaption>Example</figcaption>
    </figure>
  • figcaption can be used as caption (it is optional).

02 User Experience

User Experience means making every visitor feel like your website was built just for them.

That there are User eXperience professionals demonstrates that the web has grown up just like print or broadcast. That it has grown up different from print is the nature of the hypertext links, interactivity and different form factors that the media takes. Web sites have become so complex and feature rich that they require the services of information architects and user experience designers. The web sites designed in this class will not be that complex, but the needs that drive the industry to create user experience designers is very much present, and should be reflected in your web site.

Know The User

Users employ a number of shortcuts that have to be taken into account. They do not read the page linearly, and usually read only the top-left hand corner, if they read anything at all. They scan pages, usually spending little time on any one page, as if they are in a hurry. The user knows that they do not need to read everything, and they have gotten used to doing just that.

They can usually tell that they want and decide whether or not to continue in a fraction of a second, and that is all the time that you will have. If they continue, it means you aroused their interest.

When the user gets to a page, they often have something in mind and that is all they are interested in. This is not logical or rational, but driven by a mix of desires called satisfice. Satisfice combines satisfy with suffice, and it means that a user will select the first reasonable match to what they are looking for that they find, not necessarily the best choice. Truth is, most users don’t really care to evaluate their options, and they will muddle through till they get what they are looking for.

How often do you read a manual before using a product? If you are like most people, rarely, and so it goes for web sites.

That means a web site has to anticipate the users’s habits if it wants to communicate effectively. You have to know the user. Most of you will be designing for peers, faculty or prospective employers, three very different users with different requirements. The challenge is to be clear about your audience and to target them in your writing and design.

Understand Experience

A website’s success hinges on how users perceive it. “Does this website give me value? Is it easy to use? Is it pleasant to use?” These are the central tenets of a user-centered design, and that’s the base line for beginning the design process.

Once you have targeted your user you have to design for them, and then test to see if this has actually been the case. Does the website provide value, is it easy and pleasant to use? This is the roll of user testing, and there are software packages that will help you facilitate this.

How does a web site provide good value? Easy to navigate will not be a problem with the web sites that you will create here. Will the web site provide that something extra to make it stand out? There are too many web sites out there to be just like the rest. You need to stand out!

What makes the user experience? Low barriers to getting what they are looking for, pleasant surprises and a good story. Ease of use, effective communication and novelty can be designed, but a good story is integral to the developing and presenting of the content itself.

Good story telling gets the reader hooked on the protagonist. Once hooked, the author can tortures the hero until they break, at which point in time they somehow manage to overcome all obstacles for a cathartic resolution. A good writer will do that with each scene, emotionally grabbing the reader so that they cannot put the book down.

In the same way, a good design can turn a product into a coveted experience, one that satisfies something in the user by how it is presented, ideally anticipating the user’s actions and motivations, and can teach, motivate, persuade, inform or inspire the user, for that is how users form positive emotional experiences so important in successful communication. There is no joy if nothing resonates.

Understand Information

A simple web site will seem pretty straight forward, but as the complexity ramps up, the information architecture becomes daunting, especially since websites are not static systems, but are in a continual process of being reinvented, and the content is continually repurposed. This is a fact of life for sites like the New York Times.

Treasure Map
treasure Map PFD

To manage the daunting amount of complexity, a process emerged to help manage it all. The treasure map is a list of user experience deliverables: stories, proverbs, personas, scenarios, content inventories, analytics, user surveys, concept maps, system maps, process flows, wireframes, storyboards, concept designs, prototypes, narrative reports, presentations, plans, specifications, style guide and design patterns. Not all of these will be useful, but there are a lot of techniques to help you create and test the user experience.

Navigating the content is full of junctures where decisions are made. To prototype such decisions logical flowcharts are created called user flows. It is impossible to design an information hierarchy fully loaded with content, so designers take the content away and are left with a wireframe.

Wireframes are an integral part of developing the web site, and each of you will get your chance to build one with the midterm project. Removing what the content looks like allows the designer to focus on the information hierarchy, of what comes where, not just on the page, but throughout the site. Wireframes isolate user interaction by including only those elements that are absolutely necessary, like site navigation, headers, and content locations, and then only by empty shapes that allow the site to be easily modified to the user requirements before locking in the code.

The goal of the wireframe is to structure the content so it’s understandable and easy to use. As you will see, CSS’s box model is ideally suited for developing an interactive wireframe, but I require that you first develop your ideas on paper in quick thumbnails. There is no better, faster and comprehensive way to foster your creative impulse to do good work than by using paper and pencil, and to sketch out what’s on your mind. A few minutes brainstorming will be followed with hours of less creative implementation, if not tedious and often frustrating development, so make these minutes count.

You can go straight from the thumbnail to the wireframe. If you were doing a more official site, the procedure would require you figure out the relation between the content and the navigation first. If you were an information architect, this is how you would describe it:

  1. Write down and organize the site objectives.
  2. List the content requirements.
  3. Determine the appropriate page hierarchy for the site, be it top down or bottoms up.
  4. Design the navigation to access this hierarchy. Note that the navigation does not need to mirror the hierarchy, and can take the form of a matrix, be organic, or even linear.
  5. Standardize the navigation architecture with the organization of the content, and you are ready to create a complete diagram of the information architecture.
  6. You will create a wireframe mockup from that diagram which will show the placement of the navigation elements in relation to the content of the site.

Strive for Simplicity

KISS! Keep it simple is the mantra, and for emphasis they add the second “S” The user is concerned with the content, not how it is presented. The presentation should be like the cuts in a movie: transparent, intuitive and emotionally effective. The design should not get in the way of the user experience, period. Keep it simple!

The Landing Page

This is the page you land on. If it does not capture your audience, they will not go further, and you will have lost your chance to communicate. There are a lot of things to consider, for it is a marketing campaign, and not just a design problem.

To help you along, unbound has a number of videos to make you think twice about how you put your landing page together. Check out this video critique. It will hopefully inspire you to do the right thing when it comes to your own landing page.

User Experience Guidelines for Apple’s iOS

Apple’s done a great job implementing user experience guidelines from the very beginning. We can all be thankful that Steve Jobs oversaw the creation of the Macintosh and the Next Computers, both of which pushed intelligently designed user interfaces from the beginning. The new way forward at first appear a step backward, as a finger is not nearly as precise as a mouse, but precision is not what user interaction is about, and immediacy has won out.

These are the topical headlines from the iOS User Experience Guide. They are equally relevant to the web sites you make that will be appearing on these iOS. The user experience revolves around streamlined interaction with content that people care about.

  • Focus on the Primary Task
  • Elevate the Content People Care About
  • Think From the Top of the screen Down
  • Give People a Logical Path to Follow
  • Make Usage Easy and Obvious
  • Strive to make your content instantly understandable to people,
  • Make the main point of your content immediately apparent.
  • Be consistent
  • Use User-Centric Terminology
  • Minimize the Effort Required for User Input
  • Enable Collaboration and Connectedness
  • Brand Appropriately
  • For the best user experience, you want to quietly remind users of your identity.
  • Avoid taking space away from the content people care about.
  • Entice and Inform with a Well-Written Description
  • Be sure to correct all spelling, grammatical, and punctuation errors.
  • Keep all-capital words to a minimum.
  • Be Succinct
  • Think like a newspaper editor, and strive to convey information in a condensed, headline style.
  • Give buttons short labels, or use well-understood symbols, so that people can tell what they do at a glance.
  • Use Design Elements Consistently
  • Consider Adding Physicality and Realism
  • Use appropriate animation to further enhance realism in your application.
  • Delight People with Stunning Graphics.
  • Consider replicating the look of high-quality or precious materials.
  • When appropriate, create high-resolution artwork.
  • Make Targets Fingertip-Size
  • Give tappable elements in your application a target area of about 44 x 44 points.
  • Use Subtle Animation to Communicate
  • Add animation cautiously
  • Make animation consistent
  • Restrain Your Information Hierarchy

Google User Experience Manifesto

As you can imagine, there is a lot more to this that you had probably thought about when you entered the class. That is how it goes. I want to leave you with Google’s Googlification, if that is a word. This is their user Experience manifesto.

Our aspirations

The Google User Experience team aims to create designs that are useful, fast, simple, engaging, innovative, universal, profitable, beautiful, trustworthy, and personable. Achieving a harmonious balance of these ten principles is a constant challenge. A product that gets the balance right is “Googley” – and will satisfy and delight people all over the world.

Ten principles that contribute to a Googley user experience

  1. Focus on people their lives, their work, their dreams.
    The Google User Experience team works to discover people‘s actual needs, including needs they can‘t always articulate. Armed with that information, Google can create products that solve real-world problems and spark the creativity of all kinds of people. Improving people‘s lives, not just easing step-by-step tasks, is our goal.

    Above all, a well-designed Google product is useful in daily life. It doesn‘t try to impress users with its whizbang technology or visual style – though it might have both. It doesn‘t strong-arm people to use features they don‘t want – but it does provide a natural growth path for those who are interested. It doesn‘t intrude on people‘s lives – but it does open doors for users who want to explore the world‘s information, work more quickly and creatively, and share ideas with their friends or the world.

  2. Every millisecond counts.
    Nothing is more valuable than people‘s time. Google pages load quickly, thanks to slim code and carefully selected image files. The most essential features and text are placed in the easiest-to-find locations. Unnecessary clicks, typing, steps, and other actions are eliminated. Google products ask for information only once and include smart defaults. Tasks are streamlined.

    Speed is a boon to users. It is also a competitive advantage that Google doesn‘t sacrifice without good reason.

  3. Simplicity is powerful.
    Simplicity fuels many elements of good design, including ease of use, speed, visual appeal, and accessibility. But simplicity starts with the design of a product‘s fundamental functions. Google doesn‘t set out to create feature-rich products; our best designs include only the features that people need to accomplish their goals. Ideally, even products that require large feature sets and complex visual designs appear to be simple as well as powerful.

    Google teams think twice before sacrificing simplicity in pursuit of a less important feature. Our hope is to evolve products in new directions instead of just adding more features.

  4. Engage beginners and attract experts.
    Designing for many people doesn‘t mean designing for the lowest common denominator. The best Google designs appear quite simple on the surface but include powerful features that are easily accessible to those users who want them. Our intent is to invite beginners with a great initial experience while also attracting power users whose excitement and expertise will draw others to the product.

    A well-designed Google product lets new users jump in, offers help when necessary, and ensures that users can make simple and intuitive use of the product‘s most valuable features. Progressive disclosure of advanced features encourages people to expand their usage of the product. Whenever appropriate, Google offers smart features that entice people with complex online lives – for instance, people who share data across several devices and computers, work online and off, and crave storage space.

  5. Dare to innovate.
    Design consistency builds a trusted foundation for Google products, makes users comfortable, and speeds their work. But it is the element of imagination that transforms designs from ho-hum to delightful.

    Google encourages innovative, risk-taking designs whenever they serve the needs of users. Our teams encourage new ideas to come out and play. Instead of just matching the features of existing products, Google wants to change the game.

  6. Design for the world.
    The World Wide Web has opened all the resources of the Internet to people everywhere. For example, many users are exploring Google products while strolling with a mobile device, not sitting at a desk with a personal computer. Our goal is to design products that are contextually relevant and available through the medium and methods that make sense to users. Google supports slower connections and older browsers when possible, and Google allows people to choose how they view information (screen size, font size) and how they enter information (smart query parsing). The User Experience team researches the fundamental differences in user experiences throughout the world and works to design the right products for each audience, device, and culture. Simple translation, or “graceful degradation” of a feature set, isn‘t sufficient to meet people‘s needs.

    Google is also committed to improving the accessibility of its products. Our desire for simple and inclusive products, and Google‘s mission to make the world‘s information universally accessible, demand products that support assistive technologies and provide a useful and enjoyable experience for everyone, including those with physical and cognitive limitations.

  7. Plan for today‘s and tomorrow‘s business.
    Those Google products that make money strive to do so in a way that is helpful to users. To reach that lofty goal, designers work with product teams to ensure that business considerations integrate seamlessly with the goals of users. Teams work to make sure ads are relevant, useful, and clearly identifiable as ads. Google also takes care to protect the interests of advertisers and others who depend on Google for their livelihood.

    Google never tries to increase revenue from a product if it would mean reducing the number of Google users in the future. If a profitable design doesn‘t please users, it‘s time to go back to the drawing board. Not every product has to make money, and none should be bad for business.

  8. Delight the eye without distracting the mind.
    If people looked at a Google product and said ”Wow, that‘s beautiful!” the User Experience team would cheer. A positive first impression makes users comfortable, assures them that the product is reliable and professional, and encourages people to make the product their own.

    A minimalist aesthetic makes sense for most Google products because a clean, clutter-free design loads quickly and doesn‘t distract users from their goals. Visually appealing images, color, and fonts are balanced against the needs for speed, scannable text, and easy navigation. Still, ”simple elegance” is not the best fit for every product. Audience and cultural context matter. A Google product‘s visual design should please its users and improve usability for them.

  9. Be worthy of people‘s trust.
    Good design can go a long way to earn the trust of the people who use Google products. Establishing Google‘s reliability starts with the basics – for example, making sure the interface is efficient and professional, actions are easily reversed, ads are clearly identified, terminology is consistent, and users are never unhappily surprised. In addition, Google products open themselves to the world by including links to competitors and encouraging user contributions such as community maps or iGoogle gadgets.

    A greater challenge is to make sure that Google demonstrates respect for users‘ right to control their own data. Google is transparent about how it uses information and how that information is shared with others (if at all), so that users can make informed choices. Our products warn users about such dangers as insecure connections, actions that may make users vulnerable to spam, or the possibility that data shared outside Google may be stored elsewhere. The larger Google becomes, the more essential it is to live up to our “Don‘t be evil” motto.

  10. Add a human touch.
    Google includes a wide range of personalities, and our designs have personality, too. Text and design elements are friendly, quirky, and smart – and not boring, close-minded, or arrogant. Google text talks directly to people and offers the same practical, informal assistance that anyone would offer to a neighbor who asked a question. And Google doesn‘t let fun or personality interfere with other elements of a design, especially when people‘s livelihood, or their ability to find vital information, is at stake.

    Google doesn‘t know everything, and no design is perfect. Our products ask for feedback, and Google acts on that feedback. When practicing these design principles, the Google User Experience team seeks the best possible balance in the time available for each product. Then the cycle of iteration, innovation, and improvement continues.

UX Crash Course: 31 Fundamentals

want to learn more? Joel March has put together what 31 fundamentals. They are short and to the point, and an illustration of his XU Perspective in which everything rotates around XU.

Introduction & Key Ideas

#01 — What is UX?

#02 — User Goals & Business Goals

#03 — The 5 Main Ingredients of UX

****

How to Understand Users

#04 — What is User Research?

#05 — How to Ask People Questions

#06 — Creating User Profiles

#07 — Designing for Devices

#08 — Design Patterns

****

Information Architecture

#09 — What is Information Architecture?

#10 — User Stories & Types of Information Architecture

#11 — What is a Wireframe?

****

Visual Design Principles

#12 — Visual Weight, Contrast & Depth

#13 — Colour

#14 — Repetition & Pattern-Breaking

#15 — Line Tension & Edge Tension

#16 — Alignment & Proximity

****

Functional Layout Design

#17 — Z-Pattern, F-Pattern, and Visual Hierarchy

#18 — Browsing vs. Searching vs. Discovery

#19 — Page Framework

#20 — The Fold, Images, & Headlines

#21 — The Axis of Interaction

#22 — Forms

#23 — Calls-to-Action, Instructions & Labels

#24 — Primary & Secondary Buttons

****

User Psychology

#25 — Conditioning

#26 — Persuasion

#27 — How Experience Changes Experience

****

Designing with Data

#28 — What is Data?

#29 — Summary Statistics

#30 — Graph Shapes

#31 — A/B Tests

01 Writing HTML5

HTML stands for Hyper Text Markup Language. There is a great HTML language reference at W3C working draft that describes the syntax and structure and the semantics of HTML elements and their attributes.

Content is “marked up” using tags to designate the structural significance of that content. Each piece of content so marked up constitute an HTML element, of which there are many.

A first level header is designated by opening and closing tags: <h1> 01 Writing HTML5 </h1>. All parts of the document are marked up with such tags to create HTML elements, even parts that you cannot see but still describe the document, such as the meta tags found in the header, or the <style> and <script> tags that contain CSS and Javascript.

To create an HTML page, open a text processor. Creating a new file and call it index.html when saving. The file needs to be called index.html with a lower “i”. It is the index of the directory in which it is located. It will be the file that is opened upon entering that directory.

Every directory should have an index.html file, as some web servers allow visitors to see the content of the directory when there is no index.html file present. Other files in the directory can be reached by placing links connecting that page on the index.html page.

The following elements make up the HTML page:


The Structure of an HTML Document

The Doctype

The doctype has been greatly simplified in HTML5. The DOCTYPE tells the browser the version of the HTML rules the document will follow. Using the following DOCTYPE tells the browser you will be using HTML5. This is the only DOCTYPE I expect to see.

<!DOCTYPE html>

The HTML Element

The HTML elements contains all other elements. It is the root element, and the language attribute is specified as English.

<html lang="en">

The Head Element

The head element contains information about the content, but not the content itself. This is known as the document;s metadata. The head element does not get displayed in the browser window.

The Character encoding declaration specifies the encoding used to store or transmit the document. The Meta tag charset=”utf-8” tells the browser to use the unicode universal character set transformation format—8-bit.

The title shows up as the title of the browser window.

<head>
	<meta charset="utf-8">
	<title>Name</title>
</head>

The header element closes before the body element opens.

The Body Element

Markup written in the body element shows up in the viewport, or browser window. Think of this element as encompassing everything that appears in the browser window.

Everything you write comes between the opening and closing body tag. In the following, only “Hello World!” will show. Comments are not rendered by the browser.

<body>
<!-- Comment your Work! -->
<p>Hello World!</p>
</body>

The body element closes before the html element closes.

The Closing HTML element

Closing the HTML element is the last tag on the page. It closes the tag that holds all of the other elements in the document.

</html>


Element or a Tags?

An element is a single “chunk” of code comprising of a start and ending tag. They are representations of a thing for the browser, an object. Elements have all kinds of properties for the browser, like firstChild, etc.

<div>This is a div element</div>

Tags is the opening and closing code of the elements. <div> is a tag. <div>content</div> is an element.

Elements are not tags. Some people refer to elements as tags (e.g., “the P tag”). Remember that the element is one thing, and the tag (be it start or end tag) is another. For instance, the HEAD element is always present, even though both start and end HEAD tags may be missing in the markup.” From W3 HTML specification


The Inherent Structure of HTML

HTML is concerned with the structure of the content, and not with how the content should be displayed.

The natural flow of content is inline, meaning that content flows horizontally, like the letters on a line of text. In English, that is from left to right, but it could be in any direction.

In addition to the horizontal inline flow of content, elements can be determined to be block like and flow vertically. Block elements do not flow like characters, but like paragraphs, as entire blocks of text. By default, their width expands to fill the parent element and the flow is vertical. They flow down the page, starting from the upper left hand corner.

In HTML, block elements cannot descend from (be a child of) inline elements. Inline elements are the content of a block element.

CSS can change the display property of an element. It can make inline elements display as block elements, and block elements display as inline elements. That is very useful, usually to make inline elements act like block elements.

Valid HTML requires that block level elements do not descend from inline elements. Changing the elements displays with CSS does not change the validity requirements of the HTML document.

Tag Attributes and Values

Tag Attributes

HTML tags can take attributes, which describe certain aspects of the elements, with different elements having various assigned attributes. There needs to be a space between each attribute. Attributes for the img tag, for example, are src, width, height, class, and alt.

Example: <img src ="file_name" alt="logo">

Values

Every attribute has a value, even if it is an empty value. For example, the value of the src (source of the image) is the location and name of the image. While it is no longer a requirement to put either double or single quotes, as long as there are no spaces or other non-alphanumeric characters, it still best practice to do so.

Example: <img src="file_name" alt="logo"> />

Role Attributes

The role attribute describes the role(s) the current element plays in the context of the document. In the official language of the W3 “The XHTML Role Attribute allows the author to annotate XML Languages with machine-extractable semantic information about the purpose of an element. Use cases include accessibility, device adaptation, server-side processing, and complex data description.”
Example: <nav roll="navigation">

Understanding the Tag Hierarchy

DOCKTYPE

html

head

meta
title
style
body

main

header

nav

ul

li
li
li
li
section

article

h2
p
p

img
figure

img
figcaption
p
footer

HTML is a collection of elements arranged in a kind of containment hierarchy. This is a parent – child relationship, where the enclosing tag is the parent of the enclosed tag, which is its child. The entire structure can be likened to a tree, with the <html> tag as the single trunk from which the rest of the branches arise, first splitting into the two main branches, the <head> and the <body>. inside the body tag are all of the other branches that make up the document.

After the <doctype>, the HTML document starts with the <html> element that contains all other elements. It contains only two tags, the <head> and the <body> tags.

The <head> tag contains information about the page (meta-information), but that is not visible, like the <title> tag, <meta>tags and <html>, <style> and <script> tags and links <link>to styles and scripts.

The <body> tag contains all of the content, everything that’s visible in the browser window. The tags are usually several levels deep. Nesting tags is very useful, for it groups elements together. This makes it easy to create the different parts of the layout.

In the figure on the right, the <wrapper> contains all of the other visible content. This element is usually given automatic margins that center it horizontally in its parent tag, the <body>. If the <wrapper> is moved to the right, all the child elements contained within it are moved to the right as well.

Because each element is a child of another element, there are only clearly determined paths. For example, the <img> is a child of <p>, which is a child of <article>, which is a child of <section>, which is a child of <wrapper>. The complete path of the <img> tag is html body wrapper section article p img. This path would select all images in the paragraphs contained in article, section, wrapper, body, html. Since there are no other images, only the image with the red background is targeted by this path. The <img> in the figure has a different path, for example.

How to Write the Code

A tab is used to show how many levels the code is nested from the <html> element. This results in a visual way to check if the code is nesting properly. The code should look like :

<html>
	<head>
		<title>title </title>
	</head>
	<body>
		<main>
			<section>
				<header>
					<h1>Headline for Page</h1>
				</header>
				<article>
					<p>content
				</article>
				<footer>
				</footer>
			</section>
		</main>
	</body>
</html>

To make it easy on you, there are tools that let you clean up your hierarchies automatically. You’ll want to remember this link right before you hand in your midterm and at the end of the semester, when you hand in your final.

The DOM

The HTML file with all of its codes and content gets parsed by the browser. The syntax of each tag will be analyzed to see how it fits together according to the HTML rules. This results in a document object model where each node represents a branch on the tree.

The nodes drill down into each element to the attributes inside of the tags and to the content of the element. The DOM tree can be seen in this live DOM demo. Paste the HTML5 template into the Markup to test box below to see an example of how the browser parses the tags of a simple document into a DOM tree:

To see the document tree of a more complex example, copy the source code for this page and paste it into the Markup to test box

General Rules To Follow

HTML5 has loosened up the rules somewhat, but it is still desirable to follow these rules for well formed HTML documents.

Close Every Tag

Most Tags contain their content, meaning that there is an open tag and a closing tag. Some tags are self closing, like the <meta>, <link>, <img> and <br> tags. These tags get replaced by the content, in the case of the picture, or cause a line break, in case of the <br>.

Self closing tags should self close, meaning that they end in a /> and all other tags should be closed. Accidentally not closing a tag can cause all kinds of havoc and will be flagged when validating, which you should be doing often in the first few weeks of writing code.

Correctly Nest Every Tag

If a tag opens before a preceding one closes, it must be closed before that preceding one closes. <header><h1>Title</h1></header> not <header><h1>Title</header></h1> CSS relies on proper nesting to target styles to elements, so you have to get this right. In this example, the </h1> tag is nested in the </header> tag, and is the child of the header, which is the parent tag. As a container, a tag acts like a group, and moving a parent also moves all of the enclosed children. Likewise, absolute positioning is based on the coordinates of the parent element.

If you visualize each element as a node on a tree, it is obvious that you cannot open a tag before the previous tag is closed. If you make a mistake, the browsers can sometimes repair the damage, and everything still displays correctly, but don’t count on it, and different browsers have different levels of damage control.

Inline Tags Cannot Contain Block Level Tags.

Block-level elements follow one another according to the document flow, one below the other. Inline elements follow one another as characters in a paragraph. While it would seem obvious to not mix these two up, the validator will catch you if you do.

Keep Tags Lower Case

This is a requirement of XHTML5, which we will not concern ourselves with, but its a good idea anyway.


Tags Used to “Mark Up” the Content

Learning HTML comes through writing HTML. The more you code, the easier it becomes, till it’s second nature. The content is divided into inline and block tags.

  • Inline elements display just like characters, coming one after the other horizontally, till it comes to the end of the line. The line then breaks and resumes at the beginning of the next line down, and so on.
  • Block elements display like paragraphs, coming one after the other vertically down the page in the document flow.

Reminder: Just to make it confusing, CSS allows you to override the object’s default display, and make inline elements display like block elements and vice versa.

There are many HTML elementsup.

 

Inline Elements

These elements display just like characters, coming one after the other horizontally, till it comes to the end of the line.

span

The span tag selects inline content.

So much information.

So much <span style="color: red;">information</span>.

strong

increases importance

So much information.

So much <strong>information</strong>

emphasis

for emphasis

So much information.

So much <em>information</em>

line break

Breaks the line without creating a new paragraph.

So much
information.

So much <br />information.

One Line Quotations

Quotations inside of a paragraph are suppose to get automatic quotes when you use this tag.

So much information.

So much <q>information</q>.

Anchor Tag (Links)

The anchor element anchors a URL (uniform resource locator, or a unique web address) that targets the destination id or web page by using the href (hypertext reference) attribute.

Any tag can be a target, within any document on the world wide web. To target a tag, it has to contain an id <h3 id="anchor">.

To target the id, you need to use the id identifier, the hash tag # and the id name itself. <a href="#anchor">.

Hyperlink to destination on the same page

Click the example below and you’ll see the page jump just a little.

Hyperlinks to other pages

A hyperlink can address any unique webpage on the world wide web. It can use an absolute address, or a relative address, if the page is on the same server.

Absolute Hyperlink Address

An absolute address starts with http://, as in the address of the page that you are on (look up at the address bar)<a href="http://b.parsons.edu/~dejongo/01-writing-html5/">Writing HTML5</a>.

Relative Hyperlink Address

If the page is on the same server, it is possible to omit the absolute reference, and specify the path to the document from the location of the document containing the link.

Links to a location on the same page are always relative to the page itself.

Targeting tags on other pages

Links to a location an another page come at the end of a absolute or relative address.

and

Image Tag

The image tag gets replaced by the image. That is why it does not have a closing tag. You can make a tag self closing by including the slash mark / right before the greater sign.

You need to specify an alt attribute so that text will appear if the image does not. The title attribute is optional. The title shows up when you hover over the image for a second or more.
description of image for screen readers or when images are turned off

<img src="image_location/name_of_image" alt="description of
image for screen readers or when images are turned off" title="Final Thumbnail" />

Comments

Comments are a way to add notes or hide code. Comments are not displayed by the browser. Use them to notate your document with a description of what's going on in each part of the document.

Comments will help remind you why you did something a certain way (or help someone else figure out how to read your code).

You can also use comments to temporarily hide code that you do not want to use, but do not yet want to delete.

Do not use two dashes in a row -- within the comment, as that causes confusion in some browsers.

<!--
Comment your Work!
-->


Block-level Elements

Block elements display like paragraphs, coming one after the other vertically down the page in the document flow.

div

div stands for division, and it is the generic block element. It is used when an element is needed for styling purposes or as a convenience for scripting. Note that it is not equivalent to the HTML5 section element.

content
<div style="background: pink; padding: 10px;">content</div>

Headlines

How a headline looks depends on how they are styled. You should use headlines to structure your content, not based on how they look.

Headline h1

Headline h2

Headline h3

Headline h4

Headline h5
Headline h6
<h1>Headline h1</h1>
<h2>Headline h2</h2>
<h3>Headline h3</h3>
<h4>Headline h4</h4>
<h5>Headline h5</h5>
<h6>Headline h6</h6>

paragraph

paragraph bla bla bla bla.

paragraph bla bla bla bla.

<p>paragraph  bla bla bla bla.</p>
<p>paragraph  bla bla bla bla.</p>

Block Quote

Used to style quote that takes up an entire paragraph. It is indented and given a different style.

paragraph bla bla bla bla.

So much information.

<p>paragraph  bla bla bla bla.</p>
<blockquote>So much information.</blockquote>

ordered list

Ordered lists are numbered sequentially.

Ordered List

  1. list item
  2. list item
  3. list item
  4. list item
  5. list item
<h3>Ordered List</h3>
<ol>
<li> list item </li>
<li> list item </li>
<li> list item </li>
<li> list item </li>
<li> list item </li>
</ol>

Continuation of the Ordered List

If you plan on breaking the list into several lists, but want them to be numbered sequentially, use the start attribute start="5". This would start the list at 5 instead of 1.

  1. list item
  2. list item
  3. list item
  4. list item
  5. list item
<ol start="6">
<li> list item </li>
<li> list item </li>
<li> list item </li>
<li> list item </li>
<li> list item </li>
</ol> 

Unordered List

Unordered lists is for a collection of unordered items, where the order would not change the meaning of the list. It is always used for navigation, with each menu item considered as part of the list. The unordered list is styled to remove the list style.

  • list item
  • list item
  • list item
  • list item
  • list item
<ul>
<li> list item </li>
<li> list item </li>
<li> list item </li>
<li> list item </li>
<li> list item </li>
</ul> 

Definition Lists

Definition lists is for a list of terms and corresponding definitions. The term to be defined is listed first with the definition coming after the term. A term can have multiple definitions, and a definition can have multiple terms. A definition header can precede the definition.

List Header

Term 1
This is the definition of the first term.
Term 2
This is the definition of the second term.
<dl>
<lh>List Header</LH>
<dt>Term 1</dt>
<dd>This is the definition of the first term.</dd>
<dt>Term 2</dt>
<dd>This is the definition of the second term.</dd>
</dl>
term
definition1
definition2
<dl>
  <dt>term</dt>
  <dd>definition1</dd>
  <dd>definition2</dd>
</dl>
term1
term2
definition
<dl>
  <dt>term1</dt>
  <dt>term2</dt>
  <dd>definition</dd>
</dl>

table

The HTML table layout mode allows authors to arrange data -- text, images, links, forms, form fields, other tables, etc. -- into rows and columns of cells.

Simple Table

table cell item table cell item
table cell item table cell item
<table>
<tr> 	<td> table cell item </td>
<td> table cell item </td>
</tr>
<tr> 	<td> table cell item </td>
<td> table cell item </td>
</tr>
</table>

Fully Loaded table

A table can have a head, multiple table bodies and a table footer. You can span both rows and columns with the rowspan="2" or colspan="2" attribute. This allows for the header to expand down and the footer to expand across in the following example.

The Caption Holds the Title of the Table
Head 1 Head 2a Head 3
Head 2b
table cell item table cell item table cell item
table cell item table cell item table cell item
table cell item table cell item table cell item
table cell item table cell item table cell item
The footer is a place for information about the table.
<table id="table">
<caption>The Caption Holds the Title of the Table</caption>
<col><col><col>
<thead>
<tr><th rowspan="2">Head 1</th><th>Head 2a</th><th rowspan="2">Head 3</th></tr>
<tr><th>Head 2b</th></tr>
</thead>
<tbody>
<tr> <td> table cell item </td>  <td> table cell item </td>  <td> table cell item </td></tr>
<tr> <td> table cell item </td> <td> table cell item </td> <td> table cell item </td></tr>
</tbody>
<tbody>
<tr> <td> table cell item </td>  <td> table cell item </td>  <td> table cell item </td></tr>
<tr> <td> table cell item </td> <td> table cell item </td> <td> table cell item </td></tr>
</tbody>
<tfoot>
<tr><td colspan="3">The footer is a place for information about the table.</td></tr>
</tfoot>
</table>


Iframe

An inline frame places another HTML document in a frame. The inline frame can be the "target" frame for links defined by other elements, and it can be selected by the user agent as the focus for printing, viewing its source, and so on.

The iframe is exhibited with attributes that are determined using the equivalent CSS in the demo width: 98%; height: 300px; border: 1px solid #f000; overflow: scroll;.

<iframe src="01-writing-html5/">height=100 width=200 frameborder=1 scrolling=yes >You need a Frames Capable browser to view this content.</iframe> 

Writing HTML, Absolute and Relative Addresses, Tools of the Trade

Target iframe from Link

You can target any page to appear in the iframe by naming it and using the target attribute with the name target="iframeDemo" as demonstrated above. Click on the links above to load different documents.

A destination anchor is used to position the Writing HTML document at the iframe section. That requires an anchor with the same name <a id="i-frame">. See the link tag above.

<a href="01-writing-html5/#i-frame" target="iframeDemo" >Writing HTML</a>
<a href="01-absolute-and-relative-addresses/" target="iframeDemo" >Absolute and Relative Addresses</a>
<a href="01-tools-of-the-trade/" target="iframeDemo" >Tools of the Trade</a>


HTML5 tags

Before HTML5, the generic markup elements, <div> and <span>, were used to mark up the page. That means the code itself had no way of determining what the content was.

HTML5 changed that.

HTML5 standardized a lot of best practices to create semantically relevant block level tags that help organize the document. It is now possible to tell header content from the content of an article by looking at the tags alone. The most important of the new elements are: <main>,<section>, <header>, <nav>, <article>, <aside>, <footer>, <figure>, <figcaption>, <hgroup>, <wbr>.

Document Layout

<main>
<section>
	<header>
		<hgroup>
			<h1>Name</h1>
			<h2>Name</h2>
		</hgroup>
	</header>
	<article>
		<p>content <wbr> content</p>

the <wbr> tag, or Word Break Opportunity tag, is an inline tag that specifies where in a text it would be ok to add a line-break.

		<aside>
			<p>content</p>
		</aside>
	</article>
	<footer>
	</footer>
</section>
</main>

Adding Navigational Links

Using an unordered list.

<nav>
	<ul>
		<li><a href="#">link to homework</a></li>
		<li><a href="#">link to homework</a></li>
		<li><a href="#">link to homework</a></li>
	</ul>
</nav>

Adding a Picture

With a caption.

<figure>
	<img src="example.jpg" alt="example" />
	<figcaption> Caption </figcaption>
</figure>

Copy and paste this basic HTML5 template into a blank Textwrangler file. It has most of these elements and a basic header, so you can start coding the content right away. Repetition will acclimate you to writing HTML.

01 Visual Literacy

The web is a design language, and more of you are not Parsons’ students, it become clear that some students need to know something about principles of design.

Much visual literacy on the web is standardized, so you can copy your way, without knowing exactly what you are copying.

Visual literacy goes beyond how something looks. It makes communication more effective.

Visual literacy is used to solve problems in communication. This is a lot like structuring an argument in the academic essay, where reason supplants opinion. Instead of finding causes and reasons why, or a genealogy, bringing visually literate structuring to the communication makes the message more engaging, apparent and clear.

To that end, I’ve assembled a number of links to help develop visual literacy.

Fundamentals

design notes:

  1. color
  2. concept
  3. form
  4. content
  5. figure & ground
  6. balance
  7. proportion
  8. unity
  9. elements

Inspiration

Use the following resources to explore your site design. Be inspired — copy, borrow, steal — but make sure that whatever you take, you make your own. The top priority is to effectively communicate the content.

  1. Design Inspiration
  2. Inspirational Sites
  3. Design History
  4. Rijks Studio
  5. Visual Literacy
  6. WookMark images
  7. Fonts in Use

Type

The last frontier of web design has been typography. Typography remains elusive for many, so I’ve gleaned useful links to explain the basics in the following typographic resource.