it-swarm-vi.tech

Phân trang theo tỷ lệ

Hôm nay tôi tình cờ phát hiện ra khái niệm phân trang này và tôi thấy nó thật hấp dẫn: Khái niệm phân trang dựa trên Fibonacci.

Nó thực sự là một cái cũ shot nhưng nó khiến tôi nghĩ rằng tôi sẽ cần phải phân trang một số nội dung trong tương lai gần.

Các trang sẽ sớm trở thành hàng trăm và cuối cùng là hàng ngàn, vì vậy tôi sẽ cần một số phân trang "thông minh" [theo nhóm] (10-30 | 31-32-33 ... 37-38-39 | 40-70) thay vì chỉ liệt kê trang từ 1 đến 200.

Như đã đề cập trước đây, tôi thấy cách tiếp cận này rất hấp dẫn nhưng tôi cũng cảm thấy rằng người dùng cần có thể truy cập trang mà anh ta muốn với số bước ít nhất có thể.

Tôi không phải là chuyên gia về UX nên bạn sẽ là người đánh giá: bạn sẽ xem đây là cách tiếp cận tốt hay xấu? Và trường hợp sử dụng này là một cách tiếp cận tốt hay xấu để làm gì?

TRƯỜNG HỢP SỬ DỤNG CỦA TÔI

Tôi không biết về trường hợp sử dụng của người sáng tạo. Tôi đang hiển thị một nội dung được sắp xếp theo thời gian nhưng biến thời gian không liên quan đến người dùng. Các trang ở đó chỉ để phân đoạn nội dung.

Người dùng tự nó không cần phải đi đến một trang cụ thể vì các mục có permalink.

Giả sử tôi có các bài đăng chứa câu cách ngôn: chúng đã được đăng trong các thời điểm khác nhau để tôi có thể liệt kê chúng và sắp xếp chúng và cuối cùng chia chúng thành các trang, nhưng ngày/giờ không liên quan.

72
XCore

Vấn đề gì bạn đang giải quyết với điều này?

Đây có vẻ như là một giải pháp của nhà phát triển cho một vấn đề mà họ nghĩ là có tồn tại. Chúng ta hãy nhìn vào cách người dùng sử dụng các trang.

Họ muốn đi đến:

  • một trang cụ thể
  • trang đầu tiên
  • trang cuối cùng
  • một mục cụ thể được tổ chức trong một trong các trang
  • đi đến trang tiếp theo hoặc trước đó (rất tiếc, quên điều đó, cảm ơn 3nafish)

Nhảy 10 trang trước một cách ngẫu nhiên? Tại sao? Nếu người dùng của bạn phải làm điều đó, bạn không giải quyết vấn đề một cách chính xác.

116
Chris Aplin

Nếu bạn thực sự muốn cung cấp khả năng chọn bất kỳ trang nào từ 3000, thì đó là một tâm hồn cũ từ karaboz. Ý tưởng là làm cho một trang chọn như một thanh cuộn. Ví dụ: cách tìm trong 50 trang: enter image description here

Bạn có thể di chuyển con trỏ cuộn (màu xám) rất nhanh để tiếp cận một nhóm các trang bạn thực sự cần tại ngôi sao này. Điểm đánh dấu màu cam - trang wich được chọn ngay bây giờ. Một cú nhấp chuột để thay đổi trang.

Trong 100 trang: enter image description here

Bạn có thể tìm thấy các mẫu và nguồn trên web theo tên này - "Paginator 3000"

46
Mike Frolov

Ngoại trừ một vài trường hợp Edge, tôi nghĩ rằng phân trang là một ý tưởng tồi , đặc biệt là khi nói đến các diễn đàn.

Chỉnh sửa: Nhìn lại điều này sau 4 năm! Bây giờ cuộn vô hạn (Tôi đã gọi nó tải động) dường như là giải pháp chuyển đổi cho các ứng dụng hiện đại. Trường hợp tại điểm: Reddit.

Câu hỏi: Làm thế nào để người dùng biết rằng có một hình ảnh con mèo thú vị trong bài 3 của trang 1534?

Họ không. Người dùng yêu cầu truy cập một trang cụ thể là một yêu cầu không tồn tại trong các định dạng diễn đàn phổ biến. Những gì người dùng muốn là bỏ qua những bài đăng ồn ào đó ("Bài đăng tuyệt vời", "WOW", "LOL", "Cảm ơn") và (hy vọng) có được bức ảnh con mèo đó ai đó may đã đăng .

Trong các định dạng diễn đàn (hoặc tương tự), nội dung sau (giả sử) trang 10 thường không sử dụng được đối với công chúng nói chung của Internet. Tôi nghĩ rằng chúng ta nên thiết kế các trang web sao cho hệ thống không khuyến khích người dùng kéo dài một chuỗi thành các trang.

Sau đó, làm thế nào chúng ta có thể mở rộng quy mô diễn đàn của chúng tôi mà không cần phân trang?

Diễn ngôn có một cách hấp dẫn để hiển thị các chuỗi dài: Nó tìm nạp nội dung một cách linh hoạt khi người dùng cuộn xuống cuối trang.

Một điều khác bạn có thể làm là cố gắng triệt tiêu những thứ ồn ào/không phổ biến, vì vậy hầu hết những thứ thú vị, có liên quan đều phù hợp trong trang đầu tiên. Reddit thực hiện điều này.

Điều gì xảy ra nếu người dùng thực sự muốn đi đến một trang/bài đăng cụ thể?

Một ý tưởng thú vị từ các ý kiến ​​là

người dùng sẽ biết rằng có một hình ảnh con mèo thú vị ở trang 1534, bởi vì ai đó đã nói chúng.

Nhưng hãy xem làm thế nào điều này có thể phá vỡ khi phân trang: Vào thời điểm người dùng chuyển đến trang 1534, hình ảnh đã được chuyển sang trang 1531 , vì người kiểm duyệt đã xóa một số bài đăng spam trong chủ đề.

Thay vào đó, chúng ta có thể sử dụng khái niệm permalink. Làm thế nào permalink làm việc với tải động? Chà, bạn có thể hiển thị cho người dùng bài đăng tương ứng với permalink, được liên kết với một vài bài viết trước after để đưa ra một số bối cảnh. Twitter sắp xếp việc này. Người dùng luôn có thể cuộn lên hoặc xuống để tải thêm bài viết.

Twitter showing a Tweet with context

Điều hướng thô lên xuống

Một yêu cầu khác từ ý kiến:

Tôi muốn biết về điều gì đó đã xảy ra sáu năm trước, tôi muốn nhảy vào khoảng 60% trong suốt chặng đường và bắt đầu nhìn từ đó.

Có một trang web truyền thông xã hội rất phổ biến thực hiện điều này với tải động. Kiểm tra này:

Facebook displays its timeline with dynamic loading. Users can jump to specific time periods using a scale in the side of the thread

Nhưng, tải trang động là không hiệu quả. Làm thế nào bạn có thể giải quyết điều đó?

Như các bình luận đã chỉ ra, tải trang động có thể rất tốn bộ xử lý, đôi khi khiến trình duyệt bị sập. Một biện pháp khắc phục sẽ là xóa nội dung cũ hơn mà người dùng đã đọc từ trang. Trong các cuộc hội thoại thông thường, người dùng không thể quay lại chuỗi này.

25
sampathsris

Tôi nghĩ rằng nó dừng lại sau khi yếu tố mát mẻ. Đó là một trong những tình huống "chỉ vì bạn có thể, không có nghĩa là bạn nên".

Tốt nhất là làm theo những gì thông thường. Nhảy mười bước tiến hoặc lùi là phổ biến nhất (dĩ nhiên sau khi di chuyển một bước). Tôi nghĩ rằng số lượng lớn tiếp theo để di chuyển qua nhiều trang sẽ là một số phổ biến chúng tôi chuyển sang các tình huống khác, chẳng hạn như 25, 50 hoặc 100. Tất nhiên, đặt cược tốt nhất của bạn là kiểm tra người dùng.

Biên tập: Tôi đã thấy một số ý kiến ​​cho rằng phân trang nói chung là xấu, vì vậy tôi cảm thấy buộc phải chỉ ra rằng phân trang thường là một kinh nghiệm tốt. Đây là một đoạn trích từ Nhóm Nielsen Norman:

