Hi Guangzhen,
Your splashscreen proposal in manifest.json looks like an Android style, what's
about Tizen and other platforms? IMO, only have one or at most two (port/land)
images defined in splashscreen field should be more reasonable, and in Crosswalk
Android port, such kinds of images (xhdpi/hdpi/mdpi/ldpi) should be generated by
make_apk.py at application package build time. WDYT?

"Li, Guangzhen" <guangzhen...@intel.com> writes:

> Hi Shiliu,
>
>   Below is my plan:
>
>   There should be a configuration in manifest.json
>
>    Such as
>
>    ….
>
>    “splashscreen”: {
>
>        “land-xhdpi”: “splashscreen_land_xhdpi.png”,
>
>        “port-xhdpi”: “splashscreen_port_xhdpi.png”,
>
>        “land-hdpi”:   “****.png”,
>
>        “land-ldpi”:   “****.png”,
>
>        “land-mdpi”:   “****.png”,
>
>        “port-hdpi”:   “****.png”,
>
>        “port -ldpi”:   “****.png”,
>
>        “port -mdpi”:   “****.png”
>
>    }
>
>    ….
>
>    We can copy these png files to each drawable folder such as 
> [drawable-land-xhdpi] with same file name splashscreen.png.
>
>    In the template project code, we use the same resources like 
> R.drawable.splashscreen, System will automatically switch the resources when 
> orientation changed.
>
>    If no “splashscreen” provided in configuration, we need to change the code 
> by script.
>
>  There are currently some source code in XWalk_app_template will be modified 
> by  make_apk.py at build time, So I think it’s workable.
>
> From: Wang, Shiliu
> Sent: Thursday, December 26, 2013 2:14 PM
> To: Li, Guangzhen; crosswalk-dev@lists.crosswalk-project.org
> Subject: RE: [Crosswalk-dev] Intent to implement - SplashScreen API for xwalk 
> based application.
>
> Hi, Guangzhen
>
> Thanks for the very great summarize.
>
> For the orientation part, if doing it manually,
>
> 1.       images with same file name need to be put under different drawable 
> folder for landscape/portrait, maybe multiple resolution as well.
>
> 2.       Replace the R.drawable.xxx used in java code.
>
> How do you plan to automate it with script?
>
> Thanks,
>
> Shiliu.
>
> From: Crosswalk-dev 
> [mailto:crosswalk-dev-boun...@lists.crosswalk-project.org] On Behalf Of Li, 
> Guangzhen
> Sent: Wednesday, December 25, 2013 10:02 PM
> To: crosswalk-dev@lists.crosswalk-project.org
> Subject: Re: [Crosswalk-dev] Intent to implement - SplashScreen API for xwalk 
> based application.
>
> Hi all,             
>
>   Thanks Junmin for pre-investigation and I will follow up with this topic.
>
>   Below tests are about white screen during start up based on 
> crosswalk-4.32.59.0
>
>   Device: Samsung GT-P5210 (1.6GHZ Intel Atom Z2560 1GB RAM)
>
>   Android 4.2.2
>
>   Test Page:  <html><body>test</body></html>
>
>   App mode: embedded
>
> Steps of app startup which will display white screen:
>
> Step 1   App load by system (From tap the app icon to         ~300 ms       
>          App:onCreate() called)                                             
>                                                                             
> Step 2   XWalk initialization (load library, resources)       ~650 ms       
>                                                                             
> Step 3   Display web page (after loadUrl)                     ~600 ms       
>                                                                             
>                                                               ~1.55s        
>
> When the page is more complex, the time of Step 1 – Step 2 will be no much 
> difference. The difference is on Step 3
>
> So some apps which will take around 5s or more to start up is mainly caused 
> by the complexity of its contents.
>
> Current widely used Solutions :
>
> (1)     All the things about splash screen done by HTML + JS (Lazy loading)
>
> The solution can not cover the 3 steps described above, the minimum time of 
> white screen will be still 1.55s
>
> (2)     Cordova API for splash screen
>
> About Cordova solution, It will display a Dialog (contains splash screen 
> image) before loading the HTML page.
>
> The Dialog(splash screen) will be hidden when 
> js“navigator.splashscreen.hide()” called or reach the timeout.
>
> This solution will only cover the Step 3, the minimum time of white screen 
> will be still 950ms
>
> Suggestion to display Splash screen in Android XWalk:
>
> (1)     For the Step 1:
>
> I have tested to add window background for the app, the background image will 
> be displayed immediately and disappeared in Step 2, so it will be used as 
> splash screen for this step.
>
> (2)     For the Step 2- Step 3:
>
> We can follow Cordova spec, display a splash screen dialog before initialize 
> XWalk. And hide this in Step 3 or by timeout.
>
> Because not all XWalk users use Cordova, we need to add this feature in our 
> XWalk.
>
> I have tested to set same image for (1) and (2), I can’t feel it’s two images.
>
> For the orientation concern, web developers need to provide different named 
> images, and Android will handle which image to display.
>
> Implementation Details:
>
> (1)     Add configuration in manifest.json to enable/diable splash screen, 
> provide the images
>
> (2)     Add Cordova like splash screen implementation in our 
> xwalk_app_template
>
> (3)     Export js extension to hide splash screen or use other mechanism, 
> need to be further investigation.
>
> (4)     Integrate with XDK
>
> Any comments about this?
>
> Br.
>
> Guangzhen
>
> -----Original Message-----
> From: Crosswalk-dev 
> [mailto:crosswalk-dev-boun...@lists.crosswalk-project.org] On Behalf Of 
> Kenneth Rohde Christiansen
> Sent: Tuesday, December 24, 2013 6:51 PM
> To: Zhu, Yongsheng; Kostiainen, Anssi
> Cc: crosswalk-dev@lists.crosswalk-project.org
> Subject: Re: [Crosswalk-dev] Intent to implement - SplashScreen API for xwalk 
> based application.
>
> OK, let me summarize.
>
> We do need some splash screen support due to legacy Tizen support.
>
> Splash screen support needs to be done really well, ie. fade out splash 
> screen, fade in app when done loading etc. This needs to be iOS quality. It 
> probably needs to work with multiple orientations as well.
>
> I report on how this works on iOS and other platforms would be useful.
>
> @Anssi, do you know if Marcos did some research in this area for the Manifest 
> work?
>
> Splash screen (legacy) needs to support the resolutions currently supported 
> by Tizen, but we might need to find out what to do for the future where we 
> want to support all kind of densities, screen sizes etc, for which HTML/CSS 
> is a
> natural fit.
>
> Having Crosswalk preloaded or similar on Tizen would limit the time it takes 
> to load external libraries etc and for non-legacy Crosswalk support, we 
> should not just jump on the splash screen bandwagon without good reason. That 
> means
> reason enough to convince the W3C SysApps working groups that this is needed.
>
> For non-legacy Crosswalk we need to experiment with HTML/CSS splashscreens 
> and developer guidelines. If there is no way we can optimize the start up 
> enough for avoid adding splash screens, we can add them, but then we need to 
> have a
> nice and good solutions to dealing with multiple screen resolutions/densities 
> and sizes/orientations.
>
> Kenneth
>
> On Tue, Dec 24, 2013 at 5:45 AM, Zhu, Yongsheng <yongsheng....@intel.com> 
> wrote:
>
>>> IMO, it is needed anyway, just because we want people to be able to
>
>>> port existing applications with minimal effort, and that includes
>
>>> both ones that have a 'heavy' first page, and those that already have
>
>>> a splashscreen (for whatever reason).
>
>> Yes, that's what I want to emphasize. Supporting existing web apps is very 
>> important.
>
>> 
>
>>> > whole. As for the shared process mode, it would benefit Tizen and
>
>>> > Linux but I'm not sure for the Android case. so, there is a long
>
>>> > way to go, and before everything is optimized and perfect we need a
>
>>> > solution for improving user experience.
>
>> About the shared process mode, we don't use it so it won't benefit Android 
>> port.
>
>> 
>
>> Yongsheng
>
>> 
>
>> 
>
>>> -----Original Message-----
>
>>> From: Crosswalk-dev
>
>>> [mailto:crosswalk-dev-boun...@lists.crosswalk-project.org]
>
>>> On Behalf Of Max Waterman
>
>>> Sent: Tuesday, December 24, 2013 10:49 AM
>
>>> To: crosswalk-dev@lists.crosswalk-project.org
>
>>> Subject: Re: [Crosswalk-dev] Intent to implement - SplashScreen API
>
>>> for xwalk based application.
>
>>> 
>
>>> On 24/12/13 10:29, Ming, Bai wrote:
>
>>> > So, the core idea is that, if we want to drop the support of splash
>
>>> > screen, can we guarantee that, no matter how big, how complicated
>
>>> > the application is, we can display the 1st screen to user within a
>
>>> > acceptable delay. If we can't, the splash screen is definitely needed.
>
>>> 
>
>>> 
>
>>> IMO, it is needed anyway, just because we want people to be able to
>
>>> port existing applications with minimal effort, and that includes
>
>>> both ones that have a 'heavy' first page, and those that already have
>
>>> a splashscreen (for whatever reason).
>
>>> 
>
>>> Max.
>
>>> 
>
>>> 
>
>>> 
>
>>> > Though I'm not talking about some bad behaved application that puts
>
>>> > everything into the 1st screen, real life cases would be
>
>>> > applications that's kind of big, but the 1st screen is relatively
>
>>> > simple, so It needs some optimization to make xwalk not loading the
>
>>> > application as a whole. As for the shared process mode, it would
>
>>> > benefit Tizen and Linux but I'm not sure for the Android case. so,
>
>>> > there is a long way to go, and before everything is optimized and
>
>>> > perfect we need a solution for improving user experience.
>
>>> >
>
>>> > - Ming, Bai
>
>>> >
>
>>> > On 12/24/2013 09:49 AM, Zhu, Yongsheng wrote:
>
>>> >> Oh, yes, it's a simple case. The problem becomes severe for real
>
>>> >> web apps like games.
>
>>> >> For complexity cases, it shows a white screen in several seconds
>
>>> >> for some web apps(one user reports 5 seconds for his game).
>
>>> >> Specially for Android, since there is no zygote process of
>
>>> >> crosswalk, it takes longer time compared to the shared mode on Tizen.
>
>>> >>
>
>>> >> Yongsheng
>
>>> >>
>
>>> >>
>
>>> >>> -----Original Message-----
>
>>> >>> From: Ming, Bai
>
>>> >>> Sent: Tuesday, December 24, 2013 9:47 AM
>
>>> >>> To: Zhu, Yongsheng
>
>>> >>> Cc: crosswalk-dev@lists.crosswalk-project.org
>
>>> >>> Subject: Re: [Crosswalk-dev] Intent to implement - SplashScreen
>
>>> >>> API for xwalk based application.
>
>>> >>>
>
>>> >>> very simple and basic html page, <body>hello world</hello> that's
>
>>> >>> it. no js, no css..
>
>>> >>> One thing we should take into consideration is the shared process mode.
>
>>> >>> It can greatly improve the loading speed of an application If enabled.
>
>>> >>>
>
>>> >>> - Ming, Bai
>
>>> >>>
>
>>> >>> On 12/24/2013 09:41 AM, Zhu, Yongsheng wrote:
>
>>> >>>> Thanks for the data. Which kind of test cases are you using? It
>
>>> >>>> depends on the
>
>>> >>> complexity of web apps.
>
>>> >>>> Yongsheng
>
>>> >>>>
>
>>> >>>>> -----Original Message-----
>
>>> >>>>> From: Crosswalk-dev
>
>>> >>>>> [mailto:crosswalk-dev-boun...@lists.crosswalk-project.org]
>
>>> >>>>> On Behalf Of Ming, Bai
>
>>> >>>>> Sent: Tuesday, December 24, 2013 9:42 AM
>
>>> >>>>> To: crosswalk-dev@lists.crosswalk-project.org
>
>>> >>>>> Subject: Re: [Crosswalk-dev] Intent to implement - SplashScreen
>
>>> >>>>> API for xwalk based application.
>
>>> >>>>>
>
>>> >>>>> I've a done a test several months before for my shared process
>
>>> >>>>> mode patch, by loading a simple html hello world page:
>
>>> >>>>> current: about 1.5s
>
>>> >>>>> shared mode: about <1s
>
>>> >>>>> it's on Tizen/PR3
>
>>> >>>>>
>
>>> >>>>> - Ming, Bai
>
>>> >>>>>
>
>>> >>>>> On 12/24/2013 09:26 AM, Wang, Shiliu wrote:
>
>>> >>>>>> Creating splashscreen using JS can't cover the period of time
>
>>> >>>>>> that xwalk spend
>
>>> >>>>> to load native library and resources. Guangzheng/Junmin, could
>
>>> >>>>> you provide the data that how long it cost normally?
>
>>> >>>>>> Thus, splash screen isn't that user unfriendly, at least it's
>
>>> >>>>>> better than a black
>
>>> >>>>> screen/white screen at application's startup time. As long as
>
>>> >>>>> it keeps for a reasonable time.
>
>>> >>>>>> Thanks,
>
>>> >>>>>> Shiliu.
>
>>> >>>>>>
>
>>> >>>>>> -----Original Message-----
>
>>> >>>>>> From: Crosswalk-dev
>
>>> >>>>>> [mailto:crosswalk-dev-boun...@lists.crosswalk-project.org] On
>
>>> >>>>>> Behalf Of Kenneth Rohde Christiansen
>
>>> >>>>>> Sent: Monday, December 23, 2013 7:34 PM
>
>>> >>>>>> To: Waterman, Max
>
>>> >>>>>> Cc: <crosswalk-dev@lists.crosswalk-project.org>
>
>>> >>>>>> Subject: Re: [Crosswalk-dev] Intent to implement -
>
>>> >>>>>> SplashScreen API for xwalk
>
>>> >>>>> based application.
>
>>> >>>>>> I think that is why there should be some max time before
>
>>> >>>>>> initial layout finished,
>
>>> >>>>> like say 300ms. If the app didn't finish initial layout at that
>
>>> >>>>> time the window will show anyway. That way you should have time
>
>>> >>>>> to show a simplified UI of your app, or a splashscreen (done
>
>>> >>>>> with JS
>
>>> >>>>> + some background picture etc), and badly behaved apps will
>
>>> >>>>> + still
>
>>> >>>>> show up quickly, though their use experience won't be that good.
>
>>> >>>>>> Also when creating a splashscreen you most often want it to
>
>>> >>>>>> fade nicely into your read UI. That is what happens on iOS and
>
>>> >>>>>> is possible to do with creating the splashscreen manually
>
>>> >>>>>> using JS and HTML/CSS
>
>>> >>>>>>
>
>>> >>>>>> On Mon, Dec 23, 2013 at 12:11 PM, Max Waterman
>
>>> >>>>>> <max.water...@intel.com>
>
>>> >>>>> wrote:
>
>>> >>>>>>> On 23/12/13 17:50, Kenneth Rohde Christiansen wrote:
>
>>> >>>>>>>> A combination of those two methods might be a better
>
>>> >>>>>>>> solution, or could at least be researched.
>
>>> >>>>>>> IMO, that sounds like a much better solution.
>
>>> >>>>>>>
>
>>> >>>>>>> Splashscreens always seemed like a bit of a cludge to me -
>
>>> >>>>>>> just covering up slowness that should be made faster or
>
>>> >>>>>>> removed completely.
>
>>> >>>>>>>
>
>>> >>>>>>> I do wonder how it would look to a user though - if the app
>
>>> >>>>>>> is particularly slow to start, then it will look as if the
>
>>> >>>>>>> user hasn't tapped the app icon properly and result in
>
>>> >>>>>>> him/her tapping multiple times?
>
>>> >>>>>>>
>
>>> >>>>>>> Worth looking into, though, for sure.
>
>>> >>>>>>>
>
>>> >>>>>>> I hope someone is looking into how to minimise the time from
>
>>> >>>>>>> the first tap on the app's icon to the app actually starting
>
>>> >>>>>>> - imo, that's the real
>
>>> >>>>> issue.
>
>>> >>>>>>> Max.
>
>>> >>>>>>>
>
>>> >>>>>>> _______________________________________________
>
>>> >>>>>>> Crosswalk-dev mailing list
>
>>> >>>>>>> Crosswalk-dev@lists.crosswalk-project.org
>
>>> >>>>>>> https://lists.crosswalk-project.org/mailman/listinfo/crosswal
>
>>> >>>>>>> k-d
>
>>> >>>>>>> ev
>
>>> >>>>>> --
>
>>> >>>>>> Kenneth Rohde Christiansen
>
>>> >>>>>> Web Platform Architect, Intel Corporation.
>
>>> >>>>>> Phone  +45 4294 9458 ﹆﹆﹆
>
>>> >>>>>> _______________________________________________
>
>>> >>>>>> Crosswalk-dev mailing list
>
>>> >>>>>> Crosswalk-dev@lists.crosswalk-project.org
>
>>> >>>>>> https://lists.crosswalk-project.org/mailman/listinfo/crosswalk
>
>>> >>>>>> -de v _______________________________________________
>
>>> >>>>>> Crosswalk-dev mailing list
>
>>> >>>>>> Crosswalk-dev@lists.crosswalk-project.org
>
>>> >>>>>> https://lists.crosswalk-project.org/mailman/listinfo/crosswalk
>
>>> >>>>>> -de
>
>>> >>>>>> v
>
>>> >>>>> _______________________________________________
>
>>> >>>>> Crosswalk-dev mailing list
>
>>> >>>>> Crosswalk-dev@lists.crosswalk-project.org
>
>>> >>>>> https://lists.crosswalk-project.org/mailman/listinfo/crosswalk-
>
>>> >>>>> dev
>
>>> >
>
>>> > _______________________________________________
>
>>> > Crosswalk-dev mailing list
>
>>> > Crosswalk-dev@lists.crosswalk-project.org
>
>>> > https://lists.crosswalk-project.org/mailman/listinfo/crosswalk-dev
>
>>> 
>
>>> _______________________________________________
>
>>> Crosswalk-dev mailing list
>
>>> Crosswalk-dev@lists.crosswalk-project.org
>
>>> https://lists.crosswalk-project.org/mailman/listinfo/crosswalk-dev
>
>> _______________________________________________
>
>> Crosswalk-dev mailing list
>
>> Crosswalk-dev@lists.crosswalk-project.org
>
>> https://lists.crosswalk-project.org/mailman/listinfo/crosswalk-dev
>
> --
>
> Kenneth Rohde Christiansen
>
> Web Platform Architect, Intel Corporation.
>
> Phone  +45 4294 9458 ﹆﹆﹆
>
> _______________________________________________
>
> Crosswalk-dev mailing list
>
> Crosswalk-dev@lists.crosswalk-project.org
>
> https://lists.crosswalk-project.org/mailman/listinfo/crosswalk-dev
>
> _______________________________________________
> Crosswalk-dev mailing list
> Crosswalk-dev@lists.crosswalk-project.org
> https://lists.crosswalk-project.org/mailman/listinfo/crosswalk-dev

-- 
Best Regards,
He, Xinchao
_______________________________________________
Crosswalk-dev mailing list
Crosswalk-dev@lists.crosswalk-project.org
https://lists.crosswalk-project.org/mailman/listinfo/crosswalk-dev

Reply via email to