# Complete Feature List ๐Ÿ“‹ **๐ŸŒ Languages:** [Deutsch](FEATURES.de.md) ยท **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 ### 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 ### 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 - โœ… **Slide animations** _(NEW in v1.5.0)_ - Smooth transitions --- ## ๐ŸŒ 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 - โœ… **Conflict detection** - On simultaneous changes - โœ… **Conflict-free merging** - Last-Write-Wins via timestamp - โœ… **Sync status tracking** - LOCAL_ONLY, PENDING, SYNCED, CONFLICT - โœ… **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 - โœ… **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** - MIT 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** - RecyclerView with ViewHolder - โœ… **Material Design 3** - Native Android UI - โœ… **Kotlin Coroutines** - Asynchronous operations - โœ… **Minimal APK size** - ~2 MB --- ## ๐Ÿ› ๏ธ Technical Details ### Platform - โœ… **Android 8.0+** (API 26+) - โœ… **Target SDK 36** (Android 15) - โœ… **Kotlin** - Modern programming language - โœ… **Material Design 3** - Latest design guidelines - โœ… **ViewBinding** - Type-safe view references ### 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) ### 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: ### v1.4.0 - Checklists - โณ **Checklist notes** - New note type with checkboxes - โณ **Completed items** - Strike-through/check off - โณ **Drag & drop** - Reorder items ### v1.5.0 - Internationalization - โณ **Multi-language** - German + English UI - โณ **Language selection** - Selectable in settings - โณ **Full translation** - All strings in both languages ### v1.6.0 - Modern APIs - โณ **Replace LocalBroadcastManager** - Use SharedFlow instead - โณ **PackageInfo Flags** - Use PackageInfoFlags.of() - โณ **Complexity refactoring** - Split long functions --- ## ๐Ÿ“Š 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 | โœ… MIT | โŒ | โœ… 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:** v1.3.2 (2026-01-10)