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.
Grouping
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.
User experience (UX) Design, Semantic HTML5, Developing Content for midterm website, preparing images, and understanding color on the web.. Learn to upload files using FTP client and organize server space. Activity: Create HTML page for website you analyzed with eye on making your own portfolio. Activity: Activate the account school provides and upload first assignment.
1) Create landing page with links to assignment and worksheet. 2) Watch XU videos. 3) Create Workpage for portfolio site (8 steps). 4) Create content and markup your portfolio site. Read chapters 4-6. Due: The following week.
The goals of this unit are to:
Additional materials for this unit can be found by following these links:
At the end of this unit, students will have:
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 |
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.
XU Case Study Club Best of (2018)
Celebrating Designers Openly Sharing Their Process.
Links to help you explore you explore the visual development of your Portfolio Site.
These are the terms that participants should be familiar with during this unit:
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 (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 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.
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 is defined by the Information Architecture Institute as:
Parsons students have experience with the language of design as it pertains to graphic design, illustration, fashion, product design, architecture, or photography, and so on. Lang students have experience developing cerebral arguments of one sort or another. There will be two main projects this semester: a portfolio and a final project. Each project follows the process of research/concept/sketches/comps/final. These steps need to be documented in a worksheet.
8 steps everyone needs to document in the worksheet before creating their website.
You are required to document each of your creative decisions in a Worksheet. I will use them to evaluate your midterm and final.
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’s hard to sell a bad idea.
This time you are your own client. That’s difficult.
Make sure that whatever you come up with will work and is worth the time spent making it real.
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.
Using OpenAI text is a great tool expand awareness of what the options are.
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.
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.
Look for sites that inspired you. There are lots of examples out there and precedent to follow.
Then experiment Mood boards are one way to proceed.
Mood boards 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 to explore in a 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.
Come up with a couple of different design concepts for the project. The concepts should be based on research and the target audience. Gather up content and make a compelling case for each concept. Minimum of two concepts but no more than five.
Illustrate and explain each of your concepts. Once you are clear as to what your problem is, have content, and direction, the next step is to explain the best concept and develop a responsive user centered design solution using pencil and paper.
Sketches show how you arrived at the solution. They should start simple and remain small (thumbnails).
Explore responsive possibilities, from watch to phone to tablet to computer desktop and back again. Each device needs to present the concept organized in a way that is coherent for the device.
It takes many thumbnails to work through and develop a finished concept. You can’t tell ahead of time what will or will not work but you can separate out what doesn’t work ahead of time. Increase your success rate by staying with paper and pencil till you are clear about how to solve the problem.
Circle or otherwise indicate the concept you will develop. Take a picture of or scan the drawings and upload them to the worksheet.
Wireframes are simplified designs devoid of any style, type, color, pictures, or meaning. They are fast to create and explore different elements of your design, and provide feedback on the general layout, are easy to manipulate and change, to get it right, before filling in the details. Wireframes allow you to explore user flows and the different ways to structure your website, without having to design any elements or design any content.
Translate the picked thumbnail into a wireframe for each device category. One each for the watch, the phone, the tablet and the desktop. If you are using FIGMA, pick out a frame for each page, and each device.
The wireframe of a website is the skeleton of a web page assembled using boxes and lines. A wireframe is conducive to content placement making it easy to establish hierarchy, figure out functionality and navigation problems in a format that can be adjusted easily. Wireframes are lines or boxes with little text and few visual widgets that represent your website structure and help you establish hierarchy. It is a clean interpretation of the thumbnail that you selected to develop.
Wireframes and prototypes help you understand the big picture. Rapid prototyping helps you explore more ideas, faster. Don’t let yourself get bogged down in unnecessary details too early. Create your wireframe/prototype in prototyping programs, illustrator, or hand draw them, but be ready to recreate them using CSS and HTML.
Software like Adobe XD and Origami allow for quick and amazing prototypes, tools that facilitate and realize user experience design on different devices. The tools are slick, but don’t prototype something you can’t possibly code. It is easy to get lost when prototyping. Stay focused on what you need to communicate to your target audience. Some prototyping software allows you to export to HTML and CSS. Avoid them. We are here how to code, and shortcuts turn out to be longcuts. The code they produce is uneditable for beginners.
Prototype tools are both web based and stand along products. These can all be used free. figma.com (you can also sign up to get their professional package for education free of charge), Invision, Mockplus, Facebook’s Origami, and Adobe’s XD. You can also use HTML and CSS. That’s probably the most useful way to develop your prototype as you will learn HTML and CSS. You’ll be required to transform your prototypes into an actual website in two weeks, after we’ve covered layout using CSS in Week 4. You have till then to perfect your prototype.
The last step is to create Photoshop/Illustrator comp of what your website is to look like on a phone, a tablet, a desktop screen.
The next step is to build the site using HTML and CSS. You have three weeks to accomplish that.
Think of the photoshop comp as the end. It is a strategy game to figure out how to achieve that end using the HTML and CSS you will learn in the next three weeks.
Break your design into the fundamental boxes that determine how your design moves through every iteration of your responsive design. It has to work on a smartphone where the finger-tip is huge and will quickly slide through the information vertically, to the large horizontal monitors with 50 inch diagonal screens.
Your site is to look good every step of the way. Figure out how to make the HTML and CSS work. That is the strategy. Figure it out by creating a simple wireframe representing the elements as they move though each iteration of the responsive experience.
Two video shorts made by ADDIKT for Adobe describing the roll of the UX designer.
ILUVUXDESIGN part I from lyle on Vimeo.
ILUVUXDESIGN part II from lyle on Vimeo.
Read the first chapter Designing Systems, Create design systems, not pages in Atomic Design by Brad Frost. Companion to Designing for the Web.
<ol>
at the top of the document.<figcaption>
<a href="first_assignment/index.html>Website Analysis</a>
I would put the OpenAI discussion below the links to your assignments. This assignment, along with the learning goals paragraph, is new for this semester, and has no precedent in the previous examples. Here is an example from a few semesters ago (expect assignments to be slightly different).
first_assignment
with an index.html
for the first assignment.
<table > <tr><th>Date Due</th><th><th style="text-align: right;">Percent</tr> <tr><td>Week 2<td><a href="first_assignment/index.html">Website Analysis</a> <td>5%</tr> <tr><td>Week 3<td>Midterm Worksheet (8 Steps)<td>5%</tr> <tr><td>Week 3<td>Responsive Mockup<td>5%</tr> <tr><td>Week 3<td>CSS Selection Exercise <td>5%</tr> <tr><td>Week 4<td>Grid Exersize <td>5%</tr> <tr><td><td><strong class=quartegrade >First Quarter Assessment</strong><td>25%</tr> <tr><td>Week 5<td>Responsive Wireframe<td>5%</tr> <tr><td>Week 5<td>Code Portfolio Front Page<td>5%</tr> <tr><td>Week 5<td>Quiz <td></tr> <tr><td>Week 6<td>Typography Poster <td>5%</tr> <tr><td>Week 7<td>Current Topic Website<td>5%</tr> <tr><td>Week 8<td>Portfolio: Class Presentation <td>5%</tr> <tr><td><td><strong class=quartegrade >Second Quarter Assessment </strong><td>25%</tr> <tr><td>Week 9<td>Final: Worksheet<td>5%</tr> <tr><td>Week 10<td>Final: CSS3 Collateral<td>5%</tr> <tr><td>Week 11<td>Final: CSS3 Animatic<td>5%</tr> <tr><td>Week 12<td>Final: HTML/CSS<td>5%</tr> <tr><td>Week 12<td>Final: Modular Navigation<td>5%</tr> <tr><td><td><strong class=quartegrade >Third Quarter Assessment</strong><td>25%</tr> <tr><td>Week 13<td>Final: Multimedia<td>5%</tr> <tr><td>Week 13<td>Final: Alternatives<td>5%</tr> <tr><td>Week 13<td>Final: Peer Review<td>5%</tr> <tr><td>Week 14<td>Final: Forms<td>5%</tr> <tr><td>Week 15<td>Alternative<td>5%</tr> <tr><td><td><strong class=quartegrade >Final Quarter Assessment</strong><td>25%</tr> <tr><td>Week 15<td><strong>Final: Presentation</strong><td>10%</tr> <tr><td><td><strong>Two assignments dropped:</strong><td>-10%</tr> <tr><td><td><strong>Total:</strong><td>100%</tr> <tr><td><td>List of sources and services used <td></tr> </table>
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.
I realize that English is not everyone’s first language. It is my second language. I am not going to ask the impossible, and I will take such difficulties into consideration. That said, persuasive content is crucial to a successful website.
Images are placed on the web using the tag: <img source="url_where_image_is_located.jpg" alt="description of image" >
Images need to be prepared so they upload quickly. Use Photoshop to limit the resolution to around the same resolution as the screen that will be displaying it.
The resolution should be 1 to 1, pixel for pixel, to the screen. That there are many different screen sizes and resolutions does not make this easy.
To keep the ratio of a picture on the web, only the width needs to be specified. The height will adjust automatically. For best practices, in the style sheet, set the CSS for images to 100% of the parent element: img {width: 100%;}
and size the figure
tag.
If the picture is too small or large, the browser will up or down resolve it to fit. Try to hit the sweet spot in image resolution, not too small, and not too large, and compress it appropriately, from 30 to 60 jpg compression, depending on its importance and size. Images that are much larger than what is needed interrupt the user experience.
How bit will the image be displayed? I will end up grading your work on a HD HDR (4k high dynamic range) 42 inch screen. Will I notice that the image has been compressed. Probably not. I will notice that the page takes too long to load an image. Figure out the sweet spot between image size, compression, and user experience. You want your pictures to load quickly. Apple uses something called Retina display, which doubles or triples the resolution. That means designing for the computer continues to operate as it always has despite the continual increase in monitor resolution.
Responsive web design makes it possible to switch out different resolutions depending on the device or bandwidth used.
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. GIF stands for Graphics Interchange Format. PNG stands for Portable Network Graphics. 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 assign one of the bits to be transparent but it is a 1 bit off/on transparency, and not an 8 bit alpha channel that can produce a smooth transition. That means there is no antialiasing of the transition, which makes it look pretty ugly when placed any background whose color does not match. You can see that the image on the right 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 fine.
This format works well to preserve type and other fine detail in the picture. Use PNG when saving Illustrator files. It has a compression routine that describes similar colors and it can be more effective and result in smaller files than Jpegs. Jpegs tends to soften strongly contrasting detail and adds artifacts that disrupt areas of solid color.
Simple GIF animations can be created by using Photoshop or web apps like Gickr Gif Maker.
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.
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.
You can have the best of both worlds by using transparency with the 24 bit PNG format, which should really be called a 32 bit PNG format as 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 a price to pay, however. 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.
A new open format for lossy compressed true-color graphics on the web created by GOOGLE, producing files that were smaller than JPEG files for comparable image quality. Apple just included support for it in Safari, so it can become a web standard as soon as Photoshop and other image creation tools release WebP export. Google released WebPshop, a free webP export module for Photoshop.
Apple’s replacement for Jpeg files, High Efficiency Image File Format, is not widely supported beyond Apple’s ecosystem, though the day will come when HEIF will be a web standard. Camera companies are starting to use it instead of Jpegs for storage. Like WebP, it will not become ubiquitous until image programs like Photoshop can export the format.
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 is composed of red, green and blue channels, or RGB, similar to the cones in our eyes. For the longest time the web used sRGB color gamut which can represent about a third of what our eyes can see. Because the monitors were not better, that was good enough. New monitors have a much wider gamut showing many more colors. This wider gamut is taken up by CSS Color Module Level 4. The following discussion uses the previous 8 bit color standard, where each RGB channel is allocated 256 levels of intensity. The computer starts counting its colors at 0 intensity, or off. The color, when all three channels are off, is black. If the red, green and blue channels are each 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.
For the computer, each of the eight bits per channel represents a binary state that is either on or off. The number of different possible states that these 8 bits of information can form is 256. The computer functions in base 2. We function in base 10, because we have 10 fingers. Think of the computer as having only one finger that can be either up or down.
One bit is either off or on. That’s two possible states. Two bits make for four possible states. The bits can be off off, off on, on off or off off. If you were to add one more bit, you’d double the number of possible 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. That makes for 8 possibilities with 3 bits. Adding another bit doubles this number again. This doubling continues each time another bit is added, so that 8 bits create 256 possible states.
One byte is composed of 8 bits of information. 256 represents the number of possibilities stored in one byte. Three channels at 8 bits each is known as 24 bit color. An additional alpha or transparency channel can be added as a mask, requiring 32 bits in all to describe the color state of each pixel in a png-24 image with transparency or a Photoshop layer. Know that Photoshop is essentially a calculator, calculating the 8 bits of information for each channel times four channels to arrive at the 32 bit layer. It then calculates all of the layers together to create a composite image. This is what you see when you’re working in Photoshop.
This color is 182 red, 161 green and 134 blue. To reduce space in web development, this color is often described, not in base 10, where the three RGB channels would take 24 bits, but in base 16, using hexadecimal notation, like this: #b6a186
. That reduces all three channels to only 6 from 24.
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 since they can describe 256 colors using only 6 digits rather than 0. See table of nibbles.
Hexadecimal is base 16. It is like having 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’s 16 digits ain total. Two hexadecimal numbers can 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
, green: #00ff00
, shortened to #0f0
, or blue: #0000ff
, shortened to #00f
. 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. If this sounds confusing, be glad we don’t use quantum bits to describe the color.
It is not natural to think in terms of RGB. We think in terms of HSL. What color is it? How much color is there? How light or dark is the color? This is described by Hue, saturation and luminance (HSL), which 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. 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 HSL it is easy to increase the saturation or luminance for a particular hue, something that is not at all intuitive using RGB.
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 list of all 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 | ||
rebeccapurple | #663399 | 102,51,153 | ||
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 |
CSS3 also added the opacity property for transparency, or opacity. Add a slash to the rgb or hsl color definition and a value range from 0 to 1, with 0 being transparent and 1 being opaque. That makes .5 half way transparent. Examples: color: rgb(100% 0% 0% /.5)
, color: color(sRGB 0 1 0 /.5)
and color: rgb(255 0 0 /.5)
or color: hsl(0 50% 50% /.5)
color: color(sRGB 0 1 0 /.5)
and color: hsl(0 50% 50% /.5)
are part of the new CSS level 4 color specification. The CSS color module level 4 allows for wide P3 gamut colors beyond the sRGB gamut that has been standard for the last 20 years.
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. Change some of these colors to your favorite colors:
Mother-effing hsl() by Paul Irish
A detailed and comprehensive explanation of using and compressing images on the web: Essential Image Optimization by Addy Osmani and a nerd’s guide to color on CSS Tricks. Smart Phones and new displays are able to use the expanded P3 color gamut that is 50% larger than RGB. Apple pioneered P3’s use and CSS Tricks has an article to explain it. The new CSS Color Module Level 4 specification.
If you want serve different size images to mobile devices and desktop computers, read Fundamentals of Responsive Images.
To take advantage of the better color gamuts available on newer monitors, CSS color module level 4 introduces 12 new color formats in addition to the 4 that were available. Color Application written by Chris Liley of W3.org to convert from one color to another. The following links are taken from Chrome Developers’ High Definition CSS Color Guide article. There is sRGB Linear, LCH , okLCH , LAB , okLAB , Display p3, a98 RGB, ProPhoto RGB, XYZ, XYZ d50, and XYZ d65. That is in addition to the existing color spaces already available, , Hex , RGB , HSL , HWB.
sRGB linear expresses the new colors as if they were in the default RGB space before gama corrected. The resulting correction is non-linear sRGB. (There was no explanation for this in the article, in case you were wondering :-).
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
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.
The goal is to prepare a semantically well formed HTML document. How do we go about doing this?
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>
.
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 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 the information, but at a price. Humans would have been required to write code with machine like accuracy to create all their web pages. To enforce that accuracy, 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 standardizing 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, 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.
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.
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 .
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.
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 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>
To improve your website’s chances at being found in a search, Google recommends using structured data, which goes beyond the HTML elements used to display content to using microdata to give information about the content’s meaning. Google’s article on structured data. Microdata requires the use of a standardized vocabulary of which schema.org is the most used. Using such a vocabulary makes it possible to provide meaning for content that can be read by browsers, readings apps, search engines, and technologies like Apple’s watch. Implementing structured data is above what will be covered in the course, but you should be aware of structured data.
ARIA is a set of HTML attributes that define ways to make web content and web applications more accessible to people with disabilities. Where HTML5 provides some semantic meaning, javascript often does not, which makes for broken and incomplete transfer of information to people with disabilities.
W3.org provides for resources for how to address people with disabilities. They even provide stories of people with different disabilities so you can better understand the challenges they face. Ideally, web design address all possible cases. HTML 5 goes a long way to structure content in ways that make it accessibility for people with disabilities. As the websites produced in this course tend to be simple, well structured HTML5 documents will be the primary way disability compliance is addressed.
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.
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.
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.
picture
represents a container for multiple img elements that gives browser hints as to which img to display depending on pixel density, viewport size, image format, etc..
figure
represents a piece of self-contained flow content, typically referenced as a single unit from the main flow of the document, and used to attach a caption to that content using figcaption
<figure>
<video src="ogg"></video>
<figcaption>Example</figcaption>
</figure>
All tags fall under one or more kinds of content. The categories are
Go further by following these links:
Two video shorts made by ADDIKT to describe the roll of the UX designer.
ILUVUXDESIGN part I from lyle on Vimeo.
ILUVUXDESIGN part II from lyle on Vimeo.
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. Websites designed in this class will not be as complex but the needs that drive the industry to create user experience designers is demanded of your work as well.
In order for there to be a meaningful and valuable user experience, information must be useful, usable, desirable, findable, accessible, and credible.
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.
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.
Create a website that has a story that is engaging and fun to engage, and not just coherent and informative.
Facts sit. Stories dance. About and bio pages come to life when they shape facts using the framework of a familiar, cherished story line. Appealing narratives include:
Look at this Op Ed video from NYTimes, where a political consultant shows just how powerful a good story can be.
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.
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 to you 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 with fully loaded with content, so designers strip the content away and use wireframes.
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. The CSS’s box model is ideally suited for developing an interactive wireframe but 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 first minutes count.
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. An information architect would do the following:
All of this development does not happen in a vacuum. Mockups and prototypes are not enough. You have to build what you prototype and test it with real users, and test it, and test it until you know that it actually works.
Everything has to be user tested. How else can you learn that the user experience actually works?
You can’t watch over someone’s shoulder to test user experience. Software packages like silverback can follow the user as they go through the website. This kind of feedback can be invaluable. You have the opportunity to use this software at the middle and end of the course, to test your portfolio and final projects.
Download a free version of Silverback 2.0 to test your website!
KIS! Keep It Simple is the mantra. For emphasis, add a second “S.” KISS!
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!
If your landing page does not capture your audience, they will not go further, and you will have lost your chance to communicate. The landing page is a marketing campaign, not just a design problem.
To help you along, Unbound has a number of videos to make you think twice about how to put a landing page together. Take the time and watch their constructive video critique. It should help inspire you to do the right thing when it comes to your own landing page.
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 devices including the MacOS, iOS, watchOS, and tvOS covered by Apple’sHuman Interface Guidelines. User experience revolves around streamlined interaction with content that people care about. Here are some points:
User Design experience adapts to whatever experience the device delivers. Apple has a clear explanation of the User Experience on Apple TV. Watch it to see how to design for Apple TV. It is all about the living room experience and sitting at a distance across the room, unlike a desktop computer or an iPhone. Platform design goals (principles) are to be (1) connected, (2) clear and (3) immersive. Good explanation and examples throughout.
Apple’s website has been one of the goto sites for design but look at its early incarnations and you realize how much it’s changed.
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.
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.
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.
Speed is a boon to users. It is also a competitive advantage that Google doesn‘t sacrifice without good reason.
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.
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.
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.
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.
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.
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.
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.
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.
A compendium of insight, resources, instruction, and wisdom for anyone who wishes to know more, or get an overview of XU as a career. The Ultimate UX Guide With All The Secrets You Need To Know
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
HTML stands for Hyper Text Markup Language. If you wish to see the entire specification in a one page version (large document), visit the living standard
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 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 elements contains all other elements. It is the root element, and the language attribute is specified as English.
<html lang="en">
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.
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.
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>
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
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.
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">
Example: <a href="file_name">File Name</a>
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">
Example: <a href="file_name">File Name</a>
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">
DOCKTYPE
html
head
body
main
header
nav
ul
section
article
p
figure
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.
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 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.
HTML5 has loosened up the rules somewhat but it is still desirable to follow these rules for well formed HTML documents.
<img>
because there is no content. These tags are pointer to content, and get replaced by that content. Other tags are self closing, like the <meta />
and <br />
tags. List of self-closing tags: area, base, br, col, embed, hr, img, input, keygen, link, meta, param, source, track, and wbr.
Accidentally not closing a tag can cause all kinds of havoc and will be flagged when validating. It is a common occurrence in the first few weeks of writing code.
<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.
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.
There are many HTML elements. Mozilla organizes them according to function. That’s helpful. Don’t memorize them. You will remember the ones you use most often and you can always look up the other ones up. Here are all the elements you’ll most likely use:
These elements display just like characters, coming one after the other horizontally, till it comes to the end of the line.
The span tag selects inline content.
So much information.
So much <span style="color: red;">information</span>.
increases importance
So much information.
So much <strong>information</strong>
for emphasis
So much information.
So much <em>information</em>
Breaks the line without creating a new paragraph.
So much
information.
So much <br />information.
Quotations inside of a paragraph can get automatic quotes when you use this tag and the following CSS pseudo elements. (q:before {content: ““”; } q:after {content: “””; }).
So much information
.
So much <q>information</q>.
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">
.
Click the example below and you’ll see the page jump just a little.
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.
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>.
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.
Links to a location an another page come at the end of a absolute or relative address.
and
The image tag gets replaced by the image. The img
tag does not have a closing tag.
If the image is not at the location specified by the src
attribute you will see a generic missing image icon.
There has to be an alt
attribute so that text will appear if the image does not show up. The img
tag will be flagged by the validator if it does not have an alt
tag. The information is used by screen readers to explain what the image is about to blind people who listen to web pages. It is also a good idea for illustrators, designers, photographers and other people relying on images to load up the description of each image so search engines can include that in people’s searches.
The title
attribute is optional. The title shows up when you hover over the image for a second or more.
<img src="image_location/name_of_image" alt=“required description of image for screen readers or when images are turned off" title="Final Thumbnail" >
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 elements display like paragraphs, coming one after the other vertically down the page in the document flow.
div stands for division. It is the generic block element, used when an element is needed for styling purposes, or as a convenience for scripting. The <div>
element represents nothing, has no semantic meaning. Do not use in place of elements that have semantic meaning. It is not equivalent to the HTML5 section element.
<div style="background: pink; padding: 10px;">content</div>
How a headline looks depends on how they are styled. You should use headlines to structure your content, not based on how they look.
<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 bla bla bla bla.
paragraph bla bla bla bla.
<p>paragraph bla bla bla bla.</p> <p>paragraph bla bla bla bla.</p>
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>
Although previous versions of HTML defined the hr element only in presentational terms, as in horizontal rule, the element has now been given the specific semantic purpose of representing a “paragraph-level thematic break” which is to be styled using CSS. For legacy reasons, browsers still render the <hr>
as a horizontal rule.
<hr>
CSS:
hr { display: block; margin-before: 0.5em; margin-after: 0.5em; margin-start: auto; margin-end: auto; border-style: inset; border-width: 1px; }
Ordered lists are numbered sequentially.
<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>
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.
<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 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.
<ul> <li> list item </li> <li> list item </li> <li> list item </li> <li> list item </li> <li> list item </li> </ul>
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
<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>
<dl> <dt>term</dt> <dd>definition1</dd> <dd>definition2</dd> </dl>
<dl> <dt>term1</dt> <dt>term2</dt> <dd>definition</dd> </dl>
The details disclosure element does exactly what you think it does. It toggles information that is initially hidden, disclosing it. It takes two tags, the <disclose> tag and the <summary> tag. The summary tag has a triangle in front of it that when clicked discloses the hidden information.
Something small enough to escape casual notice.
<details> <summary>Details</summary> Something small enough to escape casual notice. </details>
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.
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>
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.
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>
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-html-css-primer/">height=300 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
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>
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>
.
<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>
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>
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.
The web is a design language, and as some of you are not primarily Communication Design students, it becomes clear that there needs to be a reference that covers what Visual Design students take for granted.
Parsons students can use these links as resources for researching their projects. 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.
Designer Massimo Vignelli’s life’s work through his design philosophy with a wealth of examples in The Vignelli Canon. He distributed it free on his website for everyone to become better visually educated. That site no longer exists, so I put the book on my server. You can purchase it. The Vignelli Canon represents the status quo that David Carson opposed that we will cover in Week 6)
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.
Canva is an online graphic design platform that lets nondesigners put together and play with designs till something clicks. You can use it instead of photoshop to prototype your design. Download it as a PDF and open it in Illustrator, and all of the elements are editable.
Invision is a web and mobile device application design platform that allows you to create and user test your designs before you commit to them with code.
Typography remains elusive for many, so I gleaned useful definitions, descriptions and links to explain the basics.