Files
BBeOS/docs/api/UI_UX_DESIGN.md
Eliott 73fb76098e
Some checks failed
CI / markdown-lint (push) Failing after 14s
Reorganize BBeOS project structure for better maintainability
- Reorganized directory structure following open source best practices
- Created src/ directory for all source code components
- Moved build artifacts to build/ subdirectories
- Organized documentation into phases/, guides/, and api/ subdirectories
- Moved third-party code to vendor/ directory
- Moved downloads to downloads/ directory
- Updated all build scripts to reference new directory structure
- Created comprehensive PROJECT_STRUCTURE.md documentation
- Added DEVELOPMENT_GUIDE.md as main entry point
- Improved separation of concerns and maintainability
- Follows standard open source project conventions
2025-08-01 11:48:06 +02:00

15 KiB
Raw Blame History

BBeOS UI/UX Design Documentation

🎨 Design Philosophy

BBeOS is designed specifically for the BlackBerry Classic Q20's unique hardware characteristics:

  • Square 720x720 display - Not rectangular like modern phones
  • Physical QWERTY keyboard - Primary input method, not touch
  • Optical/capacitive trackpad - Cursor movement and selection
  • Small screen real estate - Efficient use of limited space

🖥️ User Interface Layout

1. Home Screen Layout

┌─────────────────────────────────────────────────────────────┐
│ BBeOS                                    [12:34]           │ ← Status Bar (40px)
├─────────────────────────────────────────────────────────────┤
│                                                             │
│                    ┌─────┐  ┌─────┐  ┌─────┐  ┌─────┐      │
│                    │ 📞  │  │ 💬  │  │ 📝  │  │ ⚙️  │      │ ← App Grid (4x4)
│                    │Phone│  │SMS  │  │Edit │  │Set  │      │
│                    └─────┘  └─────┘  └─────┘  └─────┘      │
│                                                             │
│                    ┌─────┐  ┌─────┐  ┌─────┐  ┌─────┐      │
│                    │ 🧮  │  │ 📁  │  │ 🌐  │  │ 📊  │      │
│                    │Calc │  │Files│  │Web  │  │Info │      │
│                    └─────┘  └─────┘  └─────┘  └─────┘      │
│                                                             │
│                    ┌─────┐  ┌─────┐  ┌─────┐  ┌─────┐      │
│                    │ 📶  │  │ 🔋  │  │ 📱  │  │ 🎵  │      │
│                    │WiFi │  │Power│  │Phone│  │Music│      │
│                    └─────┘  └─────┘  └─────┘  └─────┘      │
│                                                             │
│                    ┌─────┐  ┌─────┐  ┌─────┐  ┌─────┐      │
│                    │ 🗺️  │  │ 📧  │  │ 📅  │  │ ❓  │      │
│                    │GPS  │  │Email│  │Cal  │  │Help │      │
│                    └─────┘  └─────┘  └─────┘  └─────┘      │
│                                                             │
├─────────────────────────────────────────────────────────────┤
│ [↑↓] Navigate  [Enter] Open  [Esc] Back  [?] Help          │ ← Help Bar
└─────────────────────────────────────────────────────────────┘

2. Application Window Layout

┌─────────────────────────────────────────────────────────────┐
│ Calculator                                    [×] [-] [□]  │ ← Window Title Bar
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  ┌─────────────────────────────────────────────────────┐   │
│  │ Display: 123.45                                    │   │ ← Application Area
│  └─────────────────────────────────────────────────────┘   │
│                                                             │
│  ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐          │
│  │  7  │ │  8  │ │  9  │ │  /  │ │  %  │ │  ^  │          │ ← Button Grid
│  └─────┘ └─────┘ └─────┘ └─────┘ └─────┘ └─────┘          │
│  ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐          │
│  │  4  │ │  5  │ │  6  │ │  *  │ │ M+  │ │ M-  │          │
│  └─────┘ └─────┘ └─────┘ └─────┘ └─────┘ └─────┘          │
│  ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐          │
│  │  1  │ │  2  │ │  3  │ │  -  │ │ MR  │ │ MC  │          │
│  └─────┘ └─────┘ └─────┘ └─────┘ └─────┘ └─────┘          │
│  ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐          │
│  │  0  │ │  .  │ │  =  │ │  +  │ │ MS  │ │ AC  │          │
│  └─────┘ └─────┘ └─────┘ └─────┘ └─────┘ └─────┘          │
│                                                             │
├─────────────────────────────────────────────────────────────┤
│ [H] History  [C] Clear  [?] Help  [Q] Quit                 │ ← Status Bar
└─────────────────────────────────────────────────────────────┘

