1) Developers will notice that the splash screen never hides. I think it is worse that the developer thinks that they are doing things right and cannot figure out why it takes 3 whole seconds to load their app! 2) We can most definitely fix in our own implementation. Like store that it was called and hide when deviceready is called or similar.
Tools should be written to help with these things ie. the tool can check whether the hide is being called at the right spot etc and warn if not. A good tool should do that instead of adding workarounds in the underlying platform. Tools should educate non-expert developers, point out what they are doing wrong and what they can do better, not trying to cover for their mistakes, and letting them remain bad/non-expert developers indefinitely. If that is not what we are aiming at, the web platform will never succeed as an alternative to native application development. Kenneth On Mon, Dec 30, 2013 at 3:56 PM, Horn, Julian C <julian.c.h...@intel.com> wrote: > Hi Shiliu and Xinchao, > > Here is some rationale for why splash screens need to time out: > > Ideally no app should rely on the splash screen timeout. Any amount of time > you pick will either be too short or too long, both of which are bad. > Unfortunately, programmers are not born understanding splash screens and > knowing how to write code that tears it down at the correct time. I hope it's > obvious that we want to make our tools work well even for non-expert > programmers. > > In the XDK project we have found that developers frequently make one of these > errors: > 1) Forgetting to call the API that hides the splash screen. > 2) Calling the API in a way that doesn't work. For example, in Cordova, > attempting to call navigator.splashscreen.hide() before the deviceready event > arrives can fail. Sometimes people put the call after some other code that > throws an unexpected exception. > > If you don't time out or your time out period is long enough to be annoying > (10 seconds meets this standard), then developers are pretty much forced to > debug these kinds of errors before they can ship their app. That's a bad > thing. The default timeout period for Cordova (and for the Intel XDK API) is > 3 seconds, which seems like a good compromise. > > Users that don't really understand splash screens will want to be able to > change that timeout. If they find the options relating to splash screen in > the package options, then they will expect to find one that changes the > timeout. So while I don't think changing the default timeout period is > really the right approach, I think you should support it. > > Julian > > -----Original Message----- > From: Crosswalk-dev > [mailto:crosswalk-dev-boun...@lists.crosswalk-project.org] On Behalf Of Wang, > Shiliu > Sent: Sunday, December 29, 2013 9:49 PM > To: He, Xinchao; Li, Guangzhen > Cc: crosswalk-dev@lists.crosswalk-project.org > Subject: Re: [Crosswalk-dev] Intent to implement - SplashScreen API for xwalk > based application. > > Even with splash screen, it has a time limit within which it can help improve > user experience. A long time waiting with splash screen is also bad. So a > timeout is reasonable as my understanding. > > But on the other hand, the mechanism to dismiss the splash screen > automatically is very key. > Have you considered following in addition to the two ways you listed? > we also provide API to hide splash screen in js just like cordova, as well as > the api in manifest/package options to turn off automatical dismissing. So > that, if the developer wants things to be perfect on crosswalk, they can use > this approach. > > Thanks, > Shiliu. > > -----Original Message----- > From: He, Xinchao > Sent: Monday, December 30, 2013 10:19 AM > To: Li, Guangzhen > Cc: Zhu, Yongsheng; Wang, Shiliu; crosswalk-dev@lists.crosswalk-project.org > Subject: Re: [Crosswalk-dev] Intent to implement - SplashScreen API for xwalk > based application. > > "Li, Guangzhen" <guangzhen...@intel.com> writes: > >> There are two ways to dismiss SplashScreen in Cordova >> 1) App developers can decide when close splash screen by js : >> navigator.splashscreen.hide() >> 2) By timeout >> Why we need the timeout, I think it’s the final chance to dismiss the splash >> screen, when there are some errors occurred on Runtime or Web app. >> >> Similar solution for Crosswalk runtime, I think we need to provide two >> ways >> 1) When first visible page occurred, dismiss the SplashScreen (By some >> mechanism in runtime) >> 2) By timeout >> Or the timeout can't be configured by the users, Can we make it build-in >> (few seconds)? > > There is another way to achieve this, when finished loading or error > occurred, dismiss the splash screen, but I really do not think it's needed to > hide the splash screen when error occurred in Runtime or apps. If using > timeout, a blank screen might be displayed for a while when loading a huge > application on a very slow device. > >> >> -----original Message----- >> From: He, Xinchao >> Sent: Friday, December 27, 2013 4:37 PM >> To: Li, Guangzhen >> Cc: Zhu, Yongsheng; Wang, Shiliu; >> crosswalk-dev@lists.crosswalk-project.org >> Subject: Re: [Crosswalk-dev] Intent to implement - SplashScreen API for >> xwalk based application. >> >> For Crosswalk runtime model side, I don't think we need a "timeout" >> property here, the WRT should decide how long will the splash screen >> displaying, and for different device, the timeout value should be also >> different, given a fixed splash screen timeout value is not an acceptable >> solution I think. >> >> >> "Li, Guangzhen" <guangzhen...@intel.com> writes: >> >>> Thanks for your review for Tizen side. >>> Below is just my draft proposal, need to get more feedback and discussion >>> from both sides. >>> The images for xhdpi/hdpi/mdpi/ldpi are both optional in Android. >>> Agree with you, we can provide only land/port firstly. >>> >>> The proposal changed to: >>> >>> “splashscreen”: { >>> “landscape”: “splashscreen_land.png”, >>> “portrait”: “splashscreen_port.png”, >>> "timeout": "3000" >>> } >>> >>> I have add another item "timeout" >>> >>> Any comments? >>> > > -- > Best Regards, > He, Xinchao > _______________________________________________ > 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