Wiki source code of Gap Analysis
Last modified by Robert Schaub on 2025/12/24 21:53
Show last authors
| author | version | line-number | content |
|---|---|---|---|
| 1 | = Gap Analysis = | ||
| 2 | |||
| 3 | **Status:** ✅ Analysis Complete | ||
| 4 | **Purpose:** Identify features NOT YET planned for releases up to V1.0 | ||
| 5 | |||
| 6 | {{info}} | ||
| 7 | **Scope:** This analysis only includes gaps - features that are NOT addressed in existing requirements (FR1-FR54, NFR1-NFR13, UN-1 to UN-28) or planned future requirements. | ||
| 8 | |||
| 9 | **Already Planned for V1.0:** ClaimReview Schema (FR44) is NOT listed here as it's already planned for V1.0. | ||
| 10 | |||
| 11 | **Deferred to V1.5:** Image/Video Verification (FR46, FR51) and Archive.org (FR47) have been moved to V1.5, so they ARE included in this Gap Analysis. | ||
| 12 | |||
| 13 | **Requirement Numbers:** Proposed new requirements use numbers that avoid conflicts: FR55-FR84, NFR14-NFR18, UN-29 to UN-36 | ||
| 14 | {{/info}} | ||
| 15 | |||
| 16 | == 1. Analysis Framework == | ||
| 17 | |||
| 18 | === 1.1 Importance Formula === | ||
| 19 | |||
| 20 | **Importance = f(risk, impact, strategy)** | ||
| 21 | |||
| 22 | * **Risk:** What are the consequences if we don't have this feature? | ||
| 23 | * **Impact:** How many users affected? How severe? | ||
| 24 | * **Strategy:** How well does this align with FactHarbor's mission and strategic goals? | ||
| 25 | |||
| 26 | **Importance Levels:** | ||
| 27 | * **VERY HIGH:** Critical to mission, high risk if missing, affects majority of users | ||
| 28 | * **HIGH:** Important for success, significant impact, strong strategic alignment | ||
| 29 | * **MEDIUM:** Valuable but not critical, moderate impact | ||
| 30 | * **LOW:** Nice-to-have, limited impact | ||
| 31 | |||
| 32 | === 1.2 Urgency Formula === | ||
| 33 | |||
| 34 | **Urgency = f(fail fast and learn, legal, promises made)** | ||
| 35 | |||
| 36 | * **Fail fast and learn:** Do we need to validate assumptions quickly? | ||
| 37 | * **Legal:** Are there legal requirements or external deadlines? | ||
| 38 | * **Promises made:** Have we committed this to stakeholders, funders, or partners? | ||
| 39 | |||
| 40 | **Urgency Levels:** | ||
| 41 | * **HIGH:** External deadlines, legal requirements, or critical testing needed | ||
| 42 | * **MEDIUM:** Strategic opportunity, growing trends, competitive pressure | ||
| 43 | * **LOW:** No external pressure, can add anytime | ||
| 44 | |||
| 45 | === 1.3 Context Matters === | ||
| 46 | |||
| 47 | **Important principle:** Importance and urgency change based on milestone context. | ||
| 48 | |||
| 49 | * **POC:** Only basic features urgent | ||
| 50 | * **Beta:** More features become urgent for user testing | ||
| 51 | * **Release:** Legal/compliance becomes critical | ||
| 52 | |||
| 53 | **Priorities are not absolute - they're contextual.** | ||
| 54 | |||
| 55 | == 2. Gap Categories == | ||
| 56 | |||
| 57 | We identified **15 true gaps** (features NOT in current roadmap) across **7 categories**: | ||
| 58 | |||
| 59 | === Category 1: Accessibility & Inclusivity === | ||
| 60 | * Gap 1.1: WCAG 2.1 Compliance | ||
| 61 | * Gap 1.2: Multilingual Support | ||
| 62 | |||
| 63 | === Category 2: Platform Integration & Distribution === | ||
| 64 | * Gap 2.1: Browser Extensions | ||
| 65 | * Gap 2.2: Embeddable Widgets | ||
| 66 | |||
| 67 | === Category 3: Media Verification === | ||
| 68 | * Gap 3.1: Image Verification | ||
| 69 | * Gap 3.2: Video Verification | ||
| 70 | * Gap 3.3: Audio Verification | ||
| 71 | |||
| 72 | === Category 4: Mobile & Offline Access === | ||
| 73 | * Gap 3.1: Mobile Apps / PWA | ||
| 74 | * Gap 3.2: Offline Access | ||
| 75 | |||
| 76 | === Category 5: Education & Media Literacy === | ||
| 77 | * Gap 4.1: Educational Resources | ||
| 78 | * Gap 4.2: Media Literacy Integration | ||
| 79 | |||
| 80 | === Category 6: Collaboration & Community === | ||
| 81 | * Gap 5.1: Professional Collaboration Tools | ||
| 82 | * Gap 5.2: Community Discussion | ||
| 83 | |||
| 84 | === Category 7: Advanced Features === | ||
| 85 | * Gap 6.1: User Analytics | ||
| 86 | * Gap 6.2: Personalization | ||
| 87 | |||
| 88 | == 3. Critical Gaps (VERY HIGH Importance) == | ||
| 89 | |||
| 90 | === 3.1 Gap: WCAG 2.1 Accessibility Compliance === | ||
| 91 | |||
| 92 | **Status:** ❌ Not addressed in current requirements | ||
| 93 | **Importance:** VERY HIGH | ||
| 94 | **Urgency:** HIGH (legal requirement) | ||
| 95 | |||
| 96 | **Why Important:** | ||
| 97 | * **Risk:** CRITICAL | ||
| 98 | * Legal liability (European Accessibility Act enforced June 28, 2025) | ||
| 99 | * Lawsuits, fines up to $250,000 (Accessible Canada Act) | ||
| 100 | * Cannot operate in EU market without compliance | ||
| 101 | * Retrofitting is 100x more expensive than building in from start | ||
| 102 | * **Impact:** 15-20% of population (1+ billion people) excluded without accessibility | ||
| 103 | * Affects blind, low-vision, deaf, motor impairments, cognitive disabilities | ||
| 104 | * "86% of companies report improved customer satisfaction after implementing accessibility" (Forrester) | ||
| 105 | * **Strategy:** CRITICAL ALIGNMENT | ||
| 106 | * Mission is "a world where decisions are grounded in evidence" - not "for sighted people only" | ||
| 107 | * Non-profit public interest mission requires serving ALL publics | ||
| 108 | |||
| 109 | **Why Urgent:** | ||
| 110 | * **Fail fast:** HIGH - Legal deadlines approaching (EU Accessibility Act June 2025) | ||
| 111 | * **Legal:** CRITICAL - Required by law in EU, Canada, US (Section 508, ADA) | ||
| 112 | * **Promises:** HIGH if mission emphasizes "public interest" or "for all" | ||
| 113 | |||
| 114 | **Missing Requirements:** | ||
| 115 | * WCAG 2.1 Level AA compliance (minimum legal standard) | ||
| 116 | * Screen reader compatibility | ||
| 117 | * Keyboard-only navigation | ||
| 118 | * Sufficient color contrast ratios | ||
| 119 | * Alternative text for all images | ||
| 120 | * Closed captions for videos | ||
| 121 | * Accessible forms and error messages | ||
| 122 | |||
| 123 | **Recommended:** | ||
| 124 | * **NFR14: Accessibility Compliance** - Platform must conform to WCAG 2.1 Level AA standards | ||
| 125 | * **NFR15: Assistive Technology Support** - Compatible with screen readers, voice navigation, keyboard-only usage | ||
| 126 | * **FR55: Accessibility Settings** - User-configurable contrast, text size, reduced motion options | ||
| 127 | |||
| 128 | **When to Address:** Build in from MVP/POC1 - retrofitting is 100x more expensive | ||
| 129 | |||
| 130 | **Research Evidence:** | ||
| 131 | * "1 in 4 adults in the US has a disability" (CDC 2023) | ||
| 132 | * "Legal actions increased 14% in 2023" (Forrester accessibility report) | ||
| 133 | * European Accessibility Act mandatory June 28, 2025 | ||
| 134 | |||
| 135 | === 3.2 Gap: Educational Resources & Onboarding === | ||
| 136 | |||
| 137 | **Status:** ❌ Not addressed | ||
| 138 | **Importance:** VERY HIGH | ||
| 139 | **Urgency:** MEDIUM | ||
| 140 | |||
| 141 | **Why Important:** | ||
| 142 | * **Risk:** HIGH - Users won't understand methodology, will distrust results | ||
| 143 | * **Impact:** VERY HIGH - Affects all users, especially first-time visitors | ||
| 144 | * **Strategy:** CRITICAL - Transparency requires education | ||
| 145 | |||
| 146 | **Why Urgent:** | ||
| 147 | * **Fail fast:** MEDIUM - Need to test what educational content resonates | ||
| 148 | * **Legal:** None | ||
| 149 | * **Promises:** HIGH if emphasizing "transparent" methodology | ||
| 150 | |||
| 151 | **Missing Requirements:** | ||
| 152 | * Interactive first-time user tutorial | ||
| 153 | * Video explanations of how AKEL works | ||
| 154 | * Glossary of terms (scenario, verdict, evidence quality) | ||
| 155 | * FAQ addressing common questions | ||
| 156 | * Educational resources hub | ||
| 157 | * Teacher/educator curriculum materials | ||
| 158 | |||
| 159 | **Recommended:** | ||
| 160 | * **UN-34: Learn How to Fact-Check** - Educational resources for understanding methodology | ||
| 161 | * **FR67: Onboarding Tutorial** - Interactive first-time user walkthrough | ||
| 162 | * **FR68: Educational Resources Hub** - Guides, videos, FAQs, glossary | ||
| 163 | * **FR69: Curriculum Materials** - Resources for educators to use FactHarbor in classrooms | ||
| 164 | |||
| 165 | **When to Address:** Beta 0 (before public users) | ||
| 166 | |||
| 167 | **Research Evidence:** | ||
| 168 | * "Users need 3+ exposures to new concept before trusting it" (UX research) | ||
| 169 | * Educational fact-checking platforms have 3x higher user retention (MediaWise 2024) | ||
| 170 | |||
| 171 | == 4. High Importance Gaps == | ||
| 172 | |||
| 173 | === 4.1 Gap: Browser Extensions === | ||
| 174 | |||
| 175 | **Status:** ❌ Not addressed | ||
| 176 | **Importance:** HIGH | ||
| 177 | **Urgency:** MEDIUM | ||
| 178 | |||
| 179 | **Why Important:** | ||
| 180 | * **Risk:** MEDIUM - Competitive disadvantage, reduced adoption | ||
| 181 | * **Impact:** MEDIUM-HIGH - Significantly improves UX for active fact-checkers | ||
| 182 | * **Strategy:** HIGH ALIGNMENT - Meet users where misinformation spreads (in their browsers) | ||
| 183 | |||
| 184 | **Why Urgent:** | ||
| 185 | * **Fail fast:** MEDIUM - Should validate that users actually want browser extensions | ||
| 186 | * **Legal:** None | ||
| 187 | * **Promises:** LOW unless explicitly promised to early adopters | ||
| 188 | |||
| 189 | **Missing Requirements:** | ||
| 190 | * Chrome/Firefox/Safari browser extensions | ||
| 191 | * Right-click context menu for selected text | ||
| 192 | * Inline highlighting of claims on any webpage | ||
| 193 | * Quick verdict tooltips without leaving page | ||
| 194 | * Save/bookmark fact-checks | ||
| 195 | |||
| 196 | **Recommended:** | ||
| 197 | * **UN-29: In-Context Fact-Checking** - Browser extension for real-time verification | ||
| 198 | * **FR58: Browser Extensions** - Chrome, Firefox, Safari with context menu | ||
| 199 | * **FR59: Cross-Site Highlighting** - Highlight and analyze claims on any website | ||
| 200 | |||
| 201 | **When to Address:** Test web platform first, then build extension MVP if user demand validated | ||
| 202 | |||
| 203 | **Research Evidence:** | ||
| 204 | * "3-click verification: Select → Right-click → Verify" is standard UX pattern | ||
| 205 | * Extensions like UnCovered, Pino, InVID/WeVerify widely adopted | ||
| 206 | * NewsGuard browser extension demonstrates market acceptance | ||
| 207 | |||
| 208 | === 4.2 Gap: Multilingual Support === | ||
| 209 | |||
| 210 | **Status:** ❌ Not addressed | ||
| 211 | **Importance:** HIGH | ||
| 212 | **Urgency:** MEDIUM | ||
| 213 | |||
| 214 | **Why Important:** | ||
| 215 | * **Risk:** HIGH - Mission limited to English speakers (~20% of world) | ||
| 216 | * **Impact:** VERY HIGH - Excludes 80% of world population | ||
| 217 | * **Strategy:** CRITICAL ALIGNMENT - Vision of "a world where decisions are grounded in evidence" - not just English-speaking world | ||
| 218 | |||
| 219 | **Why Urgent:** | ||
| 220 | * **Fail fast:** MEDIUM - Test which languages users need, validate translation quality early | ||
| 221 | * **Legal:** None | ||
| 222 | * **Promises:** MEDIUM-HIGH if mission statement emphasizes "global" or "world" | ||
| 223 | |||
| 224 | **Missing Requirements:** | ||
| 225 | * Interface available in multiple languages | ||
| 226 | * Content translation/analysis in non-English languages | ||
| 227 | * Right-to-left (RTL) language support (Arabic, Hebrew) | ||
| 228 | * Locale-specific formatting (dates, numbers, currencies) | ||
| 229 | * Character encoding for non-Latin scripts | ||
| 230 | |||
| 231 | **Recommended:** | ||
| 232 | * **FR56: Multilingual Interface** - UI in 10+ languages | ||
| 233 | * **FR57: Multilingual Content Analysis** - AKEL analyzes claims in multiple languages | ||
| 234 | * **NFR16: Internationalization (i18n)** - RTL support, character encodings, locale formatting | ||
| 235 | |||
| 236 | **When to Address:** Post-V1.0 (after English version stable) | ||
| 237 | |||
| 238 | **Research Evidence:** | ||
| 239 | * Only 25% of internet users speak English (Internet World Stats) | ||
| 240 | * Misinformation spreads in all languages, many underserved | ||
| 241 | |||
| 242 | === 4.3 Gap: Mobile Apps (Native) === | ||
| 243 | |||
| 244 | **Status:** ❌ Not addressed (PWA might be planned) | ||
| 245 | **Importance:** HIGH | ||
| 246 | **Urgency:** MEDIUM | ||
| 247 | |||
| 248 | **Why Important:** | ||
| 249 | * **Risk:** MEDIUM-HIGH - 60% of web traffic is mobile, but not addressing native app expectations | ||
| 250 | * **Impact:** HIGH - Affects majority of users who expect native mobile experience | ||
| 251 | * **Strategy:** MEDIUM-HIGH - Mobile-first is standard for modern platforms | ||
| 252 | |||
| 253 | **Why Urgent:** | ||
| 254 | * **Fail fast:** MEDIUM - Test if responsive web is sufficient or if native apps needed | ||
| 255 | * **Legal:** None | ||
| 256 | * **Promises:** LOW unless explicitly promised | ||
| 257 | |||
| 258 | **Missing Requirements:** | ||
| 259 | * iOS native app | ||
| 260 | * Android native app | ||
| 261 | * Offline capabilities | ||
| 262 | * Push notifications | ||
| 263 | * Camera integration for on-the-spot verification | ||
| 264 | |||
| 265 | **Recommended:** | ||
| 266 | * **UN-32: Mobile-Native Experience** - Native apps for iOS/Android | ||
| 267 | * **FR66: Native Mobile Apps** - Full mobile capabilities | ||
| 268 | * **NFR17: Progressive Web App** - Installable, offline, push notifications | ||
| 269 | |||
| 270 | **When to Address:** Post-V1.0 (test web-first, then native if needed) | ||
| 271 | |||
| 272 | === 4.2 Gap: Media Verification (Images, Videos, Audio) === | ||
| 273 | |||
| 274 | **Status:** ❌ Not addressed for V1.0 (deferred to V1.5) | ||
| 275 | **Importance:** VERY HIGH | ||
| 276 | **Urgency:** MEDIUM | ||
| 277 | |||
| 278 | **Why Important:** | ||
| 279 | * **Risk:** HIGH - Cannot address major category of misinformation (visual/audio) | ||
| 280 | * **Impact:** VERY HIGH - Visual misinformation is primary vector | ||
| 281 | * **Strategy:** CRITICAL ALIGNMENT - Mission incomplete without multimedia fact-checking | ||
| 282 | |||
| 283 | **Why Urgent:** | ||
| 284 | * **Fail fast:** VERY HIGH - Should test approach quickly (partner vs. build?) | ||
| 285 | * **Legal:** None | ||
| 286 | * **Promises:** MEDIUM (depends on mission statements) | ||
| 287 | |||
| 288 | **Missing Requirements:** | ||
| 289 | * Reverse image search integration | ||
| 290 | * Video frame extraction and analysis | ||
| 291 | * Audio deepfake detection | ||
| 292 | * EXIF metadata extraction | ||
| 293 | * Synthetic media detection (AI-generated content) | ||
| 294 | |||
| 295 | **Recommended:** | ||
| 296 | * **UN-31: Media Verification** - Image, video, audio fact-checking | ||
| 297 | * **FR63: Image Verification** - Reverse search, EXIF, synthetic detection | ||
| 298 | * **FR64: Video Verification** - Frame analysis, metadata, deepfake detection | ||
| 299 | * **FR65: Audio Verification** - Voice deepfakes, audio forensics | ||
| 300 | |||
| 301 | **When to Address:** V1.5 (pilot with existing tools like InVID, TinEye before building in-house) | ||
| 302 | |||
| 303 | **Note:** Originally planned as FR46, FR51, FR47 for V1.0, now deferred to V1.5 to focus V1.0 on core text-based fact-checking. | ||
| 304 | |||
| 305 | **Research Evidence:** | ||
| 306 | * "Most deception relies on decontextualization" of images (Cazzamatta 2025) | ||
| 307 | * "Deepfakes targeting political figures raise concerns" (Corsi et al. 2024) | ||
| 308 | * InVID/WeVerify used by professional fact-checkers (AFP 2024) | ||
| 309 | |||
| 310 | == 5. Medium Importance Gaps == | ||
| 311 | |||
| 312 | === 5.1 Gap: Embeddable Widgets === | ||
| 313 | |||
| 314 | **Status:** ❌ Not addressed | ||
| 315 | **Importance:** MEDIUM | ||
| 316 | **Urgency:** LOW | ||
| 317 | |||
| 318 | **Missing Requirements:** | ||
| 319 | * JavaScript widget for embedding fact-checks in third-party sites | ||
| 320 | * WordPress plugin | ||
| 321 | * Customizable styling to match publisher branding | ||
| 322 | |||
| 323 | **Recommended:** | ||
| 324 | * **FR61: Embeddable Widgets** - JavaScript widgets for third-party sites | ||
| 325 | * **FR62: CMS Plugins** - WordPress, Drupal, Ghost plugins | ||
| 326 | |||
| 327 | **When to Address:** Post-V1.0 (after core platform stable) | ||
| 328 | |||
| 329 | === 5.2 Gap: Educational Partnerships === | ||
| 330 | |||
| 331 | **Status:** ❌ Not addressed | ||
| 332 | **Importance:** MEDIUM | ||
| 333 | **Urgency:** LOW | ||
| 334 | |||
| 335 | **Missing Requirements:** | ||
| 336 | * Curriculum materials for K-12 and university educators | ||
| 337 | * Classroom discussion guides | ||
| 338 | * Student exercises and assignments | ||
| 339 | * Teacher training materials | ||
| 340 | |||
| 341 | **Recommended:** | ||
| 342 | * Include in **FR69: Curriculum Materials** | ||
| 343 | |||
| 344 | **When to Address:** V2.0+ (after platform established) | ||
| 345 | |||
| 346 | === 5.3 Gap: Professional Collaboration Tools === | ||
| 347 | |||
| 348 | **Status:** ❌ Not addressed | ||
| 349 | **Importance:** MEDIUM | ||
| 350 | **Urgency:** LOW | ||
| 351 | |||
| 352 | **Missing Requirements:** | ||
| 353 | * Shared workspaces for fact-checking teams | ||
| 354 | * Assignment and workflow management | ||
| 355 | * Internal notes and discussion threads | ||
| 356 | * Collaborative editing | ||
| 357 | |||
| 358 | **Recommended:** | ||
| 359 | * **FR72: Collaboration Workspace** - Team features for professional fact-checkers | ||
| 360 | |||
| 361 | **When to Address:** Post-V1.0 (for professional fact-checkers) | ||
| 362 | |||
| 363 | === 5.4 Gap: Community Discussion === | ||
| 364 | |||
| 365 | **Status:** ❌ Not addressed | ||
| 366 | **Importance:** MEDIUM | ||
| 367 | **Urgency:** LOW | ||
| 368 | |||
| 369 | **Missing Requirements:** | ||
| 370 | * Public comment threads on fact-checks | ||
| 371 | * Community forums | ||
| 372 | * Upvoting/downvoting | ||
| 373 | |||
| 374 | **Recommended:** | ||
| 375 | * **FR75: Community Discussion** - Forums and comment threads | ||
| 376 | |||
| 377 | **When to Address:** V2.0+ (requires moderation capacity) | ||
| 378 | |||
| 379 | === 5.5 Gap: User Analytics === | ||
| 380 | |||
| 381 | **Status:** ❌ Not addressed | ||
| 382 | **Importance:** MEDIUM | ||
| 383 | **Urgency:** LOW | ||
| 384 | |||
| 385 | **Missing Requirements:** | ||
| 386 | * Anonymous usage analytics | ||
| 387 | * A/B testing framework | ||
| 388 | * User satisfaction surveys | ||
| 389 | * Funnel analysis | ||
| 390 | |||
| 391 | **Recommended:** | ||
| 392 | * **FR78: Analytics Dashboard** - Usage tracking and insights | ||
| 393 | |||
| 394 | **When to Address:** Beta 0 (to measure product-market fit) | ||
| 395 | |||
| 396 | === 5.6 Gap: Personalization === | ||
| 397 | |||
| 398 | **Status:** ❌ Not addressed | ||
| 399 | **Importance:** MEDIUM | ||
| 400 | **Urgency:** LOW | ||
| 401 | |||
| 402 | **Missing Requirements:** | ||
| 403 | * Saved searches | ||
| 404 | * Custom feeds based on topics of interest | ||
| 405 | * Personalized recommendations | ||
| 406 | * User preference settings | ||
| 407 | |||
| 408 | **Recommended:** | ||
| 409 | * **FR81: User Personalization** - Custom feeds, saved searches, preferences | ||
| 410 | |||
| 411 | **When to Address:** V2.0+ (after core platform stable) | ||
| 412 | |||
| 413 | == 6. Summary: What to Address When == | ||
| 414 | |||
| 415 | === POC/Beta 0 (Urgent) === | ||
| 416 | * **NFR14-NFR15, FR55:** Accessibility (legal requirement) | ||
| 417 | * **UN-34, FR67-FR69:** Educational resources (transparency requires education) | ||
| 418 | |||
| 419 | === V1.0 (Important) === | ||
| 420 | * **UN-29, FR58-FR59:** Browser extensions (competitive necessity) | ||
| 421 | * **FR56-FR57, NFR16:** Multilingual support (mission alignment) | ||
| 422 | * **UN-32, FR66, NFR17:** Mobile experience (user expectation) | ||
| 423 | |||
| 424 | === Post-V1.0 (Valuable) === | ||
| 425 | * **FR61-FR62:** Embeddable widgets | ||
| 426 | * **FR72:** Professional collaboration | ||
| 427 | * **FR75:** Community discussion | ||
| 428 | * **FR78:** Analytics | ||
| 429 | * **FR81:** Personalization | ||
| 430 | |||
| 431 | == 7. Requirement Summary == | ||
| 432 | |||
| 433 | **Existing Requirements (From Baseline):** | ||
| 434 | * Functional: FR1 through FR54 (includes ClaimReview FR44; FR46, FR51, FR47 moved to V1.5) | ||
| 435 | * Non-Functional: NFR1 through NFR13 | ||
| 436 | * User Needs: UN-1 through UN-28 | ||
| 437 | |||
| 438 | **Proposed New Requirements (From This Gap Analysis):** | ||
| 439 | * Functional: FR55 through FR84 (30 new) | ||
| 440 | * Non-Functional: NFR14 through NFR18 (5 new) | ||
| 441 | * User Needs: UN-29 through UN-36 (8 new) | ||
| 442 | |||
| 443 | **Total After Implementation:** | ||
| 444 | * Functional: FR1-FR84 (84 total) | ||
| 445 | * Non-Functional: NFR1-NFR18 (18 total) | ||
| 446 | * User Needs: UN-1 through UN-36 (36 total) |