Ensuring your site is usable by any user, anywhere in the world, on their device, with their network speed by focusing on uptime, speed and performance, critical content, accessibility, and usability.
Ensuring your site is usable by any user, anywhere in the world, on their device, with their network speed by focusing on uptime, speed and performance, critical content, accessibility, and usability.
3.
What does it mean?
Accessible: capable of being reached or
used
http://www.merriam-webster.com/dictionary/accessible
4.
Accessible Web: Usable by any user,
anywhere in the world, on their device,
with their network speed
5.
Patty Toland - Design Consistency For The Responsive Web - https://vimeo.com/108331967
6.
If a user goes to your website they get something back
Uptime
7.
Causes of downtime:
• Scheduled maintenance
• Server crash
• DoS attack
• Dependent service failed (AWS, Heroku,
etc.)
• JS error that prevents page load
• JS error that prevents data the user needs
from loading
9.
Industry standard: 99.9% (43.2 min/month or 8.76
hours/year)
10.
Improve uptime:
• use a CDN
• reduce number of assets requested per page
• load 3rd party scripts asynchronously
• optimize assets
• use expire headers on assets
• set up monitoring
• use a load balancer
11.
Speed
How fast your website returns usable content
13.
Perceived performance is more important than actual
performance
14.
How users perceive response times:
• 100 milliseconds: feels instantaneous
• 1 second: flow of thought begins to become interrupted
• 10 seconds: begin to lose interest entirely
• > 10 seconds: will abandon task and leave site
http://www.nngroup.com/articles/response-times-3-important-limits/
15.
Perceived speed becomes more important for
international users
19.
85% of mobile users expect sites to load at least as fast or
faster than on a desktop
http://designingforperformance.com/performance-is-ux/
20.
85% of mobile users expect sites to load in 5-10 seconds
21.
Improve speed:
• make as few requests as possible
• use a CDN
• optimize content
• compress images
• minify and concat static assets
• compress web fonts
• gzip content
• use expire headers on assets
• async assets that are not used above-the-fold
(critical path)
22.
Core Experience
Core content and functionality for all users
24.
Core content: the fundamental reason for the webpage
and the main reason the user comes to the site
http://www.bbc.co.uk/guidelines/futuremedia/glossary.shtml#core-content
25.
Core functionality: functionality needed in order to use the
core content
26.
Core experience must be agnostic to device, platform, or
browser and fault tolerant
27.
Core experience must be rendered on the server
28.
Use progressive enhancement to give a better
experience
29.
A caveat: Most JavaScript frameworks do not support core
experiences
30.
React.js does, and Ember.js is currently working on it
31.
A11Y (Accessibility)
Inclusion practices for removing barriers
for users with disabilities
32.
Types of disabilities:
• sight (blind, color blind, low vision)
• hearing (deaf, hearing loss)
• motor (Parkinson's disease, unable to use arm, arthritis)
• learning (Alzheimer's, ADHD, English as a second
language)
33.
A lot of these impairments can develop as you get older or
even come and go with injuries
34.
Unfortunately, it can be difficult to remove barriers that you
haven’t experienced
36.
Color blind:
• don’t use color alone to convey meaning
• use good color contrasts for text
37.
Deaf:
• provide text transcripts for audio clips
• provide closed captioning for audio clips
38.
Motor:
• avoid mouse only interactions, use keyboard alternatives
• make sure all core functionality is accessible via the
keyboard
• make sure tab order makes sense (especially when
canceling actions)
39.
Learning:
• simplify layout as much as possible
• keep tasks concise, using as few steps as needed
• keep navigation and common interactions as consistent
as possible
• don’t use blinking or flashing text or adverts
• organize information into manageable chunks
40.
Blind:
• ensure valid HTML with semantic headers
• use landmark HTML5 elements (heading, nav, main,
article)
• provide alt text for images
• avoid mouse only interactions, use keyboard alternatives
• provide column and row headers on tables
• don’t use anchor tags to just active JavaScript, use
buttons
• ensure text in anchor tags make sense out of context
• learn when and how to use aria attributes
42.
Usability
Quality attribute that defines ease-of-use
43.
Users will leave your site if they get lost, frustrated,
confused, or can’t find what they want
44.
5 E’s of usability:
• Efficient – speed of task completion
• Effective – user goal is met successfully
• Engaging – pleasant and satisfying to use
• Error tolerant – tolerant to user errors, provides feedback
• Easy to learn – good onboarding, low barrier to entry
http://www.wqusability.com/articles/more-than-ease-of-use.html
45.
Not all five categories need to apply to every task
46.
Improve usability:
• reduce number of steps needed to complete tasks
• identify user goals and ensure they can be met
• reduce feature bloat and UI clutter
• increase user exposure hours
https://www.uie.com/articles/user_exposure_hours/
the term "web accessibility" is overloaded and can carry a negative connotation, mostly is used to refer making websites accessible to users with disabilities
however, the term “accessible” means so much more than that
Accessibility is user centric. Most of my presentation will be from the point of view of the user.
Abraham Maslow's hierarchy of needs basic needs at the bottom upper levels transcend and include the lower levels highest achievements are possible only with a stable foundation
Accessible Web hierarchy of needs
if a user cannot get to your site, it is inaccessible to them.
Opposite of uptime is downtime. What does downtime look like?
A blank screen
Important to understand that uptime is based on the users perspective. If your servers are all running fine but your site loads too slow or breaks due to a JS error, the site is down to the user
This is what users expects
[relate story of my website being DoS attacked with my audio assets] less assets = less points of failure don’t let 3rd party scripts kill your site [relate adobe analytics problems]
Usable content is an important distinction. Usable content can be interacted with by the user to perform tasks
Luke Wroblewski (row-blue-ski), an internationally recognized digital product leader, told a story of when he worked on the polling app Polar. His team worked to improve the speed of the page so it loaded quicker. Since they loaded polls asynchronously, they also added a spinner to indicate that polls were being loaded.
Shortly after their improvements, users starting giving feedback that the polls felt slower than before, even though the site was in fact much faster. This is because the addition of the spinner made people notice the waiting instead of overlooking it.
Again, it’s all based on the user’s perspective.
So how do users percieve time?
in 1993 Jakob Nielsen published his book “Usability Engineering” wherein he documented how users perceived time. This was back in 1993, the 10 second limit could easily have dropped to 5 seconds in 2015.
Remember uptime? A site is considered down it it is too slow to load. 5-10 seconds = too slow to load
In some parts of the world, mobile phones are the only way to access the internet
However, mobile web traffic is slowly becoming the preferred way to browse the internet even when desktop computers are available
Mobile speeds are slower than desktop speeds. Mobile (aka 3G) is typically 3-4x slower than desktop (4G). A 2 second page load is between 7-8 seconds on mobile.
LTE = 4G, HSPA = 3G, EDGE = 2G
What does this translate to in terms of perceived performance?
less requests = less round trip time (slowest part) CDN puts assets closer to the users (less time to travel over the wire) optimized content = less bytes transferred critical path – want the usable part of your website available as fast as possible
No good reason to make your content inaccessible to users by preventing them from seeing it
Example: Core content of a news site is to allow users to read the news Core content of a games site is to allow users to play games
Notice that both of these examples focus of the user’s goals and not the sites goals
Example: Ability to submit a poll in a polling app
Any user on any device or browser should be able to access your core experience A bug in you JavaScript code won’t cause a blank screen to appear
If a user comes to your site using an old Nokia phone (which are popular in Africa), you should still be able to serve them content
Progressive enhancement means to add functionality and content based on feature detection. Better featured browsers get a better experience while low featured browsers just get the core experience.Doing this helps you to support any device, but still have a browser specific feature set. This is know as “Cutting the Mustard”
JavaScript frameworks depend on JavaScript, and not only that, a certain capability in JavaScript that not all users may have on their device. They require a bare minimum of JavaScript functionality and browser support. Most recent angular does not support IE9 for example
Need to render the page first o the server, then hand off the html and the state to the client. Once the client gets the core experience, can load the JavaScript framework and create a more responsive app. It’s a difficult problem to solve
Meaning some day you will be affected by some sort of impairment that will make the web harder for you to use
Example, unless you have done an in-depth study and analysis of how to remove barriers for blind users, it can be hard to understand how to solve problems they run into (or even be aware of them)
I have been studying Accessibility techniques for many years, and I still don’t know how to solve some problems
Just doing basic things can help all users
Notice that the red and the green colors look the same to a red-green color blind users. This means that stop light colors (red, yellow, green) would be lost on this user and they wouldn’t be able to distinguish between an error and a success.
Notice that the red and the green colors look the same to a red-green color blind users. This means that stop light colors (red, yellow, green) would be lost on this user and they wouldn’t be able to distinguish between an error and a success.
How many of you are familiar with this software? Is it usable? What makes it unusable?
It’s important to identify which usability metrics are important for your program.
For example, Photoshop is not easy to learn because of how powerful it is, but it is highly efficient and effective at what it does.
user exposure means having your entire team (project managers, designers, developers, and qa) going out and watching users use the product
It appears that you have an ad-blocker running. By whitelisting SlideShare on your ad-blocker, you are supporting our community of content creators.
Hate ads?
We've updated our privacy policy.
We’ve updated our privacy policy so that we are compliant with changing global privacy regulations and to provide you with insight into the limited ways in which we use your data.
You can read the details below. By accepting, you agree to the updated privacy policy.