Your approach is better for your specific case. For any apps that takes a relatively long time to load, you should show the percentage. Showing time left is quite uncertain. Just take a look at those horrible dialog boxes where they say:
time left: 1 min. Then 45 seconds later:
Time left: 15 minutes. Some time after that:
Time left: 5 seconds. Then a few minutes later:
time left: 2 days. . This is not an exaggeration, this is quite common in downloads or when you're installing something and there's a problem.
So, what you're dealing with is named user expectation:
User Expectations can be defined as expectations concerning a product,
service or a digital asset. When users use apps, websites, or
software, they have different expectations about the product itself
and its associated usage, which is reflected in the dialog design,
user guidance, and achievement of goals. Users have very different
expectations. This includes the click of a button, the need for
information, or an aesthetically consistent design that can also be
accessed on mobile devices.
And your particular case is explained in this great article by Nick Babich: Progress Indicators in Mobile UX Design (it doesn't apply to mobile only!)
= Default loading icons (like the iOS spinner of gray lines radiating from a central point) tend to have negative connotations. They serve a
variety of operating system functions, indicating the status of
everything from device boot to problems connecting to network or
loading a data. Because of that, people don't like to see only a
loading spinner with no indication of progress or time.
Uncertain waits are longer than known, finite waits. Percent-done
progress indicators are the most informative type of wait-animation
feedback. They show the current progress, how much has already been
accomplished, and how much is left. A percent-done indicator makes
users understand how fast the action is being processed.
As a general rule you should use percent-done animation for actions
that take 10 seconds or more.
So there you go!
A minute is a long time for nowadays standards. So I'd recommend to explain the user what is going on, so they understand this is happening for a reason. For example:
- Loading the foo (Completed)
- Fizzbuzzing the foo (Completed)
- Applying foo to foobar (43% Done)
This is also explained in the same article, see image:
the last point in that article could be of interest for you as well:
To ensure people don’t get bored while waiting for something to
happen, offer them some distraction. This can be something fun,
something unexpected or anything else that catches your users’
attention long enough for your app to load. Fine animations can
distract your visitors and make them ignore long loading times.
While loading times are uncertain and usually inaccurate, loading percentages are always correct. You can also mix approaches and show loading percentage AND an estimated time AND steps (with percentage and time), which would cover all bases