Skip to content

UI Redesign #81

Open
Open

Description

@skjiisa

Originally the redesign was being done in SwiftUI in #79, but there are too many performance issues. I don't think SwiftUI was designed to draw this many shapes on screen at once. Unless there's something else I'm doing wrong idk.

The more days I would add the laggier it would get, even with LazyVStacks. The current app goes back 1 year, but I kept having to cut that number down as more features were added to the redesign.

My current plan is to more-or-less start over, using the same design, but implementing it in UIKit. Doing it with a UITableView would allow me to reuse the rows for much better performance and allow an indeterminate number of days in the backlog.

Activity

  1. added this to the v1.3 milestone on Dec 2, 2021
  2. added 2 commits that reference this issue on Dec 15, 2021
  3. skjiisa commented on Mar 7, 2022

    @skjiisa
    OwnerAuthor
  4. added a commit that references this issue on Mar 22, 2022
  5. added a commit that references this issue on Apr 23, 2022
  6. added 2 commits that reference this issue on Oct 11, 2022
  7. skjiisa commented on Oct 11, 2022

    @skjiisa
    OwnerAuthor

    What's still left to be done in feature/#81/page-view

    • Support "multiple" tracks
    • Respond to changes to tracks in a track row
    • Week separators
    • Track buttons
    • Add haptics
    • Load groups
    • Add navigation to the settings and Tracks list
    • Respond to the clock changing to a new day
    • Add the new UI as the root view

    Edit: also changes from feature/#81/ui-rewrite-iOS-16, minus the iOS 16-only changes, and I think I've decided to revert those.

  8. added a commit that references this issue on Oct 11, 2022
  9. added 2 commits that reference this issue on Dec 14, 2022
  10. added 7 commits that reference this issue on Jan 6, 2023
  11. skjiisa commented on Jan 9, 2023

    @skjiisa
    OwnerAuthor

    OK so I created feature/#81/ui-rewrite-iOS-16 which would set the minimum version to iOS 16 so I could use UIHostingConfiguration on table view cells. This was cuz I was lazy about finishing the UI implementation, and better to get something out that only supports iOS 16+ than not get anything out at all. Well now I'm realizing that the only things I had remaining in the UIKit implementation were responding to group changes and supporting "multiple" Tracks. The header can be loaded using a UIHostingController on iOS 14+. So it might actually not be too bad to revert that one change and go back to supporting iOS 14.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementImprove the user experience

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions