Skin does not get push notifications - it can only do pull. That's the first part of a problem.
Depending on configuration (mysql, htpc power) skin.widgets execution can take 1,5 - 90 seconds. That is the second part.
Because of the above, if you don't use any checks in the skin, you will initially end up with an empty shelf, even on more powerful htpc (Mac mini in my case). Now, on more powerful machines items will show up upon Home page refresh - i.e. you enter Movies and return back to Home. On RPI that might not suffice because skin.widgets execution may not be finished yet. Obviously, users wonder what is happening and assume it is a skin problem.
Built-in recently added items populate quicker, but than again, users wonder why they can't hide watched items from the shelf, etc.
In order to avoid confusion skin waits - it checks if the flag "I'm finished" has been set by skin.widgets and, if not, it delays showing up the Home page. This check is being performed by XBMC skin engine and it probably runs at 1 check per frame rate.
Question is how to handle this situation but, most probably, there is no nice solution available. My htpc has 1,5 sec delay before showing up Home page so it is not a problem for me but I'm open to suggestions as to how to handle this for other htpcs.
(2013-10-02, 07:32)SpaceMonkey Wrote: [ -> ]Pecinko, do you think a small one time popup informing the user about possible delays after enabling shelves would be too intrusive? I think it's either that or enabling the builtin recent too. Then you get questions how do I enable recommended
You may be right, bringing built-in recent might make confusion ever worse. I could probably make some kind of a busy dialog that would say "preparing shelf items" and it could go away when items are ready BUT it would steel a CPU time on RPi/ATV and would probably delay shelf items a bit.
OR I might be able to send notification instead BUT user does not necessarily need to notice it, especially if you have other notifications popping up on XBMC start.
Easiest solution probably is to leave RPi/ATV htpcs always ON - but that would cost 10$ / year.