nextcloud / nextcloud/notes-ios

Resurrecting the iOS Notes App: New Settings Section

Open
#72 2 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Swift
Stars
73
Forks
22
PR merge metrics
No merged PRs in 30d

Description

As part of revitalizing the iOS Notes app, we’re introducing a new Settings Section with enhanced functionalities inspired by top iOS and our Android Notes apps. This document outlines the features and technical requirements for a completely new Settings Section in the iOS Notes app. The goal is to offer functionalities that match competitive iOS Notes Apps and the current Android Notes App.

User Interface [Settings Screen]

  • User Profile Section:

Displays accounts information.

  1. Add Account: If currently no user, a section asking for server text input & Add Account button.
  2. Accounts Information: If users exist, this section shows the currently selected user's profile picture, name, and email. Tapping this information opens the Accounts Screen (details below).
  • Syncing Section:

As in current app, this section will contain Syncing operations.

  1. Sync on Start
  2. Offline Mode
  • Appearance & Behaviour Section:

This section contains all behaviours as in Android notes app + some great features from other iOS Notes app.

  1. Use App Font: This toggle when set to true, displays a slider to set the notes text font so as to adjust it according to user demands, for older people or in iPads according to user preference.
  2. Default Theme: Set theme color of app according to default phone's theme, dark or light.
  3. Stay Awake: As according to title, keep screen awake while user is writing or reading.
  4. Share As: Same as in current iOS app, this picker sets the extension for file saving/sharing.
  5. _Folder Destination:_Sets the destination folder for saving notes on user's server.
  6. Internal Editor: According to current iOS app implementation.
  • Security Section:

This section has security features similar to current iOS and android notes apps.

  1. App Lock: Similar to android notes & iOS files app, we have an option of App lock.
  2. Prevent Screen Capture: Another useful security feature, also in android.
  • Information Section:

As in Nextcloud iOS files app, this sections has company information & source code, similar to current iOS apps'.

  1. Acknowledgement
  2. Privacy & Legal Policy
  3. Source Code

User Interface [Accounts Screen]

  • Current User Information:

Displays current accounts information. We are following apple's settings' account view here.

  1. User's Photo
  2. User Name
  3. User Email
  • Account List:

Displays multiple Account Cards, containing the following information:

  • Name: Display the full name or username associated with the account.

  • Email Address: Show the email address used for the account.

  • Profile Picture: If available, display a profile picture for the account.

  • Account Switch to current: With one tap, we can switch this account with current account.

  • Add Account Section

Same as in Settings screen.

  • Sign Out

The "Sign Out" button would be easily accessible and clearly visible at the bottom of the screen.
Confirmation Dialog: Before signing out, display a confirmation dialog to prevent accidental actions.

Design Link:
Link Link Link

All Technical Aspirations

  • Multi-Branding Support: The app requires customization options for user cloud companies, including color schemes, logos, and icons throughout the app.
  • SwiftUI Framework: We will be using SwiftUI for development due to its suitability for this project.
  • Comprehensive Documentation: We will create thorough documentation for developers and users.
  • Apple’s Human Interface Guidelines (HIG) Compliance: We will adhere to Apple's HIG to ensure a minimalist and user-friendly UI.
  • Security & Privacy Focus: We will prioritize user data security and privacy by following relevant guidelines and minimizing third-party libraries.
  • Performance Optimization: Our development process will prioritize performance using the latest features, code profiling, memory leak detection, and resource usage analysis.

Ready to 🚀, WBU @tobiasKaminsky @marinofaggiana @mpivchev (Please give as much suggestions & let's discuss on this:)
200w (1)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue names no files, tests, or entry points. Start by reviewing the existing iOS settings, accounts, syncing, and security implementations, then split this broad proposal into scoped work with explicit acceptance criteria and tests before choosing a contribution.

Written by the indexing model from the issue text.

Assessment

Tech stack
swift
Domain
frontend, mobile, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.