Class 4 Reading Notes

Wireframe & Design

Notes on the high-level process to follow in making a new site...

Always start with diagrams (it can even be on hard copy with pen and paper) before you jump into code-building. Thinking about the layout of your site (and especially how the user will interact with it) is the crucial first step in determining what HTML formatting, CSS styling, and JavaScript interactivity (as well as any other programming tools and features) you will want to incorporate into your code.

It's all about the layout that will facilitate the kind of interaction you want users to have on your page.

In addition to pen + paper, there are great wireframing software tools available online like Invision or Balsamiq. Personally, I'm enjoying the functionality of Miro (the wireframing software partnered with Code Fellows' HeroKu Virtual Lab Space).

The Career Foundry (CF) article on the wireframing process recommends the following six steps:

  1. Do your research
  2. Prepare your research for quick reference
  3. Make sure you have your user flow mapped out
  4. Draft, don't draw. Sketch, don't illustrate
  5. Add some detail and get testing
  6. Start turning your wireframes into protypes

Mozilla HTML Basics

HTML stands for HyperText Markup Language, and its how most of the web is formatted/structured.

There are five main aspects to an HTML element. They are:

  1. The opening tag
  2. The closing tag
  3. The content
  4. The element
  5. The attribute

That comprises the anatomy of an HTML element. The MDN Web Docs article goes on to discuss nesting elements, empty elements, the anatomy (or basic structure) of an HTML document, images, text markups (including headings, paragraphs, and lists), and the inclusion of links. Speaking of...click this if you want to refer to that MDN Web Docs article!

Semantics

Each piece of a coding document (ideally) possesses meaning. This is the "why" of it all. What effect will a line have on the web product? What is its role or purpose?

Semantic elements perform functions while also expressing the meaning of the functions to those viewing the code. For instance, a coder could us CSS to adjust text to have a particular `font-size` and `margin` to make it look like top line header size content. But HTML has the semantic element of <h1> which both performs that function, while providing meaning ("h1" meaning 1st level sized header content).

The MDN article on Semantics says that they are roughly 100 semantic elements available, and it lists some (which include <header>, <main>, and <summary> to name a few).