Trường hợp phân trang có ích cho các danh sách, chẳng hạn như các trang danh mục thương mại điện tử, trang kết quả của công cụ tìm kiếm (SERP), lưu trữ bài viết và thư viện ảnh. Ở đây, mục tiêu của người dùng không phải là lướt qua danh sách đầy đủ, mà là tìm một mục cụ thể và nhấp qua trang đích đó.

Giả sử rằng bạn có thể ưu tiên các mục danh sách, người dùng có thể tìm thấy những gì họ muốn gần đầu trang. Để tập trung người dùng, chú ý và cải thiện thời gian phản hồi, bạn có thể bắt đầu bằng cách hiển thị một danh sách khá ngắn và sau đó cung cấp các tùy chọn phân trang để tiếp tục xuống danh sách nếu cần.

- Tùy chọn phân trang của người dùng và 'Xem tất cả'

Cuộn vô hạn có thể đặc biệt xấu trên các trang web thương mại điện tử khi người dùng thường xuyên đi sâu vào các trang chi tiết và sao lưu. Đây là một bài viết chỉ ra một số vấn đề với kỹ thuật: http://www.nngroup.com/articles/infinite-scrolling/

Bản thân tôi thường xuyên phải chịu đựng nỗi đau của việc cuộn vô hạn khi mua sắm trên điện thoại; bởi vì khi tôi thoát ra khỏi trang chi tiết về sản phẩm, trang của các sản phẩm được liệt kê sẽ làm mới và không giữ lại vị trí trang mà tôi đã ở trước đó. Tôi thường rời khỏi trang web.

6
Michelle

Đây là một vấn đề về chia tỷ lệ, là một vấn đề phổ biến trong trực quan hóa dữ liệu :) Trục Y của bạn có dữ liệu (số trang) và lý tưởng là bạn muốn hiển thị tất cả chúng cùng một lúc - nhưng điều đó không phù hợp, vì vậy bạn nên chia tỷ lệ nó.

Chúng tôi thường chia tỷ lệ theo log (10), vì đó là một trong những biến đổi dễ dàng nhất để mọi người khái niệm hóa - nhưng bạn có thể đi theo bất kỳ trình tự chia tỷ lệ nào! Một cách để kiểm tra một chuỗi đã cho sẽ là tính toán:

- The most clicks required to reach a page in list
- The mean clicks to reach any page in list
- The modal clicks to reach any page in list

Sử dụng các biến:

 - Total number of pages
 - Number of options/jumps available to choose from
 - Scaling approach

Các cách tiếp cận mở rộng khác nhau sẽ có kết quả khác nhau với độ dài danh sách khác nhau và số lần nhảy khác nhau. Việc tính toán các điểm số này cũng là một vấn đề của nhân viên bán hàng du lịch, do đó, có thể trở thành một nỗi đau khi tính toán cho các danh sách lớn (trong đó dữ liệu này sẽ hữu ích nhất). Dù vậy vẫn vui.

5
J.J

Đó là một ý tưởng thú vị, nhưng việc sử dụng chuỗi Fibonacci có vẻ khá độc đoán. Với giả định rằng người dùng muốn tìm một mục cụ thể được định vị thống nhất trên các trang và họ biết về thứ tự xếp hạng của mục đó, thuật toán hiệu quả nhất sẽ là thuật toán tìm kiếm nhị phân. Vì vậy, nó sẽ phù hợp hơn để sử dụng phân trang sau:

LEFT MID RIGHT

Ví dụ: nếu bạn có 64 trang và muốn có một mục ở trang 42. Số có dấu ngoặc hiển thị trang hiện tại của người dùng:

16 (32) 48 --> 40 (48) 56 --> 36 (40) 44 --> 42 (44) 46 --> 41 (42) 43.

Vì vậy, người dùng chỉ phải xem 5 trang để tìm mục của họ. Mỗi khi người dùng nhấp vào một trang hơn nữa, bạn thực hiện hướng dẫn đó theo nghĩa đen và điều chỉnh phạm vi phân trang. Việc này có hữu ích cho các ứng dụng chính hay không vẫn còn gây tranh cãi, nhưng nó có thể hữu ích cho các tác vụ cụ thể để tìm các mục. Bạn cũng có thể mở rộng điều này khá đơn giản từ hiển thị 3 trang thành n trang bằng cách chọn chúng đồng nhất.

