NextNotes is a native Ubuntu Touch client for the official Nextcloud Notes app.
It is intentionally simple: plain-text notes, optional Markdown preview, local caching, offline editing, and safe synchronization through the Nextcloud Notes API.
NextNotes is not affiliated with, endorsed by, or sponsored by Nextcloud GmbH or the Nextcloud project. Nextcloud is a trademark of its respective owners.
Current release candidate: 0.4.0.
This release migrates account handling to Lomiri.OnlineAccounts 2.0, adds a date/A-Z/Z-A sort toggle, completes translation coverage for 11 languages, and fixes a batch of sync/conflict edge cases found in a full code review.
- Use an existing Nextcloud or ownCloud account from Ubuntu Touch Online Accounts.
- List, search, open, create, edit, favorite, categorize, and delete notes.
- Cache notes locally for offline access.
- Keep local note caches separated per selected Online Accounts account.
- Automatically sync local changes while the app is active.
- Preserve local drafts when server conflicts are detected.
- Review conflicts on a dedicated conflict page by choosing the local or server version.
- Keep the note editor stable while sync state changes by showing sync/conflict state in the top bar.
- Import shared text from other Ubuntu Touch apps through Content Hub as a new note.
- Share selected note text or full note text to other Ubuntu Touch apps through Content Hub.
- Preview common Markdown formatting while keeping note content stored as plain text.
- Use optional quick buttons for common Markdown syntax and choose whether notes open in Edit or Preview mode by default.
- View Markdown formatting examples from the note editor.
- Follow the system language or manually choose a supported language.
- View version, license, and project information from the About page.
NextNotes focuses on a small reliable V1. It does not implement:
- Rich text editing
- Attachments
- Image handling
- Rich note sharing beyond plain text Content Hub import/export
- Collaboration
- End-to-end encryption
- Tags
- Advanced formatting
- Server-side Direct Editing / rich editor mode
- In-app username/password login
NextNotes always uses Ubuntu Touch Online Accounts. Add your Nextcloud or ownCloud account in Ubuntu Touch System Settings > Accounts, then select that account inside NextNotes. If Ubuntu Touch has not yet allowed NextNotes to use the account, the account page opens a guided prompt to System Settings > Accounts, keeps the account selected, and verifies access automatically when you return.
Credentials are requested from Online Accounts at runtime and are not stored by NextNotes. After successful runtime authentication, credentials may be kept only in process memory for the current app session.
The account flow follows the shared Nextcloud suite pattern: account rows are selected directly, verification is serialized while running, stale in-memory credentials are cleared when switching accounts, and technical diagnostics are kept out of the normal UI.
Each Ubuntu Touch account must be allowed for NextNotes in System Settings > Accounts. If one account works and another account does not, open the OS account settings for the failing account, allow NextNotes, then return to the app so it can verify the selected account automatically.
The notes list includes a swipe-action direction setting in the hamburger menu. Ubuntu Touch style is the default; Android-compatible style can be selected for users who prefer the upstream Android direction.
Current language choices:
- Follow system language
- English
- Swedish
- Catalan
- German
- French
- Dutch
- Danish
- Norwegian Bokmal
- Spanish
- Finnish
Swedish has been reviewed for the current UI. Catalan has contributed translations, but newly added Markdown preview strings still need review. German, French, Dutch, Danish, Norwegian Bokmal, Spanish, and Finnish currently use AI-assisted translations and need review by fluent speakers.
Translations are gettext .po files under po/. Improvements are welcome.
Translation contributors:
- Walter Garcia-Fontes: Catalan
Install Clickable, then build from the repository root:
~/.local/bin/clickable build --arch amd64
~/.local/bin/clickable build --arch arm64Successful builds produce click packages under:
build/x86_64-linux-gnu/app/
build/aarch64-linux-gnu/app/
Desktop mode:
~/.local/bin/clickable desktop --arch amd64Larger desktop debug window:
~/.local/bin/clickable script desktop-largeDark desktop debug window:
~/.local/bin/clickable script desktop-darkDesktop mode can also use the dedicated live-test account from .env.test.local
for faster debugging without Ubuntu Touch Online Accounts:
cp .env.test.local.example .env.test.local
# edit .env.test.local with a dedicated test account
~/.local/bin/clickable script desktop-test
~/.local/bin/clickable script desktop-test-darkThis path is only enabled for desktop debugging when NEXTNOTES_DESKTOP_TEST_AUTH=1
is set by the script. Ubuntu Touch builds continue to use Online Accounts only.
Install on a connected Ubuntu Touch device:
~/.local/bin/clickable install --arch arm64Use the architecture that matches the target device.
Run the local regression suite:
~/.local/bin/clickable script testOptional live Nextcloud API tests are available. They create, update, and delete notes on a configured test account:
cp .env.test.local.example .env.test.local
# edit .env.test.local with a dedicated test account
~/.local/bin/clickable script test-liveNever use a personal account for live tests. .env.test.local is ignored by git.
NextNotes is a Clickable QML/C++ Ubuntu Touch application.
Important runtime areas:
qml/pages/: Ubuntu Touch UI pages.qml/UTControls/: vendored source-level QML component library used for shared UI primitives such as modern flat action buttons. Current vendored version:0.2.4.vendor/NextCommon/: versioned shared source-level module used for stable suite UI/workflow components such as Online Accounts account page/session flow, main top bar, drawer shell, language page, and settings shell. NextNotes packages these files into its own click package; there is no runtime dependency on another app.qml/pages/AboutPage.qml: thin NextNotes wrapper aroundNextCommon.AboutPage, including app-specific license text, disclaimer, and translation contributor credits.qml/pages/AccountSelectionPage.qml: thin NextNotes wrapper aroundNextCommon.AccountPage.qml/pages/LanguageSelectionPage.qml: thin NextNotes wrapper aroundNextCommon.LanguagePage.qml/pages/SettingsPage.qml: NextNotes settings usingNextCommon.SettingsShellandNextCommon.SettingsCard, including list interaction settings, optional Markdown preview, and the default editor mode.qml/pages/NotesListPage.qml: notes list UI usingNextCommon.MainTopBar,NextCommon.DrawerShell, and local note-card/category behavior.qml/backend/AccountSessionAdapter.qml: thin NextNotes wrapper aroundNextCommon.AccountSessionAdapter.qml/backend/NotesApiClient.qml: Nextcloud Notes API requests.qml/backend/NotesCache.qml: local SQLite cache through Qt LocalStorage.qml/backend/NotesController.qml: note loading, filtering, sync orchestration, local draft handling, and UI-facing state.qml/backend/MarkdownCore.js: small dependency-free Markdown-to-HTML helper for local preview mode. It does not change note storage or sync format.qml/backend/*.js: small testable helper modules.qml/pages/ConflictResolutionPage.qml: full-screen local/server conflict review and resolution.po/: gettext translation catalogs.tests/: local regression/contract tests.tests_live/: opt-in live Nextcloud Notes API tests.
Shared source-level modules are bundled into this app package at build time. They are not installed globally and do not create runtime dependencies between apps in the Nextcloud suite.
Each app pins the exact shared module version/commit it has tested. Apps in the
Nextcloud suite may intentionally use different NextCommon or UTControls
versions until each app is upgraded and verified.
The AppArmor profile uses:
networking: connect to the configured Nextcloud server.accounts: access Ubuntu Touch Online Accounts after user authorization.content_exchange: receive shared/imported content through Ubuntu Touch Content Hub.content_exchange_source: register as a Content Hub source/share participant for text import/export.
NextNotes does not request unconfined mode.
NextNotes can receive shared text from other Ubuntu Touch apps. The incoming Content Hub item is read as local text content, saved as a new local note, opened in the editor, and then handled by the existing offline-first autosync flow.
NextNotes can also share selected note text, or the full note text when nothing is selected, to other Ubuntu Touch apps. Content Hub transfers use both the item text field and a temporary UTF-8 text file so receiving apps can use the path that best fits their implementation.
On Pixel 3a / Ubuntu Touch 24.04 Noble, Content Hub text import/export required explicit text, links, and documents categories plus both content_exchange and content_exchange_source AppArmor policy groups.
NextNotes is intended for OpenStore distribution as a click package.
Release notes are maintained in CHANGELOG.md.
NextNotes is licensed under the MIT License.
Copyright (c) 2026 Etherghost. See LICENSE.