Skip to content

Latest commit

ย 

History

History
367 lines (296 loc) ยท 14.6 KB

File metadata and controls

367 lines (296 loc) ยท 14.6 KB

Complete Feature List ๐Ÿ“‹

๐ŸŒ Languages: Deutsch ยท English

All features of Simple Notes Sync in detail


๐Ÿ“ Note Management

Note Types

  • โœ… Text notes - Classic free-form notes
  • โœ… Checklists (NEW in v1.4.0) - Task lists with tap-to-check
    • โž• Add items via input field
    • โ˜‘๏ธ Tap to check/uncheck
    • ๐Ÿ“Œ Long-press for drag & drop sorting
    • Strikethrough for completed entries
    • โ†ฉ๏ธ Un-check returns item to original position (v1.9.0)

Basic Features

  • โœ… Auto-save - No manual saving needed
  • โœ… Title + content - Clear structure for each note
  • โœ… Timestamps - Creation and modification date automatically
  • โœ… Selection Mode (NEW in v1.5.0) - Long-press for multi-select and batch delete
  • โœ… Confirmation dialog - Protection against accidental deletion
  • โœ… Jetpack Compose UI (NEW in v1.5.0) - Modern, performant user interface
  • โœ… Material Design 3 - Modern, clean UI
  • โœ… Dark mode - Automatically based on system settings
  • โœ… Dynamic colors - Adapts to your Android theme
  • โœ… Multi-theme (NEW in v2.0.0) - 7 color schemes with animated transitions and tinted surfaces
  • โœ… Custom app title (NEW in v1.9.0) - Configurable app name

Editor

  • โœ… Minimalist editor - No bells and whistles
  • โœ… Auto-focus - Start writing immediately
  • โœ… Fullscreen mode - Maximum writing space
  • โœ… Save button - Manual confirmation possible
  • โœ… Back navigation - Saves automatically when autosave is enabled (v1.10.0)
  • โœ… Slide animations (NEW in v1.5.0) - Smooth transitions
  • โœ… Markdown preview (NEW in v1.9.0) - Live preview with formatting toolbar
  • โœ… Opt-in autosave (NEW in v1.9.0) - Configurable debounce autosave timer
  • โœ… Undo/Redo (NEW in v1.10.0) - Full undo/redo history (up to 50 steps) with toolbar buttons
  • โœ… Share & export (NEW in v1.10.0) - Share as text or PDF, export to calendar
  • โœ… Delete with undo (NEW in v1.10.0) - Delete from editor with timed undo snackbar

๐Ÿ“Š Views & Layout (NEW in v1.7.0+)

Display Modes

  • โœ… List View - Classic list layout
  • โœ… Grid View (NEW in v1.7.0) - Pinterest-style staggered grid with dynamic preview lines
  • โœ… Layout toggle - Switch between list and grid in settings
  • โœ… Adaptive columns - 2-3 columns based on screen size
  • โœ… Grid column scaling (NEW in v2.0.0) - 1โ€“5 columns configurable in display settings
  • โœ… Grid as default (v1.8.0) - New installations default to grid view

Note Sorting (NEW in v1.8.0)

  • โœ… Sort by Updated - Newest or oldest first
  • โœ… Sort by Created - By creation date
  • โœ… Sort by Title - A-Z or Z-A
  • โœ… Sort by Type - Text notes vs checklists
  • โœ… Persistent preferences - Sort option saved across app restarts
  • โœ… Sort dialog - Direction toggle in main screen

Note Filtering (NEW in v1.9.0)

  • โœ… Filter Chip Row - Filter by All, Text, or Checklists
  • โœ… Inline search - Quick search in the filter row
  • โœ… Sort button - Compact sort icon in filter row
  • โœ… Toggle visibility - Tune button hides/shows the filter row
  • โœ… Configurable sync folder - Custom WebDAV folder name

Checklist Sorting (NEW in v1.8.0)

  • โœ… Manual - Custom drag & drop order
  • โœ… Alphabetical - A-Z sorting
  • โœ… Unchecked First - Unchecked items on top
  • โœ… Checked Last - Checked items at bottom
  • โœ… Date created (NEW in v1.11.0) - Sort by creation date (ascending or descending)
  • โœ… Visual separator - Between unchecked/checked groups with count
  • โœ… Auto-sort on toggle - Re-sorts when checking/unchecking items
  • โœ… Drag across boundaries - Items auto-toggle state when crossing separator

๐Ÿ“Œ Homescreen Widgets (NEW in v1.8.0)

Widget Features

  • โœ… Text note widget - Display any note on homescreen
  • โœ… Checklist widget - Interactive checkboxes that sync to server
  • โœ… 5 size classes - SMALL, NARROW_MED, NARROW_TALL, WIDE_MED, WIDE_TALL
  • โœ… Material You colors - Dynamic colors matching system theme
  • โœ… Configurable opacity - Background transparency (0-100%)
  • โœ… Lock toggle - Prevent accidental edits
  • โœ… Auto-refresh - Updates after sync completion
  • โœ… Configuration activity - Note selection and settings
  • โœ… Checklist sorting (v1.8.1) - Widgets respect saved sort option
  • โœ… Visual separators (v1.8.1) - Between unchecked/checked items
  • โœ… Monet tint preservation (v1.9.0) - Translucent background keeps dynamic colors
  • โœ… Seamless options bar (v1.9.0) - Removed background for cleaner look
  • โœ… Checklist strikethrough (v1.9.0) - Completed items show strikethrough in widget
  • โœ… Auto-refresh on leave (v1.9.0) - Widgets update when leaving app

๐ŸŒ Multilingual Support (NEW in v1.5.0)

Supported Languages

  • โœ… English - Primary language (default)
  • โœ… German - Fully translated

Language Selection

  • โœ… Automatic detection - Follows system language
  • โœ… Manual selection - Switchable in settings
  • โœ… Per-App Language - Android 13+ native language selection
  • โœ… locales_config.xml - Complete Android integration

Scope

  • โœ… 400+ strings - Fully translated
  • โœ… UI texts - All buttons, dialogs, menus
  • โœ… Error messages - Helpful localized hints
  • โœ… Settings - 7 categorized screens

๐Ÿ’พ Backup & Restore

Local Backup System

  • โœ… JSON export - All notes in one file
  • โœ… Free location choice - Downloads, SD card, cloud folder
  • โœ… Filenames with timestamp - simplenotes_backup_YYYY-MM-DD_HHmmss.json
  • โœ… Complete export - Title, content, timestamps, IDs
  • โœ… Human-readable format - JSON with formatting
  • โœ… Independent from server - Works completely offline

Restore Modes

  • โœ… Merge - Add new notes, keep existing ones (Default)
  • โœ… Replace - Delete all and import backup
  • โœ… Overwrite duplicates - Backup wins on ID conflicts
  • โœ… Automatic safety backup - Before every restore
  • โœ… Backup validation - Checks format and version
  • โœ… Error handling - Clear error messages on issues

๐Ÿ–ฅ๏ธ Desktop Integration

Markdown Export

  • โœ… Automatic export - Each note โ†’ .md file
  • โœ… Checklists as task lists (NEW) - - [ ] / - [x] format (GitHub-compatible)
  • โœ… Dual-format - JSON (master) + Markdown (mirror)
  • โœ… Filename sanitization - Safe filenames from titles
  • โœ… Duplicate handling (NEW) - ID suffix for same titles
  • โœ… Frontmatter metadata - YAML with ID, timestamps, type
  • โœ… WebDAV sync - Parallel to JSON sync
  • โœ… Optional - Toggle in settings
  • โœ… Initial export - All existing notes when activated
  • โœ… Progress indicator - Shows X/Y during export

Markdown Import

  • โœ… Desktop โ†’ App - Import changes from desktop
  • โœ… Last-Write-Wins - Conflict resolution via timestamp
  • โœ… Frontmatter parsing - Reads metadata from .md files
  • โœ… Detect new notes - Automatically adopt to app
  • โœ… Detect updates - Only if desktop version is newer
  • โœ… Error tolerance - Individual errors don't abort import

WebDAV Access

  • โœ… Network drive mount - Windows, macOS, Linux
  • โœ… Any Markdown editor - VS Code, Typora, Notepad++, iA Writer
  • โœ… Live editing - Direct access to .md files
  • โœ… Folder structure - /notes/ for JSON, /notes-md/ for Markdown
  • โœ… Automatic folder creation - On first sync

๐Ÿ”„ Synchronization

Auto-Sync

  • โœ… Interval selection - 15, 30 or 60 minutes
  • โœ… WiFi trigger - Sync on WiFi connection (no SSID restriction)
  • โœ… Battery-friendly - ~0.2-0.8% per day
  • โœ… Smart server check - Sync only when server is reachable
  • โœ… WorkManager - Reliable background execution
  • โœ… Battery optimization compatible - Works even with Doze mode

Sync Triggers (6 total)

  1. โœ… Periodic sync - Automatically after interval
  2. โœ… App-start sync - When opening the app
  3. โœ… WiFi-connect sync - On any WiFi connection
  4. โœ… Manual sync - Button in settings
  5. โœ… Pull-to-refresh - Swipe gesture in notes list
  6. โœ… Settings-save sync - After server configuration

Sync Mechanism

  • โœ… Upload - Local changes to server
  • โœ… Download - Server changes to app
  • โœ… Parallel downloads (NEW in v1.8.0) - Up to 5 simultaneous downloads
  • โœ… Conflict detection - On simultaneous changes
  • โœ… Conflict-free merging - Last-Write-Wins via timestamp
  • โœ… Server deletion detection (NEW in v1.8.0) - Detects notes deleted on other devices
  • โœ… Sync status tracking - LOCAL_ONLY, PENDING, SYNCED, CONFLICT, DELETED_ON_SERVER
  • โœ… Live progress UI (NEW in v1.8.0) - Phase indicators with upload/download counters
  • โœ… Error handling - Retry on network issues
  • โœ… Offline-first - App works without server

Server Connection

  • โœ… WebDAV protocol - Standard protocol
  • โœ… HTTP/HTTPS - HTTP only local, HTTPS for external
  • โœ… Username/password - Basic authentication
  • โœ… Connection test - Test in settings
  • โœ… WiFi-only sync (NEW in v1.7.0) - Option to sync only on WiFi
  • โœ… VPN support (NEW in v1.7.0) - Sync works correctly through VPN tunnels
  • โœ… Self-signed SSL (NEW in v1.7.0) - Support for self-signed certificates
  • โœ… Server URL normalization - Automatic /notes/ and /notes-md/ (NEW in v1.2.1)
  • โœ… Flexible URL input - Both variants work: http://server/ and http://server/notes/

๐Ÿ”’ Privacy & Security

Self-Hosted

  • โœ… Own server - Full control over data
  • โœ… No cloud - No third parties
  • โœ… No tracking - No analytics, no telemetry
  • โœ… No account - Only server credentials
  • โœ… 100% open source - AGPL v3 License

Data Security

  • โœ… Local storage - App-private storage (Android)
  • โœ… WebDAV encryption - HTTPS for external servers
  • โœ… Password storage - Android SharedPreferences (encrypted)
  • โœ… No third-party libs - Only Android SDK + Sardine (WebDAV)

Developer Features

  • โœ… File logging - Optional, only when enabled (NEW in v1.3.2)
  • โœ… Privacy notice - Explicit warning on activation
  • โœ… Local logs - Logs stay on device

๐Ÿ”‹ Performance & Optimization

Battery Efficiency (v1.6.0)

  • โœ… Configurable sync triggers - Enable/disable each trigger individually
  • โœ… Smart defaults - Only event-driven triggers active by default
  • โœ… Optimized periodic intervals - 15/30/60 min (default: OFF)
  • โœ… WiFi-only - No mobile data sync
  • โœ… Smart server check - Sync only when server is reachable
  • โœ… WorkManager - System-optimized execution
  • โœ… Doze mode compatible - Sync runs even in standby
  • โœ… Measured consumption:
    • Default (event-driven only): ~0.2%/day (~6.5 mAh) โญ Optimal
    • With periodic 15 min: ~1.0%/day (~30 mAh)
    • With periodic 30 min: ~0.6%/day (~19 mAh)
    • With periodic 60 min: ~0.4%/day (~13 mAh)

App Performance

  • โœ… Offline-first - Works without internet
  • โœ… Instant-load - Notes load in <100ms
  • โœ… Smooth scrolling - LazyColumn with Compose
  • โœ… Material Design 3 - Native Android UI
  • โœ… Kotlin Coroutines - Asynchronous operations
  • โœ… Minimal APK size - ~2 MB

๐Ÿ› ๏ธ Technical Details

Platform

  • โœ… Android 7.0+ (API 24+)
  • โœ… Target SDK 36 (Android 15)
  • โœ… Kotlin - Modern programming language
  • โœ… Jetpack Compose - Declarative UI framework
  • โœ… Material Design 3 - Latest design guidelines
  • โœ… Multi-theme system (v2.0.0) - 7 color schemes incl. AMOLED & Dynamic Color
  • โœ… Jetpack Glance (v1.8.0) - Widget framework

Architecture

  • โœ… MVVM-Light - Simple architecture
  • โœ… Single Activity - Modern navigation
  • โœ… Kotlin Coroutines - Async/Await pattern
  • โœ… Dispatchers.IO - Background operations
  • โœ… SharedPreferences - Settings storage
  • โœ… File-based storage - JSON files locally
  • โœ… Custom exceptions - Dedicated SyncException for better error handling (NEW in v1.3.2)

Dependencies

  • โœ… AndroidX - Jetpack libraries
  • โœ… Material Components - Material Design 3
  • โœ… Sardine - WebDAV client (com.thegrizzlylabs)
  • โœ… Gson - JSON serialization
  • โœ… WorkManager - Background tasks
  • โœ… OkHttp - HTTP client (via Sardine)
  • โœ… Glance (v1.8.0) - Widget framework

Build Variants

  • โœ… Standard - Universal APK (100% FOSS, no Google dependencies)
  • โœ… F-Droid - Identical to Standard (100% FOSS)
  • โœ… Debug/Release - Development and production
  • โœ… No Google Services - Completely FOSS, no proprietary libraries

๐Ÿ“ฆ Server Compatibility

Tested WebDAV Servers

  • โœ… Docker WebDAV (recommended for self-hosting)
  • โœ… Nextcloud - Fully compatible
  • โœ… ownCloud - Works perfectly
  • โœ… Apache mod_dav - Standard WebDAV
  • โœ… nginx + WebDAV - With correct configuration

Server Features

  • โœ… Basic Auth - Username/password
  • โœ… Directory listing - For download
  • โœ… PUT/GET - Upload/download
  • โœ… MKCOL - Create folders
  • โœ… DELETE - Delete notes (future)

๐Ÿ”ฎ Future Features

Planned for upcoming versions โ€“ see UPCOMING.md for the full roadmap.


๐Ÿ“Š Comparison with Other Apps

Feature Simple Notes Sync Google Keep Nextcloud Notes
Offline-first โœ… โš ๏ธ Limited โš ๏ธ Limited
Self-hosted โœ… โŒ โœ…
Auto-sync โœ… โœ… โœ…
Markdown export โœ… โŒ โœ…
Desktop access โœ… (WebDAV) โœ… (Web) โœ… (Web + WebDAV)
Local backup โœ… โŒ โš ๏ธ Server backup
No Google account โœ… โŒ โœ…
Open Source โœ… AGPL v3 โŒ โœ… AGPL
APK size ~2 MB ~50 MB ~8 MB
Battery usage ~0.4%/day ~1-2%/day ~0.5%/day

โ“ FAQ

Q: Do I need a server?
A: No! The app works completely offline. The server is optional for sync.

Q: Which server is best?
A: For beginners: Docker WebDAV (simple, easy). For pros: Nextcloud (many features).

Q: Does Markdown export work without Desktop Integration?
A: No, you need to activate the feature in settings.

Q: Will my data be lost if I switch servers?
A: No! Create a local backup, switch servers, restore.

Q: Why JSON + Markdown?
A: JSON is reliable and fast (master). Markdown is human-readable (mirror for desktop).

Q: Can I use the app without Google Play?
A: Yes! Download the APK directly from GitHub or use F-Droid.


Last update: v2.1.0 (2026-03-26)