2
Brendon

Lấy một trang từ trình phát video thông thường của chúng tôi, có thể thêm nút 'tua nhanh' và 'tua lại nhanh' để điều hướng nhanh hơn qua các trang. Nhưng chỉ số Fibre? Không có ý nghĩa gì với tôi.

enter image description here

2
Adnan Khan

Đó có thể là một ý tưởng tốt nếu bạn cho rằng người dùng muốn chuyển sang các trang, có thể nhảy. Tuy nhiên, nó không phải là một chuỗi Fibonacci. Bạn có thể có thang đo logarit của bất kỳ cơ sở nào.

Nhưng thực tế ở nơi đầu tiên, tôi không nghĩ bất kỳ nút nào thuộc loại khác ngoài "trước" và "tiếp theo" (hoặc tương đương) sẽ có ý nghĩa gì. Nếu người dùng có một trang cụ thể mà họ muốn chuyển đến, thì họ nên nhập trang đó vào hộp nhập thay vì tiếp cận trang đó thông qua các lần nhấp liên tiếp của các nút điều hướng. Mặt khác (nếu người dùng không có một trang cụ thể), người dùng nên quan tâm đến việc tìm kiếm từng trang một, và sẽ không có ý nghĩa khi nhảy một số trang nhất định, vì vậy "trước" và "tiếp theo" sẽ đủ.

2
sawa

Tôi cũng cảm thấy rằng người dùng cần có thể truy cập trang mà anh ta muốn với số bước ít nhất có thể.

số lượt truy cập rất tuyệt nhưng số bước ít nhất có thể là bằng cách lấy số trang mà người dùng muốn và nhảy đến đó.

Nếu tôi biết rằng có một cái gì đó ở trang 1512, tôi muốn làm điều đó hơn là chơi tìm kiếm nhị phân với các số của Wikipedia (thực tế, tôi sẽ cố gắng bỏ qua điều hướng bằng cách sửa đổi url)

2
thanosqr

Bạn có thể cân nhắc sử dụng menu thả xuống (AKA một menu bật lên).

Điều này đưa ra một dấu hiệu nhanh về kích thước của tập kết quả, cũng như cho phép người dùng chuyển đến trang đầu tiên, cuối cùng và bất kỳ trang tạm thời nào, một cách dễ dàng hợp lý.

edinburghbicycle.com pagination

Đây là từ http: //www.edinburghbilot.com/browse/cloth/mens-cloth

Trong thử nghiệm người dùng, tôi thấy điều quan trọng nhất là có các nút tiếp theo/trước lớn.

Tải nhanh là một giải pháp tốt hơn - nhưng thật dễ để nói ...

2
dave

Một ý tưởng thú vị chắc chắn, nhưng nếu bạn có kế hoạch có hàng trăm hoặc hàng ngàn trang, duyệt qua tất cả chúng có thể sẽ là một trải nghiệm khó chịu bất kể.

Sự hoài nghi trong tôi tin rằng trường hợp sử dụng của người sáng tạo đã thể hiện khả năng giải quyết một thách thức lập trình phổ biến trong việc viết một thuật toán in ra chuỗi Fibonacci.

1
drosenblatt

Nếu đây là phân trang cho kết quả tìm kiếm, hãy nhớ rằng các kết quả phù hợp nhất nằm trong một vài trang đầu tiên (tôi chưa bao giờ thực sự phân trang kết quả tìm kiếm của Google ngoài 2-3). Vì vậy, trải nghiệm tốt nhất là hiển thị kết quả phù hợp nhất ở trên cùng và giữ sự tập trung vào phân trang thấp.

Nếu bạn đang hiển thị một kho lưu trữ, thì phân loại được ưu tiên để phân trang đơn giản. Ví dụ: Bảng chữ cái, theo tác giả, sửa đổi lần cuối, thẻ, v.v., Hy vọng rằng sẽ giúp

0
Balaji Natarajan