3. Text Editor Layout

┌─────────────────────────────────────────────────────────────┐
│ Text Editor - document.txt                    [×] [-] [□]  │ ← Window Title Bar
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  ┌─────────────────────────────────────────────────────┐   │
│  │ 1 │ Hello World!                                   │   │ ← Line Numbers
│  │ 2 │ This is a test document.                       │   │
│  │ 3 │                                                │   │
│  │ 4 │ Welcome to BBeOS!                              │   │
│  │ 5 │                                                │   │
│  │ 6 │ Features:                                      │   │
│  │ 7 │ - Physical keyboard                            │   │
│  │ 8 │ - Trackpad navigation                          │   │
│  │ 9 │ - Square display                               │   │
│  │10 │                                                │   │
│  │11 │                                                │   │
│  │12 │                                                │   │
│  │13 │                                                │   │
│  │14 │                                                │   │
│  │15 │                                                │   │
│  └─────────────────────────────────────────────────────┘   │
│                                                             │
├─────────────────────────────────────────────────────────────┤
│ Cursor: 1,1  Lines: 15  [MODIFIED]                        │ ← Status Bar
└─────────────────────────────────────────────────────────────┘

⌨️ Input Methods & Navigation

1. Keyboard Navigation

Home Screen Navigation

  • Arrow Keys: Navigate between app icons
  • Enter: Launch selected application
  • Escape: Return to previous screen
  • Tab: Cycle through interface elements
  • Space: Select/deselect items

Application Navigation

  • Arrow Keys: Move cursor, scroll, navigate menus
  • Enter: Confirm selection, activate button
  • Escape: Cancel, go back, close dialog
  • Tab: Move between input fields
  • Shift+Tab: Move backwards through fields

2. Trackpad Navigation

Cursor Movement

  • Trackpad: Move cursor around screen
  • Click: Select/activate items
  • Double-click: Open files/applications
  • Right-click: Context menu (if supported)

Scrolling

  • Trackpad scroll: Vertical scrolling in documents
  • Shift+trackpad scroll: Horizontal scrolling
  • Trackpad edge: Quick navigation to screen edges

3. Keyboard Shortcuts

System Shortcuts

  • Alt+Tab: Switch between applications
  • Alt+F4: Close current application
  • Ctrl+Alt+Del: System menu
  • F1: Help system
  • F2: Rename selected item

Application Shortcuts

  • Ctrl+S: Save
  • Ctrl+O: Open
  • Ctrl+N: New
  • Ctrl+Z: Undo
  • Ctrl+Y: Redo
  • Ctrl+F: Find
  • Ctrl+C: Copy
  • Ctrl+V: Paste
  • Ctrl+X: Cut

🎨 Visual Design Elements

1. Color Scheme

