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