당신이 묘사하는 상황은 꽤 일반적입니다 : 사용자가 한 번에 자세히 볼 수있는 것보다 많은 데이터에 액세스 할 수있는 방법.
질문에 대답하는 데 몇 가지 방법이 있으며 정답은 완전히 주관적입니다. 즉, 사용자가 연락처를 보거나 무엇을하려고하는지에 따라 달라집니다.실제로 만족스러운 솔루션을 얻으려면 사용자가 연락처를 사용하려고하는 대상을 알아야합니다.
단지 (하지만 당신은 나보다 더 잘 알 것입니다!), 내가 거기에 그들이하고있는 두 가지 있습니다 기대 추측 :/특정 연락처를 찾고 그리고 그들은 이미 자신의 이름을 알고 :
- 조회가 핸들.
- Explore : 특정 연락처를 찾고 있지만 이름/핸들을 기억할 수 없습니다. 아니면 그냥 탐색 중입니다.
모든 솔루션을 필터링하는 경우 조회 목표는 거의 가방에 있습니다.
- 임의의 부분 집합 : 그것의하지 당신은 기본적으로 찾아 일부 남아있어 다음 명시 적으로 새로운 것을보고 필터링해야하기 때문에 검색 할 수있는 좋은 방법 탐색 목표는 당신을 위해 디자인 할 것입니다. 찾고있는 것을 정확히 모를 때 필터링하기가 어렵습니다.
- 무한 스크롤 : 요즘 대중적인 솔루션처럼 보입니다. 나는 당신이 1000+ 접촉을 통해 '무한히'스크롤하는 경우 특히 성가시다. 아마도 탐색 목표에 좋지 않을 것입니다.
- 페이징 : 또한 성가신 -하지만 페이징이 알파벳순 정렬에 연결되어 있다면 잘 작동 할 수 있습니다.
- 임계 값 제한 : 그래서 ... 단순히 필터링에 의존합니까? 사용자가 하나의 필터를 적용하고 임계 값이 여전히 충족되지 않는 경우 (어쩌면 , 성이 Johnson 인 사람이있을 수 있습니다.) 당신이 검색 한 내용). 또한, 당신이 찾고있는 것을 모를 때 탐색 능력이 중요하다고 생각합니다.
나는 내가 당신 입장이라면, 내가 접점의 일부 클러스터링을 소개 거라고 생각합니다. 나는 1000+ 접촉이 성능 문제의 상당 부분을 차지하는 것을 의심한다. (당신이 말하는 것만 큼은 적다!) 그래서 10000+는 정말로 사용자 제약이다 : 그들은 단지 1000 개의 연락처를 한 번에 볼 수 없다.
클러스터링 소개는 아마도 성 또는 이름으로 시작하는 것이 좋습니다. 그런 다음 사용자에게 한 클러스터로 드릴링 할 수있는 방법을 제시하고 다른 모든 연락처를 접어서 즉시 볼 수 없게하십시오. 뭔가가 연계되어 accordian/rollodex paradigm입니다. 이렇게하면 사용자는 '모든 연락처'로 작업하고 있다는 환상을 갖게됩니다. 클러스터가 충분히 작 으면 표시하지 않아도됩니다 (즉, 2 또는 3 또는 5 연락처에 대한 클러스터 표시 - 연락처 표시). 필터가 적용되면 클러스터가 사라집니다.
특히 직면하는 병목 현상은 무엇입니까? 서버에서 클라이언트로 정보 전송? 스크린에있는 많은 요소를 렌더링하고 애니 메이팅할까요? 유용한 인터페이스를 제공하기 만하면됩니까? 다른 것? – slifty
인터페이스 및 인터페이스를 구성하는 가장 좋은 방법에 대해 자세히 알아보십시오. 분명히 응답 성이 있어야합니다. – Josh