front-end web-developer web-performance lean-websites - It costs 5 mins to read

Có nhiều lý do để người dùng rời bỏ một Website, không tìm được (hoặc quá khó để tìm thấy) thứ mình cần, hoặc bởi vì họ cảm thấy website tải quá chậm. Mình xin nhắc lại đó là cảm giác, dù tốc độ nhanh chậm là có thể đo được nhưng người dùng bị chi phối bởi cảm giác và cảm xúc - Khi một người có cảm giác chậm thì không có nghĩa là chúng cũng chậm đối với người khác bởi vì chúng ta đều có sự kỳ vọng khác nhau.

Time doesn’t fly when we are having fun. Vậy khi nào thì chúng ta cảm thấy vui, chắc chắn không phải là khi chúng ta phải đợi. Con người ngày nay mong muốn sự đáp ứng và thỏa mãn tức thời và thật thiếu kiên nhẫn.

Satisfaction = Perception - Expectation

Satisfaction

Imagine a situation where you visit a page and a loading indicator slowly moves from 5% to 10%. You’ll expect it to take a while to hit 100%. If the percentage unexpectedly begins to rise quickly to 95% and then 100%, you’ll be satisfied and happy, because your perception exceeded your expectation. Conversely, if the loading indicator goes up slower than you expect, you’ll experience an unpleasant feeling.

In a nutshell, website visitors are satisfied when their perception exceeds their expectation, and dissatisfied when the opposite occurs.

Ở đây, chúng ta có thể áp dụng kỹ thuật đánh lừa cảm giác không nhỉ? Kiểu tăng dần từ 5~10% đùng cái vọt lên 95%~100%.

Perception

We need to acknowledge that the perception of website speed is a feeling—something that is very subjective.

For example, perception refers to how fast the user thinks your website is, rather than how fast it actually is. Most of the time, that’s almost more important than the actual speed of your website.

Given that your website’s loading time can be perceived as slow, it’s important to ensure that content is delivered as quickly as possible—or at least that, during any delay, the user is kept busy and distracted, so that the experience doesn’t feel slow to them.

Nội dung phải đảm bảo được load và phục vụ càng nhanh càng tốt, hoặc ít nhất là trong thời gian chờ, người dùng bị giữ cho bận rộn hoặc mất tập trung, nhờ vậy mà họ sẽ không cảm thấy bị chậm. Nội dung chính nên được load ra trước, hình ảnh có thể load ra tiếp sau đó, còn những thông tin râu ria khác có thể dùng AJAX để load bất đồng bộ.

Expectations

In the context of performance, when servicing customers, it’s important to manage and care about their expectations. Disney has done a fabulous job in managing expectations so the customer receives a positive outcome in their amusement parks. They have lineups that show you the expected waiting times, with a rather pessimistic estimate, so that customers get to the front of the line in a much shorter time than predicted. As a result, the customer feels more positive.

Đưa ra dự đoán bi quan nhưng kết quả thường tốt hơn giúp người dùng cảm thấy tích cực.

Respect

Imagine you are made to stand in line for 20 minutes, only to find the cashier closing just before it’s your turn to be served. Frustrating, right? Couldn’t they have told you earlier? That’s where respect comes into play: the greater the respect shown for customers, the more likely they are to experience satisfaction.

Nên có trang 404, 500 và Maintainence.

Abandonment Rate: When Your Users Decide to Leave

Response Time

Response Time

Tham khảo thêm tại 8 tricks to improve perceived web performance

Mental Context Switch

A mental context switch happens when the user abandons the original purpose of coming to the site. They most likely are no longer interested in finishing their initial task.


Thêm lý do để tối ưu Web Performance

Speed Matters: Everybody Cares, Even Google

Google has made it official that their search ranking algorithm takes page speed seriously, organising search results on that basis.

Google state that “users place a lot of value in speed—that’s why we’ve decided to take site speed into account in our search rankings.”


Đọc quyển Lean Websites rồi mới thấy việc tối ưu performance của website ở mức Front-End cũng không hề đơn giản mà ngược lại còn là một kỳ công. Khó khăn nhất là lựa chọn trade-off, ông bà ta có câu “được cái này thì mất cái kia”. Mình còn nhận ra một điều nữa, hóa ra Website HTML tĩnh thời kỳ đồ đá trước đây lại tối ưu hơn cả, bởi vì ngày đó tốc độ Internet không được tốt như thời nay. Vì vậy xu hướng Blogging bây giờ là sử dụng static site generator như Jekyll, octopress thay cho những script, platform nặng nề như WordPress. Một ưu điểm khác của static site generator là bạn có thể SEO chúng rất dễ dàng, vì chúng chỉ là trang web tĩnh, không phải đắn đo việc load data từ server, có dùng javascript hay không nên Bot index dữ liệu dễ dàng. (Mình đã viết một script blogging với Back-end là firebase và front-end là Angular nhưng lại thôi không dùng nữa vì biết rằng Google sẽ không index được blog của mình.) - viphat