Progressive Enhancement

Image result for progressive enhancement
HTML, CSS, and Javascript

Graceful Degradation (GE) “degrades” a user’s experience. The less capable the browser or device, the worse the experience. The loss of presentational elements affects the availability of content and the functionality of the website. It is like falling down a staircase: it’s painful, confusing, and thoroughly unenjoyable. 

Progressive Enhancement (PE), on the other hand, “enhances” a user’s experience. At its most basic level, a website’s function is to convey information – content. In order to make this content accessible to as many browsers, search engines, and circumstances as possible, PE places it in the basic HTML layer. After the HTML is complete, PE progressively adds presentational features, such as CSS or JavaScript, to the content. If a user has the capability, they can gain the full experience and presentation of the website; if they don’t, they can still interact with a functioning webpage and get the needed information. With PE, we are moving up that staircase: content is our floor and, depending on our leg functionality, we can move up to different levels of presentation. 


Knowing the difference between these two techniques is even more valuable in the age of mobile devices. More often than not, your user will take in the majority of their content via their cellphone or tablet. Content and presentation need to be able to adapt to different sizes and work responsively.

Graceful Degradation builds a webpage for a desktop format. It then adds in mechanisms such as media queries to take away features and make the page fit smaller screens. This method is inefficient and can be labor-intensive.

Progressive Enhancement, on the other hand, starts by building a webpage in its mobile format. This prioritizes the most important content and features. PE then progressively adds in secondary features as the screen size increases and there is space to do so effectively.

More Information

Original Article

Website Critique

Feedback Techniques

Giving Feedback 

  • Use “I” Language: I think, I noticed, etc. 
  • Use Specific Examples 
  • Look the Person in the Eye, Show Respect 
  • Be Enthusiastic, Speak Encouragingly

Receiving Feedback

  • Actively Listen 
  • Be Open-minded 

Positive Improve Positive (P.I.P) Method: The Sandwich Method

  • Top Bun: Positive Comment
  • Lettuce: Feedback (What can be improved)
  • Cheese: Feedback 
  • Meat: Detail (How to improve) 
  • Bottom Bun: Positive Comment 

Website Critique (with Christian)

Visit Webpage

Before Critique

Christian’s Positive Notes:

  • Likes animation 
  • Really likes parallax background
  • The Smooth Scroll is nice

Critique:

  • Choose a 3rd distinctive font or font effect to add visual variety.
Critique

Post-Feedback Results

  • I used the text-transform property to capitalize the main title.
  • I used a 1px silver text-shadow effect.

Reflection

Who was your partner and what was their project?

  • Christian was my partner. He built a website for Space X.

Did you feel that having the sandwich template helped your critiquing efforts?

  • The sandwich method helped me to organize my thoughts. I was able to give positive, constructive feedback without eliciting a defensive attitude from my partner.

In which role did you feel the most/least comfortable; being evaluated or in the role of the evaluator?

  • I was more comfortable evaluating rather than being evaluated. Being evaluated makes me feel vulnerable. I had worked hard on my project and I didn’t want to have to change anything. I realized, however, that my website is built for the use and enjoyment of others just as much as myself.

What did you learn from interacting with your partner?

  • I learned that sometimes two pairs of eyes are better than one. Having someone else look at your work can give a fresh perspective and help to identify problems.

What do your feel were your strengths / weaknesses as an evaluator?

  • I felt that one of my key strengths was explaining how my partner might be able to fix certain problems I pointed out. For example, Christian was using HTML breaks to put spacing between pieces of content, so I showed him that it would be more efficient to use padding and margins in CSS.
  • A weakness I had to be aware of was remembering that this was his project and not mine. I had to make sure to specify when I was just giving my personal stylistic preference.

What would you do differently next time you found yourself in an ethical constructive feedback situation?

  • I would talk more about the components that I struggled with in order to see if my partner has an easier or better way of completing certain tasks.

Concluding Thoughts

Positives:

  • Increased my design knowledge and capabilities by learning how to utilize:
    • parallax scrolling
    • relative and absolute positioning (of content over a background image)
    • media-queries
    • responsive images and font

Negatives:

  • Although I utilized media-queries, I used them for graceful degradation rather than progressive enhancement. I am in the process of learning mobile-friendly design skills.
  • I used floats rather than flexbox or grid on my images and layout. This is method is not as clean or efficient. I am in the process of learning CSS Grid.

Image Optimization

Vector vs. Raster Images

Vector:

  • Vector is ideal for images that consist of geometric shapes.
  • It is consistent at different zoom and resolution settings.
  • Vector Graphics represent images using lines, points, and polygons.
  • Examples: logos, text, icons

Raster:

  • Raster should be used for more complex, detailed images.
  • Raster graphics encode individual pixel values within a rectangular grid to represent an image.
  • Example: Photos
  • Formats: GIF, PNG, JPEG

Image Formats

Save for web

Animation: GIF

Preserve Detail: PNG

  • PNG uses a larger file size.
  • If the file uses geometric shapes, consider SVG as an alternative.

Optimization: JPEG

  • JPEG can be optimized for smaller file sizes.

Image Alternatives

Image resources often require a large number of bytes relative to HTML, CSS, and JavaScript. The best optimization strategy would be to eliminate images where other resources can be used.

Alternatives to Consider:

  • CSS: Effects, such as gradients and shadows, and animations are often only a fraction of the bytes used by an image file. They are resolution-independent and look clear at every resolution and zoom level.
  • Fonts: Fonts come in a wide variety and improve usability by preserving the ability to select, search, and resize text.
Flat Icon Tutorial
Optimized Gravit Background/Path Exercise (115kb to 85kb)
Design a site like this with WordPress.com
Get started