27 KiB
Bibliography System - UX Design Concept
Executive Summary
This document outlines the UX design for integrating a citation/reference management system into Constellation Analyzer. The design prioritizes ease of use for social scientists who may not be technically versed, while maintaining flexibility for power users.
1. User Research & Requirements
Target Users
- Primary: Social scientists conducting constellation analyses
- Technical level: Low to medium (not LaTeX/BibTeX users)
- Use case: Track sources for actors and relationships in their analysis
- Workflow: Need quick access to add/edit/cite references without interrupting graph work
Key Requirements
- Simple, form-based reference entry (not code-based like BibTeX)
- Support common social science citation types (books, articles, websites, reports)
- Quick citation from node/edge properties
- Export capability for academic writing
- Integration with existing document structure
2. Data Format Decision: CSL-JSON
Why CSL-JSON over BibTeX?
CSL-JSON Advantages:
- ✅ Human-readable JSON format
- ✅ Industry standard (Zotero, Mendeley, Papers)
- ✅ 10,000+ pre-built citation styles available
- ✅ Better support for non-English sources
- ✅ UTF-8 native support
- ✅ Easier to parse and manipulate programmatically
- ✅ Can be converted to/from BibTeX for power users
BibTeX Limitations:
- ❌ Complex syntax (
@article{key, field={value}}) - ❌ Requires understanding of LaTeX conventions
- ❌ Less intuitive for non-technical users
- ❌ ASCII-focused (problematic for international names)
CSL-JSON Structure (Simplified)
{
"id": "unique-id",
"type": "article-journal",
"title": "Understanding Social Networks",
"author": [
{"family": "Smith", "given": "Jane"},
{"family": "Doe", "given": "John"}
],
"issued": {"date-parts": [[2023]]},
"container-title": "Journal of Social Sciences",
"volume": "45",
"issue": "3",
"page": "123-145",
"DOI": "10.1000/example",
"URL": "https://example.com/article"
}
Supported Reference Types
- article-journal - Journal articles
- book - Books
- chapter - Book chapters
- paper-conference - Conference papers
- report - Technical reports, white papers
- thesis - Theses and dissertations
- webpage - Web pages and online sources
- interview - Interviews (common in social sciences)
- manuscript - Unpublished manuscripts
- personal_communication - Personal communications
3. UI Component Design
3.1 Access Points
Primary Access: Menu Bar
Edit Menu:
├── Configure Actor Types
├── Configure Relation Types
├── Configure Labels
├── [NEW] Manage Bibliography (Ctrl+B)
Secondary Access: Property Panels
- Add "Citations" field to Node Editor Panel
- Add "Citations" field to Edge Editor Panel
Tertiary Access: Export Menu
File → Export → Bibliography (CSL-JSON)
File → Export → Bibliography (BibTeX) [for power users]
File → Export → Formatted Bibliography (HTML/PDF)
3.2 Bibliography Management Modal
Layout: Two-Column Design (consistent with existing Label/Type config modals)
┌─────────────────────────────────────────────────────────────────────┐
│ Manage Bibliography [X] │
├─────────────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────────────────┬──────────────────────────────────┐ │
│ │ Quick Add Reference │ Your References (15) │ │
│ │ (60% width) │ (40% width) │ │
│ │ │ │ │
│ │ [Reference Type ▼] │ ┌─────────────────────────────┐│ │
│ │ ○ Journal Article │ │ Smith & Doe (2023) ││ │
│ │ ○ Book │ │ Understanding Social... ││ │
│ │ ○ Website │ │ Journal of Social Sciences ││ │
│ │ ○ Other... │ │ [Edit] [Delete] [Cite] ││ │
│ │ │ └─────────────────────────────┘│ │
│ │ Smart Input: │ │ │
│ │ ┌─────────────────────┐ │ ┌─────────────────────────────┐│ │
│ │ │ Paste DOI, URL, or │ │ │ Johnson (2022) ││ │
│ │ │ formatted citation │ │ │ Network Theory in... ││ │
│ │ └─────────────────────┘ │ │ Academic Press ││ │
│ │ [Auto-Fill] [Clear] │ │ [Edit] [Delete] [Cite] ││ │
│ │ │ └─────────────────────────────┘│ │
│ │ -- OR Manual Entry -- │ │ │
│ │ │ [Search references...] │ │
│ │ Title * │ Filter: [All Types ▼] │ │
│ │ ┌─────────────────────┐ │ │ │
│ │ │ │ │ Sort by: [Recent ▼] │ │
│ │ └─────────────────────┘ │ │ │
│ │ │ │ │
│ │ Authors (one per line) │ │ │
│ │ ┌─────────────────────┐ │ │ │
│ │ │ Jane Smith │ │ │ │
│ │ │ John Doe │ │ │ │
│ │ └─────────────────────┘ │ │ │
│ │ │ │ │
│ │ Year * │ │ │
│ │ ┌────┐ │ │ │
│ │ │2023│ │ │ │
│ │ └────┘ │ │ │
│ │ │ │ │
│ │ [+ Show More Fields] │ │ │
│ │ │ │ │
│ │ [Add Reference] │ │ │
│ └──────────────────────────┴──────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────────┐ │
│ │ 💡 Tip: Paste a DOI or URL for automatic citation import │ │
│ └─────────────────────────────────────────────────────────────┘ │
│ │
│ [Import File] [Close] │
└─────────────────────────────────────────────────────────────────────┘
Edit Mode: Full-Width (when editing existing reference)
┌─────────────────────────────────────────────────────────────────────┐
│ Edit Reference [X] │
├─────────────────────────────────────────────────────────────────────┤
│ ← Back to List │
│ │
│ Reference Type: [Journal Article ▼] │
│ │
│ Title * │
│ ┌──────────────────────────────────────────────────────────────┐ │
│ │ Understanding Social Networks in Constellation Analysis │ │
│ └──────────────────────────────────────────────────────────────┘ │
│ │
│ Authors (one per line or separated by semicolons) * │
│ ┌──────────────────────────────────────────────────────────────┐ │
│ │ Jane Smith; John Doe │ │
│ └──────────────────────────────────────────────────────────────┘ │
│ │
│ Year * [2023] Volume [45] Issue [3] Pages [123-145] │
│ │
│ Journal/Container Title │
│ ┌──────────────────────────────────────────────────────────────┐ │
│ │ Journal of Social Sciences │ │
│ └──────────────────────────────────────────────────────────────┘ │
│ │
│ DOI (Optional) URL (Optional) │
│ ┌───────────────────────────┐ ┌───────────────────────────────┐ │
│ │ 10.1000/example │ │ https://example.com/article │ │
│ └───────────────────────────┘ └───────────────────────────────┘ │
│ │
│ Abstract/Notes (Optional) │
│ ┌──────────────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ │ │
│ └──────────────────────────────────────────────────────────────┘ │
│ │
│ Tags (comma separated) │
│ ┌──────────────────────────────────────────────────────────────┐ │
│ │ social networks, methodology, qualitative │ │
│ └──────────────────────────────────────────────────────────────┘ │
│ │
│ ┌────────────────────────────────────────────────────────────┐ │
│ │ Preview: │ │
│ │ Smith, J., & Doe, J. (2023). Understanding Social Networks │ │
│ │ in Constellation Analysis. Journal of Social Sciences, │ │
│ │ 45(3), 123-145. https://doi.org/10.1000/example │ │
│ └────────────────────────────────────────────────────────────┘ │
│ │
│ Citation Format: [APA 7th ▼] │
│ │
│ [Cancel] [Save Changes] │
└─────────────────────────────────────────────────────────────────────┘
3.3 Citation Field in Property Panels
Node Editor Panel - Add "Citations" Section (after Labels, before Connections)
┌───────────────────────────────┐
│ Actor Properties │
├───────────────────────────────┤
│ Actor Type: [Researcher ▼] │
│ Label: Jane Smith │
│ Description: ... │
│ Labels: [methodology] │
│ │
│ Citations (2) │
│ ┌───────────────────────────┐ │
│ │ • Smith & Doe (2023) │ │
│ │ • Johnson (2022) │ │
│ │ [+ Add Citation] │ │
│ └───────────────────────────┘ │
│ │
│ Connections (3) │
│ ... │
└───────────────────────────────┘
Citation Selection Dropdown
When user clicks [+ Add Citation]:
┌───────────────────────────────────┐
│ Add Citation │
├───────────────────────────────────┤
│ Search references... │
│ ┌───────────────────────────────┐ │
│ │ 🔍 smith │ │
│ └───────────────────────────────┘ │
│ │
│ Results (2): │
│ ┌───────────────────────────────┐ │
│ │ ☑ Smith & Doe (2023) │ │
│ │ Understanding Social... │ │
│ │ J. Social Sciences │ │
│ ├───────────────────────────────┤ │
│ │ ☐ Smithson (2021) │ │
│ │ Network Analysis Methods │ │
│ │ Academic Press │ │
│ └───────────────────────────────┘ │
│ │
│ [+ Create New Reference] │
│ │
│ [Cancel] [Add (1)] │
└───────────────────────────────────┘
Features:
- Multi-select checkbox list
- Real-time search filtering
- Shows abbreviated citation info
- Quick create if reference doesn't exist
- Selected references show checkmarks
3.4 Reference Card Design (in Management List)
┌─────────────────────────────────────────────┐
│ Smith & Doe (2023) [📋][✏️][🗑️] │
│ Understanding Social Networks in... │
│ Journal of Social Sciences │
│ ─────────────────────────────────────────── │
│ 🏷️ social networks, methodology │
│ 📊 Cited by: 3 actors, 2 relations │
└─────────────────────────────────────────────┘
Card Components:
- Header: Short citation (Author-Date)
- Title: Truncated with ellipsis
- Container: Journal/Book/Website name
- Tags: Visual tag chips
- Usage: Count of actors/relations citing this
- Actions: Copy citation, Edit, Delete
4. User Workflows
4.1 Workflow: Quick Add Reference (Smart Import)
Scenario: User has a DOI or formatted citation
- Open "Manage Bibliography" (Ctrl+B or Edit menu)
- Paste DOI/URL in "Smart Input" field
- Click "Auto-Fill"
- System fetches metadata and populates fields
- User reviews/adjusts if needed
- Click "Add Reference"
- Toast: "Reference added successfully"
Fallback: If auto-fill fails, form remains with manual entry option
4.2 Workflow: Manual Reference Entry
Scenario: User has a book without DOI
- Open "Manage Bibliography"
- Select reference type: "Book"
- Form adjusts to show relevant fields:
- Title, Authors, Year (required)
- Publisher, Place, ISBN, Pages (optional)
- Fill in required fields
- Click "Add Reference"
- Reference appears in list on right
4.3 Workflow: Cite Reference in Node
Scenario: User wants to cite sources for an actor
- Select node in graph
- Right panel shows Node Editor
- Scroll to "Citations" section
- Click [+ Add Citation]
- Search dropdown appears
- Type to filter or browse list
- Check box(es) for desired reference(s)
- Click "Add"
- Citations appear as bullet list with author-date
- Change auto-saves after 500ms debounce
4.4 Workflow: Edit Existing Reference
Scenario: User needs to correct publication year
- Open "Manage Bibliography"
- Find reference in right column list
- Click [Edit] button
- Modal switches to full-width edit mode
- Modify year field
- Preview updates in real-time
- Click "Save Changes"
- Returns to two-column view
- Toast: "Reference updated"
Note: All actors/relations citing this reference show updated info
4.5 Workflow: Delete Reference with Usage
Scenario: User deletes reference cited by 5 items
- Click [Delete] on reference card
- Confirmation dialog appears:
Delete Reference? This reference is cited by: • 3 actors • 2 relations Deleting will remove all citations to this reference. [Cancel] [Delete Reference] - User confirms
- Reference deleted from bibliography
- All citation links removed from actors/relations
- Toast: "Reference deleted"
4.6 Workflow: Export Bibliography
Scenario: User wants formatted bibliography for paper
- File → Export → Formatted Bibliography
- Dialog appears:
Export Bibliography Format: [APA 7th Edition ▼] Options: ☑ Include only cited references ☐ Include all references ☑ Sort alphabetically by author Output: ○ HTML (for web/Word) ○ PDF ○ Plain text [Cancel] [Export] - User selects options
- Click "Export"
- File save dialog
- Toast: "Bibliography exported successfully"
5. Design Principles
5.1 Progressive Disclosure
- Basic mode: Show only essential fields (Title, Author, Year)
- Advanced mode: "Show More Fields" reveals DOI, ISBN, Volume, etc.
- Smart defaults: Type selection pre-fills appropriate fields
5.2 Forgiveness & Flexibility
- Auto-save: No manual save needed (consistent with current app)
- Undo support: Bibliography changes tracked in history
- Validation: Soft validation (warnings, not errors)
- Import/Export: Allow bulk operations for power users
5.3 Consistency with Existing Patterns
- Modal layout: Two-column → Full-width (like Labels/Types)
- Toast notifications: All actions get feedback
- Confirmation dialogs: Destructive operations require confirmation
- Debounced updates: 500ms delay for citation assignments
- Color coding: None needed (unlike types), but tags use label-like chips
5.4 Social Science Focus
- Citation preview: Always show formatted citation (APA/Chicago/MLA)
- Interview type: Support non-traditional sources
- Qualitative notes: Abstract field for researcher notes
- Tagging: Organize by themes, not just bibliographic categories
6. Technical Considerations
6.1 Data Storage
Document Structure (extend ConstellationDocument):
export interface ConstellationDocument {
// ... existing fields
bibliography?: {
references: BibliographyReference[];
settings?: {
defaultStyle: string; // e.g., "apa-7th"
sortOrder: 'author' | 'year' | 'title';
}
}
}
Node/Edge Structure (extend ActorData/RelationData):
export interface ActorData {
// ... existing fields
citations?: string[]; // Array of reference IDs
}
export interface RelationData {
// ... existing fields
citations?: string[]; // Array of reference IDs
}
6.2 Import/Export
Supported Formats:
-
CSL-JSON (primary)
- Native format
- Import from Zotero, Mendeley
- Export for use in other tools
-
BibTeX (secondary, for power users)
- Convert CSL-JSON ↔ BibTeX
- Use existing libraries (citation-js, bibtex-parser)
-
RIS (tertiary, for compatibility)
- Common in older reference managers
- Convert via citation-js
-
Formatted HTML/PDF
- For inclusion in papers/reports
- Use CSL processor (citeproc-js)
6.3 Auto-Fill Service
DOI Lookup:
- Use CrossRef API (free, no auth required)
- Endpoint:
https://api.crossref.org/works/{doi} - Returns JSON metadata
URL Metadata:
- Use Open Graph tags or Dublin Core metadata
- Fallback to page title/author extraction
- Not as reliable as DOI
Fallback:
- If lookup fails, show error toast
- Keep form populated with what was entered
- Allow manual completion
6.4 Citation Style Library
Approach: Use Citation Style Language (CSL)
Libraries:
citeproc-js: CSL processor for formattingcitation-js: Parse/convert between formats- Preload common styles: APA 7th, Chicago, MLA, Harvard
Style Switching:
- User can change preview style in modal
- Setting saved per document
- All citations reformat instantly
7. Accessibility & Usability
7.1 Keyboard Navigation
Ctrl+B: Open bibliography modalTab: Navigate between fieldsEnter: Submit forms (add/save)Esc: Close modal/cancel/in search: Focus search input
7.2 Screen Reader Support
- Form labels with
aria-label - Button descriptions
- Status announcements for actions
- Semantic HTML (fieldset, legend, label)
7.3 Visual Design
- High contrast: Readable citation text
- Clear hierarchy: Title > Authors > Container
- Action buttons: Icon + text for clarity
- Tooltips: Help text for advanced fields
8. Future Enhancements (Not MVP)
Phase 2
- Duplicate detection: Warn if similar reference exists
- Citation count: Show most/least cited references
- Bulk import: CSV, BibTeX file upload
- Collaboration: Shared bibliography across workspace
- Citation network: Graph of which references cite each other
Phase 3
- PDF import: Drag PDF, extract citation
- Web clipper: Browser extension for one-click import
- Smart suggestions: Recommend related references
- Citation graph: Visualize citation relationships as constellation
- Integration: Export to LaTeX/Word with in-text citations
9. Success Metrics
User Experience
- ✅ Non-technical users can add reference in <2 minutes
- ✅ 90% of DOI lookups succeed automatically
- ✅ Zero training needed (intuitive interface)
- ✅ No "Save" button confusion (auto-save)
Technical
- ✅ Bibliography data persists with document
- ✅ Import/export works with Zotero/Mendeley
- ✅ No performance impact on graph rendering
- ✅ Undo/redo works for bibliography changes
Adoption
- ✅ Users cite at least 1 reference per document
- ✅ Bibliography modal opened in >50% of sessions
- ✅ Export feature used by academic users
10. Implementation Phases
Phase 1: Core Functionality (MVP)
- Bibliography modal (two-column layout)
- CRUD operations (Create, Read, Update, Delete)
- Basic CSL-JSON storage
- Citation field in node/edge properties
- Simple formatted preview (APA only)
- Export as CSL-JSON
Phase 2: Smart Features
- DOI auto-fill
- Multiple citation styles (APA, Chicago, MLA)
- Import from BibTeX
- Export formatted bibliography (HTML)
- Tag filtering and search
- Usage tracking (citation counts)
Phase 3: Power User Features
- Bulk operations
- Advanced search/filter
- Custom citation styles
- PDF import
- Duplicate detection
- Citation graph visualization
Conclusion
This design balances simplicity for non-technical social scientists with power features for advanced users. By using CSL-JSON as the underlying format, we ensure compatibility with popular reference managers while keeping the UI approachable. The two-column modal pattern maintains consistency with existing app design, reducing the learning curve.
Key Innovation: Smart input field that accepts DOI/URL and auto-fills, dramatically reducing manual entry burden while still allowing full manual control.
Next Steps: Create technical specification and begin implementation with Phase 1 (MVP).