커뮤니티 위시리스트 설문조사 2022/문단 분할을 위한 더 나은 차이 관리
문단 분할을 위한 더 나은 차이 처리는 2022년 커뮤니티 위시리스트 설문 조사에서 1위를 차지했습니다. 소원의 목적은 페이지의 두 버전 사이에 단락 간격이 삽입된 시점을 시청자가 이해할 수 있도록 하는 것입니다. 이 페이지는 이 소망의 제안에 표현된 요구 사항을 해결하기 위한 커뮤니티 기의 접근 방식을 간략하게 설명합니다. 피드백이 있다면 남겨주세요.
이 페이지는 위키미디어 재단의 커뮤니티 기술 팀이 과거에 작업했거나 거절한 프로젝트를 기록합니다. 이 프로젝트에 대한 기술 작업이 완료되었습니다.
토론 페이지에서 토론에 참여하도록 초대합니다.
문단 분할을 위한 더 나은 차이 관리 | |
---|---|
분할 및 수정된 단락에 대한 미디어위키 차이 디스플레이를 개선합니다. | |
그룹: | 커뮤니티 기술 |
팀원: | Tim Starling, Joydeep Sengupta, Dayllan Maza, Harumi Monroy, MusikAnimal, Sam Wilson, Karolin Siebert, Sandister Tei, Sammy Tarling |
리드: | Joydeep Sengupta, Dayllan Maza and Karolin Siebert (제품 소유자) |
업데이트: | 업데이트 |
배경 및 문제 공간
차이점의 줄임말인 "diff"는 페이지의 두 버전 사이의 변경 사항을 표시합니다.
위키 생태계의 플랫폼에는 사용 중인 미디어위키의 장치 및 설치에 따라 여러 버전의 Diff가 있습니다.
사용자가 diff의 예를 찾을 수 있는 한 가지 방법은 지정된 페이지의 기록으로 이동하고 비교할 두 버전을 선택하는 것입니다.
데스크톱에서는 대부분의 위키에서 사용할 수 있는 두 가지 환경이 있습니다:
- WikiDiff2은 미디어위키에 더 빠른 diff 엔진을 제공하는 PHP용 기본 확장입니다. 일부는 원본 wikidiff에 기반하고 일부는 미디어위키의 DifferenceEngine 클래스에 기반합니다. 입력 텍스트(줄 기반 또는 단어 수준)에서 diff를 생성하고 이를 HTML 또는 JSON 형식으로 지정할 수 있습니다. Wikidiff2에는 문자로 구성된 텍스트에 대한 문자 수준 diff 지원이 포함됩니다.
- 시각적 diff는 현재 베타 기능이며 렌더링된(또는 표시된) 문서의 형식을 지정하는 데 사용되는 텍스트(또는 마크업)를 표시하는 것과는 대조적으로 렌더링된(또는 표시된) 문서 간의 차이점을 비교하고 보여줍니다.
모바일에는 세 가지 경험이 있습니다:
또한 사용자는 diff 경험을 사용자 정의하기 위해 널리 사용되는 스크립트를 개발했습니다.
올해(2022) 커뮤니티 위시리스트 설문조사의 1위 소원은 단락 분할의 더 나은 diff 처리였습니다. 이 소원은 다른 위시리스트에 두 번 이상 나타났습니다.
이 바램은 단락 분할이 추가될 때 diff 뷰어의 개선을 요구했습니다. 단순히 용도가 변경된 것이 아니라 삭제되고 다시 추가된 것으로 표시되기 때문입니다.
기존 격차: 제품, 기술 및 설계 부채
이 단락 분할 문제를 조사하는 동안 diff 뷰어의 다른 측면이 사용자에게(또는 적어도 신규 사용자에게는) 직관적이지 않다는 것을 발견했습니다.
- 일부 플랫폼에서는 색상 대비 사용이 불가능합니다. 색상이 의미의 유일한 지표가 되어서는 안 되며, 스트라이크 또는 기타 기호를 사용하여 색상 사용을 지원해야 합니다.
- Wikidiff2에서 기호 +와 -가 있는 이전(왼쪽)과 이후(오른쪽)를 의미하는 두 열은 일부에게는 직관적이지 않았습니다.
- 사람들은 "빨간색"을 나쁜 것과 "녹색"을 좋은 것과 연관시킬 수 있어 편집 품질에 대한 혼동을 일으킬 수 있습니다.
- 줄 번호는 대부분의 플랫폼 편집 환경에 표시되지 않지만 구성 단위로 diff에 표시됩니다.
- 플랫폼 간 패리티 없음
단락 분할을 보는 것이 혼란스러운 이유는 무엇입니까?
현재 Wikidiff2 환경은 줄 번호별로 변경 사항을 구성합니다.
즉, 줄에 추가된 문자열이나 문자가 삭제되고 다시 추가된 것으로 표시됩니다. 단락을 나누는 것은 "줄 안에 스페이스바 문자를 추가하고 새 줄을 만드는 것"을 의미하므로 현재 Wikidiff2 환경에서는 콘텐츠가 삭제된 것으로 표시됩니다. 그런 다음 줄이 다시 추가된 줄과 추가된 줄로 나뉩니다. 다시 추가되는 줄은 편집 내에서 변경된 개별 단어를 강조 표시하지 않습니다.
작업 범위 및 사용자 스토리
사용자 스토리 요구 사항
위키 방문자로서 페이지의 두 버전을 비교할 때:
- 무엇이 추가되었는지 명확하게 파악하여 변경된 사항을 파악하고 "싶습니다".
- 삭제된 내용을 명확히 파악하여 변경된 내용을 파악할 수 있도록 하고 "싶습니다".
- 줄 바꿈 삽입을 명확하게 식별하여 변경된 내용을 이해할 수 있도록 하고 "싶습니다".
- 쪼개진 문단 내에서 단어의 변화를 명확하게 파악하여 무엇이 바뀌었는지 파악하고 "싶습니다".
MVP 요건
데스크톱의 2열 위키텍스트 Diff diff 뷰어
- 하나의 단락으로 분리된 단락 내에서 단어가 변경되었을 때 표시되는 시각적 마커를 볼 수 있습니다.
diff의 스크린 리더 사용자로서,
- 삭제 및 추가 열의 변경 사항에 대한 정확하고 유용한 설명과 변경 사항에 대한 시각적 설명에 접근할 수 있습니다.
이상적인 범위 요구 사항
데스크톱에서 위키텍스트를 보는 사람으로서,
- 통합 인라인 보기 또는 2열 diff 보기 중에서 선택할 수 있습니다.
데스크탑의 통합 인라인 위키텍스트 Diff diff의 뷰어로서,
- 제거된 텍스트 위에 시각적 마커를 볼 수 있습니다.
- 하나의 단락으로 분리된 단락 내에서 단어가 변경되었을 때 표시되는 시각적 마커를 볼 수 있습니다.
- 새 줄 추가를 표시하는 시각적 마커를 볼 수 있습니다.
- 비주얼 마커의 의미를 이해할 수 있도록 범례를 볼 수 있습니다.
범위 및 제약
커뮤니티 기술이 이끄는 이 개선의 목적을 위해 다음 Diff 경험에 대한 UX 개선의 우선 순위를 지정하지 않을 것입니다:
- 모바일 웹
- iOS
- 안드로이드
- 비주얼 디프
우리는 해당 팀과 회의를 갖고 사용자 연구 및 기술 조사에서 밝혀진 내용에 대한 지식을 공유할 수 있지만 해당 플랫폼에 대한 수정 사항을 엔지니어링하는 작업은 맡지 않을 것입니다.
우리는 페이지의 두 버전을 비교하는 핵심 경험에 대해서만 작업할 것입니다. 이는 명시적으로 다음과 관련된 디자인 요구 사항이 없음을 의미합니다:
- diff의 발견 가능성: 우리는 사람들이 두 개정판의 비교를 탐색하는 방법에 초점을 맞추지 않을 것입니다.
- 변경 사항 비교와 관련되지 않은 사용자가 diff에 대해 수행할 수 있는 기타 작업
위의 내용은 리소스 조달로 인해 이 팀이 집중할 범위를 벗어납니다. 우리는 모바일 웹을 처리하기 위한 중재자 도구 팀과 이러한 플랫폼을 각각 소유한 IOS 및 안드로이드 팀의 다른 내부 노력을 알고 있습니다.
설계 부채 및 계획:
- 위키텍스트 diff에 있는 스타일과 일치하도록 시각적 Diff 스타일을 일치시킬 예정인가요?
"복잡성에 따라 그럴 가능성이 높습니다."
- 위키텍스트 diff에 있는 스타일과 일치하도록 모바일 웹 Diff 스타일을 일치시킬 건가요?
"현재 해당 경험을 접하고 있는 중재자 도구 팀과 연구 및 최종 모의를 실시간으로 공유할 것입니다."
데이터 조사
- 얼마나 많은 사용자가 2열 diff 페이지를 방문합니까?
- 얼마나 많은 사용자가 인라인 diff 페이지를 방문합니까?
우리는 이 소원을 왜, 어떻게 받아들였는가
이 소원은 2022년 우선 순위 결정 프로세스에서 높은 점수를 받았습니다. 투표 수 측면에서 매우 인기가 있었고 커뮤니티에 대한 이점 측면에서 영향력이 있었으며 상대적으로 복잡성 추정치가 낮았습니다. 차이점은 위키의 핵심 부분입니다. 사용자는 협업 편집 생태계에서 무엇이 변경되었는지 이해해야 합니다.
디자인 리서치
지금까지 다양한 "diff" 경험이 얼마나 직관적인지 이해하기 위해 조정되지 않은 사용자 검색을 실행했습니다. PDF 형식으로 첨부된 연구 프로토콜과 비디오 형식의 통찰력 분석을 함께 참조하십시오.
시각적 차이 점수:
- 4.5/5: 콘텐츠 추가 경험은 명확성 측면에서 평균 순위를 받았습니다.
- 4.5/5: 콘텐츠 삭제 경험은 명확성 측면에서 평균 순위를 받았습니다.
- 2.75/5: 단락 나누기 경험은 명확성 측면에서 평균 순위를 받았습니다.
Wikitext2 diff 점수:
- 4.75/5: 콘텐츠 추가 경험은 명확성 측면에서 평균 순위를 받았습니다.
- 4/5: 콘텐츠 삭제 경험은 명확성 측면에서 평균 순위를 받았습니다.
상태 업데이트
2023년 9월 29일
2023년 9월 말에 아래 나열된 반복적인 더 나은 Diff 업데이트가 출시되었습니다. 변경 사항은 Wikidiff2가 설치된 위키에 적용됩니다.
인라인 스위치 위젯 롤아웃
diff 페이지의 새로운 인라인 토글 스위치 위젯이 커뮤니티 기술에 의해 출시되었습니다.
인라인 토글 스위치를 사용하면 뷰어는 위키텍스트 diff를 2열 diff로 볼지 아니면 통합 인라인 diff로 볼지 전환할 수 있습니다.
단락 분할 감지
Wikidiff2의 단락 분할 감지 기능이 모든 위키에 배포되었습니다. 단락 분할 감지의 전반적인 정확도가 향상되었습니다.
시스템은 새 줄이 추가되고 삭제된 위치를 더 잘 식별합니다. 더 나은 결과를 얻기 위해 알고리즘을 조정할 수 있도록 현재 부정확한 차이에 대한 보고에 대한 사용자 피드백을 기다리고 있습니다.
우리는 더 나은 Diff 위시에서 확인된 문제를 해결했으며 파브리케이터에서도 언급했습니다. 따라서 이제 단락 분할 및 이동이 Diff에서 올바르게 식별되어야 합니다.
범례 및 도구 설명 추가
더 나은 Diff 프로젝트는 또한 인라인 diff에 범례와 도구 설명을 도입하여 사용자가 변경 사항을 나타내는 파란색 및 노란색 강조 표시를 보고 편집 유형을 더 잘 이해할 수 있도록 했습니다.
위키텍스트 2열 차이 보기에서는 분할된 단락 내에서 변경된 개별 단어가 강조 표시되거나 어디에도 표시되지 않습니다. 이로 인해 사용자는 문서 훼손 행위를 놓칠 수 있습니다. 그러나 인라인 diff 모드에서는 추가된 콘텐츠가 파란색으로 강조 표시되고, 제거된 콘텐츠가 노란색으로 강조 표시됩니다.
스위치를 켜면 diff 페이지 왼쪽 상단의 범례에 파란색으로 강조 표시된 편집 내용은 추가된 콘텐츠를 나타내고 노란색으로 강조 표시된 편집 내용은 삭제된 콘텐츠를 나타냅니다.
또한 사용자가 강조 표시된 섹션 위에 커서를 올리면 어떤 종류의 편집(및 추가 또는 제거)이 이루어졌는지 알려주는 도구 설명이 나타납니다.
줄 추가 및 삭제
사용자가 하나 이상의 줄을 삽입하면 파란색으로 강조 표시된 "newline" 텍스트로 표시됩니다. 하나 이상의 줄을 삭제하면 "삭제됨"이라는 텍스트가 노란색으로 강조 표시되어 표시됩니다.
2023년 4월 14일
커뮤니티 기술은 앞으로 몇 달 안에 더 나은 Diff에 관한 몇 가지 릴리스를 출시할 예정입니다. 이 릴리스에서는 Wikidiff2 알고리즘의 개선 사항과 향상된 diff 사용자 인터페이스(UI) 개선 사항을 다룹니다.
Wikidiff2 알고리즘은 단락 분할을 더 잘 캡처하고 분할된 단락 내의 단어 변경 사항을 식별할 수 있습니다.
UI 향상에는 인라인 형식 및 형식 스위처에 대한 업그레이드가 포함됩니다. 인라인 형식은 사용자가 편집 내용을 더 잘 이해할 수 있도록 범례와 도구 설명을 표시합니다.
스위처를 통해 사용자는 인라인, 2열 및 비주얼을 포함하여 가능한 다양한 형식을 쉽게 탐색할 수 있습니다.
아래 표는 파브리케이터의 배포를 추적합니다.
# | 작업 | 코드 (Core, VE, Wikidiff2) | 배포 날짜 |
---|---|---|---|
1 | 인라인 Diff: 범례 및 툴팁 추가 | Core | Week of July 3 |
2 | 더 나은 Diff: Wikidiff2 수정 알고리즘 | Wikidiff2 | Week of July 17 |
3 | 인라인 Diff: 시각적 마커 변경 | Core and Wikidiff2 | Week of July 17 |
4 | 더 나은 Diff: 모든 위키에 대한 Wikidiff2 개선된 분할 감지의 전체 배포 | Core | Week of August 30 |
5 | "개정 간 차이" 형식 간 전환을 허용하는 드롭다운 추가 | Core and VE | Week of September 11 |
2023년 3월 10일
팀은 엔지니어링 및 디자인 측면 모두에서 이러한 희망 사항을 위해 계속 작업했으며 업데이트를 여러분과 공유하고 싶었습니다.
시간을 내어 토론 페이지에 참여하고 피드백을 제공해주신 모든 분들께 감사드립니다. 우리는 모든 피드백을 읽고 지적 사항에 대한 종합적인 분석을 수행했습니다. 그런 다음 이러한 제안된 디자인에 대한 귀하의 피드백과 중재되지 않은 사용자 연구를 결합하고 제안된 디자인을 마무리하여 희망 사항 변경과 관련된 개선을 위해 엔지니어링에 투입했습니다. 다음을 포함하는 이 업데이트의 디자인을 참조하십시오:
- 드롭다운을 통해 diff 모드 간 전환
- 데스크톱용 범례 및 툴팁으로 인라인 diff의 접근성 향상
- 새 줄 또는 단락을 도입한 변경 사항의 표시 개선
- 기존 줄이나 문단을 삭제한 변경사항 표시 개선
또한 기본 비교 엔진의 변경 사항에 대한 데모가 생성되었습니다. 피드백을 제공하기 위해 데모를 시도하기 전에 다음 사항에 유의하십시오.
- 진행 중인 작업입니다. QA 엔지니어는 현재 포괄적인 diff 목록을 사용하여 변경 사항이 현재 버전의 2열 diff 경험 또는 UI 개선과 일치하는지 확인하고 있습니다.
- 데모 페이지에는 모든 최종 UI 변경 사항이 포함되어 있지 않지만 테스터에게 완료된 2열 diff 환경이 어떻게 표시되는지에 대한 좋은 정보를 제공할 수 있습니다.
- 데모를 사용하려면 두 개의 상자에 동일한 텍스트를 붙여넣고 오른쪽 상자의 텍스트를 수정하십시오. 그 아래의 diff는 변경된 내용을 보여줍니다.
토론 페이지에서 여러분의 피드백을 듣고 싶습니다!
다음 단계
- 디자인 색상의 접근성: 우리 디자이너는 디자인의 접근성을 결정하기 위해 디자인 시스템 팀과 긴밀히 협력하고 있습니다. 더 쉽게 접근할 수 있도록 음영을 약간 변경해야 할 것으로 예상하지만 색상은 현재 2열 및 인라인 diff에 표시되는 파란색과 노란색과 유사하게 유지됩니다.
- 출시 계획: 출시 계획과 다음 단계 일정을 작업 중이며 다음 프로젝트 업데이트에 이를 포함할 예정입니다! diff의 기본 엔진에 대한 변경 사항을 릴리스하는 것은 미디어위키 소프트웨어의 기존 릴리스와 다른 프로세스를 따르므로 다음 번에 단계와 세부 정보를 업데이트할 것입니다.
또한 wikidiff2의 C++ 엔진의 기본 변경 사항을 지원하기 위해 친절하게 도움을 준 커뮤니티 기술 직원이 아닌 팀 스털링에게 이번 업데이트에 큰 감사를 전하고 싶습니다. 우리는 커뮤니티 기술 팀에 속하지 않더라도 소원을 이루는 데 필요한 전문 지식을 갖춘 재단의 다른 구성원으로부터 소원을 이루는 지원을 받는 것을 항상 기쁘게 생각합니다.
여러분의 의견을 기다리겠습니다!
첫 번째 업데이트의 공개 질문: 여러분의 의견을 듣고 싶습니다!
- 단락 분할을 비교하기 위해 새로 제안된 인터페이스에 대한 사용자 조사를 수행하는 데 관심이 있습니까? 그렇다면 토론 페이지에 관심이 있다고 게시하시겠습니까?
- diff를 볼 때 나타나는 다른 문제점은 무엇입니까?
- 단락 분할과 관련된 혼란을 해결하는 근본적인 문제를 어떻게 해결할 수 있습니까?
- 색상 사용은 어떤 콘텐츠가 추가, 제거 또는 동일하게 유지되었는지 어떻게 나타냅니까?