Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Startup Image / Animation support would be nice #151

Open
kaystrobach opened this issue Nov 7, 2012 · 142 comments
Open

Startup Image / Animation support would be nice #151

kaystrobach opened this issue Nov 7, 2012 · 142 comments

Comments

@kaystrobach
Copy link

Hello Guys,

as loading a packaged app takes some seconds, i would like to see a simple startup image during loading (e.g. a png or something similar).

Is there a way to achieve that?

I would have expected it as setting in the package.json file ;)

Regards
Kay

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

@NRABrasil
Copy link

I want this too!

@pmaroncelli
Copy link

That would be a nice to have feature.

@pauliusuza
Copy link

I think you can easily achieve this right now using two application windows: the first windows to load is chrome-less and contains only a splash image and an asynchronous loader for your assets and main application code for the second window.

You show the main application window when all assets are loaded and DOM of the main application window is ready.

Will try this later today.

@kaystrobach
Copy link
Author

mhmm, not exactly what i want ;)

I mean sth. like this:

  1. click build app.exe (or move zip on nw.exe).
  2. unpack package.json get image
  3. unpack show image
  4. unpack all
  5. launch app, now i can show the window you suggested ;)
  6. lauch main app

The timeframe between step 1 and 3 should be less than a half second.
The timeframe between 1 and 5 / 6 can be a minute or more with big applications zip files ;) .

@pauliusuza
Copy link

yes, if unpack is causing the delay it makes sense. In my case it's the js pre-processing that's causing majority of the delay

@kaystrobach
Copy link
Author

super, is there any chance to get this implemented?

@zcbenz
Copy link
Contributor

zcbenz commented Nov 8, 2012

I'll implement it in v0.3.4.

@kaystrobach
Copy link
Author

thanks in advance :D

@rogerwang
Copy link
Member

this is now likely to slip to the next version

@gavrochelegnou
Copy link

any chance to see this splashscreen stuff soon ?
Thanks a lot !

@sindresorhus
Copy link

Agh, please don't add this... Splash screens is a huge annoyance to users. OSes already have built-in ways to show when an app is loading, eg OS X with bouncing dock icon.

@kaystrobach
Copy link
Author

not all os show that fast and reliant.

the splash was never intended as a must, but is really sensefull as first reaction during loading a big application. One Application of mine has about 20MB of JavaScript + Images and other stuff, so the startup takes a while and a splash was requested by the user ;D

@sindresorhus
Copy link

splash was requested by the user

There could be one vocal user that wants it and thousands that don't.

@kaystrobach
Copy link
Author

You simply do not catch the point!

The feature I request is to have a startup screen, if the developer want's it!
I do not want any enforcement to have a splash screen.
I also never asked to force developers to implement a splash screen!

So please stop complaining, do not use this feature and there should be no noticeable change for you! The discussion is senseless! - This is the last answer you get from me!

@sindresorhus
Copy link

I'm just giving you a users perspective on it. I have no say in what gets implemented or not. I just feel there are more important features that could be added than those which will degrade the user experience when used.

@kaystrobach
Copy link
Author

ok, than sorry.

i had up to 30 secs of loading time, and my users asked me if the application dies during startup, as windows does not show any good indicator, which states, that the application is still loading 💃

So from my perspective the splash screen is an improvement for the usability.

I also agree to your opinion, for the case, that the application can technically start instantly. If possible loading should be as fast as possible, but the user should also get an idea on how long loading will take.

@iondisc
Copy link

iondisc commented Apr 3, 2013

Has any progress been made on this option? I too have an app that takes some time to load and my client would like some indication that something is happening so their users don't just keep clicking till something happens.

@ShivaanKeldon
Copy link

I vote for that too. A stratup image would be great for my game "launch time" ^^

@bendi
Copy link

bendi commented Jun 2, 2013

I have the same problem - my zipped app has smth around 10MB and until it's unzipped nothing happens, no indicator is shown under windows, so a splash screen or anything to show user that application is starting would be nice.

@katanacrimson
Copy link

-1 - if the user is concerned if the application is starting, they can check a task manager, ps aux, or any number of process listings.

@iondisc
Copy link

iondisc commented Jun 22, 2013

Damianb, do you really think most "average" users know of such things, or have the patience?

@katanacrimson
Copy link

Many are patient enough for applications to load, yes. Please stop with the passive-aggressive behavior.

@iondisc
Copy link

iondisc commented Jun 22, 2013

My apologies if I came across "passive-aggresive" damianb, I was genuinely curious if you believed in what you had suggested. Personally I disagree with you, but that's my opinion as I don't currently have data at hand to support it so let's not argue over it.

I would rather discuss the issue that some of these apps can take a long time to load with NO "apparent" indication that anything is happening. Rather than ignore the user experience and hope they know how to find out if anything is happening, risk losing their attention all together or worse frustrate them, I would like to take action to make their experience better.

I believe we need a solution that provides A) Some indication that the app is loading and B) A splash screen to brand your app.

@kevsmt
Copy link

kevsmt commented Jun 22, 2013

This is actually does not need an argument, this should or have built-in upon building node-webkit. Every Enterprise or how simple it is and it contains lots of unpacking, splash or branding is always an option.

@kaystrobach
Copy link
Author

as it should not be a must, i can't see, why someone is fighting this FEATURE. All my customers where is used node-webkit asked for any indicator during the loading of the Application.