Primary Colors

  • Background: Dark gray (#1a1a1a)
  • Surface: Medium gray (#2d2d2d)
  • Accent: Blue (#3366cc)
  • Text: White (#ffffff)
  • Secondary Text: Light gray (#cccccc)

Status Colors

  • Success: Green (#4caf50)
  • Warning: Orange (#ff9800)
  • Error: Red (#f44336)
  • Info: Blue (#2196f3)

2. Typography

Font Hierarchy

  • Title: 18px, Bold, Sans-serif
  • Heading: 16px, Bold, Sans-serif
  • Body: 14px, Regular, Sans-serif
  • Caption: 12px, Regular, Sans-serif
  • Code: 13px, Monospace

Font Choices

  • Primary: DejaVu Sans (system font)
  • Monospace: DejaVu Sans Mono
  • Fallback: Arial, Helvetica

3. Spacing & Layout

Grid System

  • Base Unit: 8px
  • Small Spacing: 8px
  • Medium Spacing: 16px
  • Large Spacing: 24px
  • Extra Large: 32px

Component Sizing

  • Button Height: 32px
  • Input Field Height: 36px
  • Icon Size: 24px
  • App Icon Size: 80px
  • Status Bar Height: 40px

🔄 Interaction Patterns

1. Application Launch

User presses Enter on home screen
↓
Application window appears
↓
Window animates in from center
↓
Application becomes focused
↓
Keyboard input directed to application

2. Window Management

User presses Alt+Tab
↓
Window switcher appears
↓
User selects target application
↓
Previous window minimizes
↓
Selected window becomes active

3. Dialog Boxes

Application requests dialog
↓
Modal dialog appears centered
↓
Background dims
↓
Dialog captures all input
↓
User responds or cancels
↓
Dialog closes, focus returns

📱 Responsive Design

1. Screen Adaptations

720x720 Display (Primary)

  • Full layout: All elements visible
  • 4x4 app grid: 16 applications
  • Full keyboard shortcuts: All shortcuts available
  • Complete status bar: All information displayed

Smaller Displays (Future)

  • 3x3 app grid: 9 applications
  • Condensed status bar: Essential information only
  • Simplified navigation: Fewer keyboard shortcuts

2. Accessibility Features

Visual Accessibility

  • High contrast mode: Enhanced visibility
  • Large text mode: Increased font sizes
  • Color blind support: Alternative color schemes
  • Screen reader support: Text-to-speech integration

Motor Accessibility

  • Sticky keys: Modifier key assistance
  • Slow keys: Delayed key response
  • Mouse keys: Keyboard mouse control
  • Repeat rate adjustment: Customizable key repeat

🎯 User Experience Goals

1. Efficiency

  • Keyboard-first design: Minimize trackpad usage
  • Shortcut optimization: Common tasks accessible via keyboard
  • Predictable navigation: Consistent interaction patterns
  • Fast response times: <100ms for UI interactions

2. Learnability

  • Intuitive layout: Familiar desktop-like interface
  • Consistent design: Same patterns across applications
  • Progressive disclosure: Advanced features hidden until needed
  • Contextual help: F1 key provides relevant assistance

3. Accessibility

  • Universal design: Works for users with disabilities
  • Customizable interface: Adaptable to user preferences
  • Clear visual hierarchy: Easy to understand information structure
  • Error prevention: Design prevents common mistakes

🔮 Future Enhancements

1. Advanced UI Features

  • Themes: Customizable color schemes and layouts
  • Animations: Smooth transitions and micro-interactions
  • Gestures: Trackpad gesture support
  • Voice input: Speech-to-text capabilities

2. Productivity Features

  • Split-screen mode: Multiple applications side-by-side
  • Virtual desktops: Multiple workspace support
  • Quick actions: Context-sensitive shortcuts
  • Smart suggestions: AI-powered interface assistance

3. Personalization

  • Custom layouts: User-defined interface arrangements
  • Widgets: Customizable home screen widgets
  • Automation: Task automation and scripting
  • Integration: Third-party service integration

📊 Performance Metrics

1. Responsiveness

  • UI render time: <16ms (60fps)
  • Application launch: <2 seconds
  • Window switching: <100ms
  • Keyboard input lag: <50ms

2. Resource Usage

  • Memory footprint: <50MB for UI system
  • CPU usage: <5% during normal operation
  • Battery impact: Minimal additional drain
  • Storage: <10MB for UI components

3. Usability Metrics

  • Task completion rate: >95%
  • Error rate: <2%
  • User satisfaction: >4.5/5
  • Learning curve: <30 minutes for basic operations

This UI/UX design ensures that BBeOS provides a modern, efficient, and accessible user experience specifically tailored to the BlackBerry Classic Q20's unique hardware characteristics.