Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

975 improve launch sequence #976

Closed
wants to merge 0 commits into from

Conversation

BPerlakiH
Copy link
Collaborator

Fixes: #975

In combination with the library loading improvements gives a way better UX:

iphone_sim_loading_fix.mov

@BPerlakiH BPerlakiH added the iOS label Sep 12, 2024
@BPerlakiH BPerlakiH linked an issue Sep 12, 2024 that may be closed by this pull request
@codecov-commenter
Copy link

codecov-commenter commented Sep 12, 2024

Codecov Report

Attention: Patch coverage is 61.34454% with 46 lines in your changes missing coverage. Please review.

Project coverage is 38.09%. Comparing base (c25cbff) to head (572ea2e).

Files with missing lines Patch % Lines
Views/BuildingBlocks/LoadingView.swift 61.76% 13 Missing ⚠️
App/SplitViewController.swift 15.38% 11 Missing ⚠️
Views/Welcome.swift 73.17% 11 Missing ⚠️
App/CompactViewController.swift 55.55% 8 Missing ⚠️
Views/Library/ZimFilesCategories.swift 0.00% 2 Missing ⚠️
Views/Library/ZimFilesNew.swift 0.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #976      +/-   ##
==========================================
- Coverage   40.00%   38.09%   -1.91%     
==========================================
  Files         114      114              
  Lines        6471     6525      +54     
==========================================
- Hits         2589     2486     -103     
- Misses       3882     4039     +157     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

rgaudin
rgaudin previously approved these changes Sep 13, 2024
Copy link
Member

@rgaudin rgaudin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please provide more details about what this does.
AFAIU, we know have a spashscreen with centered kiwix-logo in lieu of a blank screen when starting the app.
I'm not sure what happens during this time but on my very old an slow iphone, it's visible but not noticeable (compared to other apps).

@kelson42
Copy link
Contributor

My remarks:

  • Please make the visual 50% bigger
  • Make the splash screen dark-mode compatible (with default OS colorsets)
  • @rgaudin Please share the link to the official visuals for both dark and light modse
  • The logo should be displayed the whole time at the exact same place, and "Loadding... " should be displayed in place of the buttons as long as they are not available.

@BPerlakiH
Copy link
Collaborator Author

Please see the updated sequences on all type of devices, we have the combination of portrait / landscape and light / dark modes:


IPHONE

iphone_dark.mov
iphone_light.mov

IPAD

ipad_light_land.mov
ipad_dark_land.mov
ipad_dark_port.mov
ipad_light_port.mov

MAC

mac_os_light.mov
mac_os_dark.mov

@BPerlakiH
Copy link
Collaborator Author

BPerlakiH commented Sep 15, 2024

The logo should be displayed the whole time at the exact same place, and "Loadding... " should be displayed in place of the buttons as long as they are not available.

This is not fully possible on iPad landscape mode:

We have a slight movement of the logo from the splash/landing screen to the loading view on iPad, due to the fact that the welcome screen is shifted by the side navigation panel. Here is a comparison of the "welcome screen" with collapsed / expanded navigation bar:
ipad_2
ipad_1

@BPerlakiH
Copy link
Collaborator Author

BPerlakiH commented Sep 15, 2024

Note: on macOS the launch/splash screen is not supported, so we only have the loading sequence next to the side navigation panel.

@BPerlakiH BPerlakiH added this to the 3.6.0 milestone Sep 15, 2024
@BPerlakiH BPerlakiH changed the title 975 improve iPhone launch sequence 975 improve launch sequence Sep 15, 2024
@BPerlakiH BPerlakiH marked this pull request as draft September 17, 2024 20:48
@BPerlakiH
Copy link
Collaborator Author

BPerlakiH commented Sep 17, 2024

Moved it to draft, please do not merge yet, as the custom app side of this needs to be solved first!

@BPerlakiH
Copy link
Collaborator Author

Looks OK now, I've tested with the DWDS app.

@BPerlakiH BPerlakiH marked this pull request as ready for review September 17, 2024 21:29
@kelson42
Copy link
Contributor

I guess we need real logo now.

@kelson42 kelson42 force-pushed the 975-improve-iphone-launch-sequence branch from 81124df to 2be81f5 Compare September 18, 2024 09:30
@BPerlakiH
Copy link
Collaborator Author

BPerlakiH commented Sep 21, 2024

macOS:

macOS_noLib.mov

@BPerlakiH
Copy link
Collaborator Author

I agree, will tweak the UI.
Also on the same note, things that bothers you (and me), I separated one of those into a new issue, around the naming (not just the button), please see: #990

@kelson42
Copy link
Contributor

@BPerlakiH Agree, after thinking "twice" about it, please remove the sidebar from thensplash screen. That way is clearer.

@@ -110,7 +110,7 @@ struct RootView: View {
private let tabCloses = NotificationCenter.default.publisher(for: NSWindow.willCloseNotification)

var body: some View {
NavigationView {
NavigationSplitView {
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@BPerlakiH
Copy link
Collaborator Author

@kelson42, @rgaudin New recordings of loading sequences:

iPad:

ipad_new.mov

iPhone:

iphone_new.mov

macOS:

mac_os_new.mov

@BPerlakiH
Copy link
Collaborator Author

And this is the loading sequence, when there's already a local ZIM file on iPad:

ipad_with_lib_new.mov

@kelson42
Copy link
Contributor

kelson42 commented Oct 1, 2024

This is not exactly what we discussed, I will come back to you with a mockup so there is no ambiguity anymore on the requirements.

@kelson42
Copy link
Contributor

kelson42 commented Oct 1, 2024

For all screens, the "block" logo + buttons should be perfectly centered
For the Splash screen:

  • In the place of the 2 buttons, perfectly centered in the middle of the place where the two buttons will appear, write "Loading Application..." and the three points should be printed after each other endlessly to show it is progressing)
    image
  • One we leave the splash screen, we should have the same but displaying in place "Loading application...": "Loading Data..."
  • Then finally there is the moment where we display at this place "Fetching Catalog..."
  • Finally, once everything is loaded, then we (migh) display the button like following (in red are spaces to remove):
    image

Remarks:

  • All of this implies that the spinner disappear. The reason is that it seems there is no proper way to have it already running properly at the splash screen level which then create a look & feel disruption.
  • The most important is to not display the buttons before everything is ready
  • I would love to have a solution which is perfectly localisable, but I don't find one so I can leave with this strings been always in English.
  • If you have an alternative in mind to keep consistency and clear description about what is going one between all the boot process (until the two buttons are displayed), please share it.

@BPerlakiH
Copy link
Collaborator Author

@kelson42 I have updated it. Please have a look:

ipad_seq.mov

@kelson42
Copy link
Contributor

kelson42 commented Oct 3, 2024

Buttons don't have the proper width and don't display the buttons "in a flash" if at the end you want to display the library.

@BPerlakiH
Copy link
Collaborator Author

By matching the button width with the logo width, in some languages (eg French) the button label can run over that, and will look:
Simulator Screenshot - iPad Pro (12 9-inch) (2nd generation) - 2024-10-03 at 08 54 04 Medium

@BPerlakiH
Copy link
Collaborator Author

We can make the logo bigger though...
I will need to dig deeper into this, since hard coding the logo size, isn't a good way either, as for custom apps the logo has a different aspect ratio.

@kelson42
Copy link
Contributor

kelson42 commented Oct 3, 2024

We can make the logo bigger though...

Yes, this is still too small to my taste. My feeling is that on an iPhone, it should take around half of the screen width.

@kelson42
Copy link
Contributor

kelson42 commented Oct 6, 2024

@BPerlakiH Don't merge main to the feature branch!

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

Successfully merging this pull request may close these issues.

Improve launch sequence
4 participants