@YurySolovyov
Copy link

why not just provide some lightweight startup page with loading indicator, and load heavy resorurces async?

@kaystrobach
Copy link
Author

take a look here, it's the unpacking, which causes the delay.

#151 (comment)

@gavrochelegnou
Copy link

because :

  • even if our first page is very light, node-webkit can be very slow to load for heavy .nw/.app files.
  • it would be a huge pita to handle correctly from html/js code ...

@YurySolovyov
Copy link

ok, got it, i think it could be possible to implement it simmilar to how window icon is done.

also, api for displaying some text over splash image would be also nice, but this is optional.

@tocttou
Copy link

tocttou commented Jan 29, 2016

+1 for the splash screen. More than 3 years for this issue and still not solved!

@nofear87
Copy link

nofear87 commented Mar 7, 2016

+1 for splashscreen

@remss
Copy link

remss commented Apr 1, 2016

Stop using package.nw then your nwjs will start very fast.
By the way Electron does not have this issue with their uncompressed asar archive, so maybe nwjs should do the same...

@nofear87
Copy link

nofear87 commented Apr 1, 2016

I have packed it with Enigma VM. The Problem are the mass of files in node modules. For example when using emailjs.

@pablozandona
Copy link

+1

@kaystrobach
Copy link
Author

I kust switches to electron becuse of this ...

@angularchobo
Copy link

+1 for splash screen

With a 300mb app (nwjs 0.17.4) loading time on Win7 x64 is ~30-35 seconds even when my zip file is uncompressed. This amounts to a horrible user experience.

Splash screen is a super simple solution to a problem many people have had for apparently 4 years and people who don't need it can simply not use it.

@armoret
Copy link

armoret commented Oct 18, 2016

+1

Splash screen is still a useful and needed feature that help users to wait during application startup/unpacking/loading/rendering : just consider it is well used by Microsoft for Office programs!

@offshore
Copy link

Another +1.

@uiliw
Copy link

uiliw commented Oct 20, 2016

passed 4 years and nothing, for those who are looking for an (better) alternative here it is: http://electron.atom.io/

@wisniewski94
Copy link

+1 for the splash screen during unpacking

@kaystrobach
Copy link
Author

Hi Keshav, please read #151 (comment) have fun ...

@blaremc
Copy link

blaremc commented Jan 26, 2017

+1

@jobeninc
Copy link

jobeninc commented Jul 3, 2017

I also would like to identify a justifiable reason this feature should be implemented.

Factors outside of our control require our NW application to be delivered on a network share drive and executed by the customers on windows computers directly from the network drive. Each customer has varying levels of connectivity and can take a long time for a basic nw.js Hello World application without compression to show the first sign of something happening. Unfriendly customer policies do not allow users to copy the entire to their local computer to execute locally.

I created a quick experiment to highlight the issue for field deployments of the absolute minimum NW.js application. This assumes no unpacking is required

Starting with the NWJS-v0.23.3-win-x64.zip download, I added the following index.html file and removed unused *.pak files from the locales folder.

<!DOCTYPE html>
<html>
<head>
<title>Hello World!</title>
</head>
<body>
<h1>Hello World!</h1>
We are using node.js.
</body>
</html>

The resulting application is ~127MB in size.

It appears that at least the (nw.exe & nw.dll) ~94MB must be downloaded in its entirety before any window is displayed.

Measured on a 100 Mbit/s LAN, the average time before displaying the hello world window was approximately 10 seconds.

Measured on the same LAN connected via wireless, the average time before displaying the hello world window was approximately 60 seconds.

These time periods would not be a problem if a splash screen was first loaded to indicate that the application is loading. Is there is plan to breakup the the application components in a manner that could support downloading the minimum to display a splash screen prior to loading the rest of the nw components and the main application? Otherwise, does anyone have a workaround for displaying an external splash screen via a sister application that is removed after the NW app is loaded?

Thanks. BTW, great work on NW. It is awesome and your work is much appreciated.

@Xsmael
Copy link

Xsmael commented Jul 9, 2017

+1 for the splash screen verry handy !

@Patrique
Copy link

Patrique commented Aug 1, 2017

+1 for the splash screen

@navjotdhanawat
Copy link

+1

2 similar comments
@Xsmael
Copy link

Xsmael commented Sep 1, 2017

+1

@mrfenix
Copy link

mrfenix commented Sep 6, 2017

+1

@geolffreym
Copy link

spash!!!! screeen!!!

@freeyland
Copy link

+1

2 similar comments
@ernanielyjr
Copy link

+1

@aggregate1166877
Copy link

+1

@IssueHuntBot
Copy link

@BoostIO funded this issue with $20. Visit this issue on Issuehunt

@IssueHuntBot
Copy link

@loadbalance-sudachi-kun funded this issue with $256. Visit this issue on Issuehunt

@IssueHuntBot
Copy link

@D3Portillo has started working. Visit this issue on Issuehunt

@IssueHuntBot
Copy link

@D3Portillo has stopped working. Visit this issue on Issuehunt

@i-MaxProfit
Copy link

i-MaxProfit commented Jun 13, 2021

Try to use this one https://github.com/nwutils/nw-splash-screen-example

@ayushmanchhabra
Copy link
Contributor

ayushmanchhabra commented Apr 19, 2023

https://github.com/arthurits/SplashScreen
With a few changes to the source and compiling as Node Native Addon, this looks promising.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests