On 27/12/13 15:39, Xinchao He wrote:
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?

I also find myself wondering if I can use an SVG, which would make autogenerating redundant - and would potentially only need one for both landscape and portrait, or at most two, one for each.

I assume the need for multiple resolutions is because of pixelation and layout issues - ie you don't want logos/etc to be stretched into different aspect ratios.

I suppose the 'in between' images might be auto-generated somehow, and if the app. designer is fussy, then they can do a special one when it doesn't look satisfactory (for whatever reason).

I have a particular dislike for using images when it is perfectly possible to draw the same thing using graphics commands, so perhaps you can ignore me here.

Max.


"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

_______________________________________________
Crosswalk-dev mailing list
Crosswalk-dev@lists.crosswalk-project.org
https://lists.crosswalk-project.org/mailman/listinfo/crosswalk-dev

Reply via email to