Closed Bug 904332 Opened 11 years ago Closed 11 years ago

Cold launch splash need to predictable to 3rd-party app developers

Categories

(Firefox OS Graveyard :: Gaia::System::Window Mgmt, defect)

x86
macOS
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED
1.4 S1 (14feb)

People

(Reporter: timdream, Assigned: timdream)

References

Details

(Whiteboard: [ucid:SystemPlatform41, 1.4, ft:system-platform])

Attachments

(3 files)

Need a defined spec and an implementation to generate an cold launch splash for apps in Firefox OS. With multiple threads and experiments, here is what we should do, for the cold launch splashes:

- It will only show up in cold launch; for warn launch we can show the
app content instantly.
- It will only show up briefly for a few hundred milliseconds, after
the user taps the app icon on home screen and before the first screen
from app.
- It will be show a little bit longer if the app takes a bit more time
to load; but app developers are advised to make the launch as fast as
possible and render their own in-app splash screen if possible.
- For this app cold launch splash, where the system will be render for
the apps, we WILL NOT give the app developers an opportunity to
specify a specific image/HTML/etc. This is due to objections from
WebAPI team, to be future-proof etc.

Marked koi? because predictability is vital for building a successful mobile OS ecosystem.
It is too late to block on new feature work for 1.2, but we should plan for doing this work in 1.3 or beyond.
blocking-b2g: koi? → -
Flags: needinfo?(pdolanjski)
Tim, would this go on your team's backlog, or is it more of a SystemsFE team feature?
Flags: needinfo?(pdolanjski) → needinfo?(timdream)
Alive, please coordinate with SystemFE on this feature if possible.

UX, this is a little fix but it would provide great developer value, please have the icon splash spec defined, thanks.
blocking-b2g: - → 1.3?
Flags: needinfo?(timdream)
Flags: needinfo?(firefoxos-ux-bugzilla)
Flags: needinfo?(alive)
Taken first
Assignee: nobody → alive
Flags: needinfo?(alive)
Assigning to eric
Flags: needinfo?(firefoxos-ux-bugzilla) → needinfo?(epang)
(In reply to jachen from comment #5)
> Assigning to eric

Hey Francis, I'm reassigning to you since an ixd spec is needed for this.  Thanks!
Flags: needinfo?(epang) → needinfo?(fdjabri)
Attached file Proposed UX spec
Flags: needinfo?(fdjabri)
Tim, 

I was a little unsure of the requirements here so please could you check the proposed spec and let me know if this what is needed.

One question (listed in the open issues) - Should there be a maximum period of time for the display of the cold launch splash screen? What action should be performed if the app fails to display its own splash screen/initial screen within the time period allowed?
Flags: needinfo?(timdream)
Flags: needinfo?(epang)
(In reply to Francis Djabri [:djabber] from comment #8)
> Tim, 
> 
> I was a little unsure of the requirements here so please could you check the
> proposed spec and let me know if this what is needed.
> 
> One question (listed in the open issues) - Should there be a maximum period
> of time for the display of the cold launch splash screen? 

We probably need to decide what to do about it after the maximum time had passed before asking this question.

> What action should
> be performed if the app fails to display its own splash screen/initial
> screen within the time period allowed?

Well, for apps coming from the servers, there is already a maximum "server timeout" imposed in every browsers. After that there will be a network error dialog so we don't really need to do anything here.

For local/cached/packaged app it is unlikely the app will failed to load, so don't worry about it.

Thanks for the spec, this is in-line with what has been done. Now we need a visual spec...
Flags: needinfo?(timdream)
Hi Tim, I've attached a visual spec for the UX proposal Francis attached.  I'm not sure if this is what you were looking for.  Let me know if anything else is needed. Thanks!
Flags: needinfo?(epang) → needinfo?(timdream)
(In reply to Eric Pang [:epang] from comment #10)
> Created attachment 828757 [details]
> Cold_launch_visual_spec.png
> 
> Hi Tim, I've attached a visual spec for the UX proposal Francis attached. 
> I'm not sure if this is what you were looking for.  Let me know if anything
> else is needed. Thanks!

That's good, thanks!
Blocks: 908549
Flags: needinfo?(timdream)
It would be nice if we have a new contributor here :)
Whiteboard: [good first bug][mentor=timdream]
blocking-b2g: 1.3? → -
Whiteboard: [good first bug][mentor=timdream] → [good first bug][mentor=timdream][FT:System-Platform]
Whiteboard: [good first bug][mentor=timdream][FT:System-Platform] → [good first bug][mentor=timdream][FT:System-Platform][mentor-lang=zh]
Component: Gaia::System → Gaia::System::Window Mgmt
I would like to take this bug myself but it seems that the resulting patch will conflict with bug 907013? Will do so after after the said bug is landed.
Assignee: alive → timdream
Depends on: app-window-manager
Whiteboard: [good first bug][mentor=timdream][FT:System-Platform][mentor-lang=zh] → [good first bug][mentor=timdream][ucid:SystemPlatform41, 1.4:p2, ft:system-platform][mentor-lang=zh]
blocking-b2g: - → ---
Target Milestone: --- → 1.3 C2/1.4 S2(17jan)
Whiteboard: [good first bug][mentor=timdream][ucid:SystemPlatform41, 1.4:p2, ft:system-platform][mentor-lang=zh] → [ucid:SystemPlatform41, 1.4:p2, ft:system-platform]
Comment on attachment 8347008 [details] [review]
mozilla-b2g:master PR#14628

I decided to steal mock_screen_layout.js from communication app instead because it comes with "tiny" config out-of-box. The one in System app is kind of empty and I have trouble figuring out how to config it before app_window.js being loaded.
Attachment #8347008 - Flags: review?(alive)
Comment on attachment 8347008 [details] [review]
mozilla-b2g:master PR#14628

r+, first contributor to appWindow.js!
BTW Travis seems unhappy with activityWindow test.
It looks like activity_window_test is using mock_app_window but it shouldn't be...
Attachment #8347008 - Flags: review?(alive) → review+
Comment on attachment 8347008 [details] [review]
mozilla-b2g:master PR#14628

After trying hard to resolve unit test failure, I don't think it's possible to ensure the load time of MockScreenLayout to be always before app_window.js in the testing environment. So I decided to query the value when the function is called instead. Could you review again, Alive?
Attachment #8347008 - Flags: review+ → review?(alive)
Comment on attachment 8347008 [details] [review]
mozilla-b2g:master PR#14628

+++
Attachment #8347008 - Flags: review?(alive) → review+
master: https://github.com/mozilla-b2g/gaia/commit/f91da7c884ee77e756604a18df6368fc7e347b62
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Whiteboard: [ucid:SystemPlatform41, 1.4:p2, ft:system-platform] → [ucid:SystemPlatform41, 1.4, ft:system-platform]
Target Milestone: 1.3 C2/1.4 S2(17jan) → 1.4 S1 (14feb)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: