Feedback on the new page banner module

Thank you for adding the new page banner module!

We have several use cases for this module; however, we have concerns regarding user experience. When a Forge app has a page banner in its manifest, it’s rendered on all pages. This means that the iframe with the app code must be loaded first before the app can determine whether the banner should be displayed or not.

While the app code is loading, Confluence shows a large loading spinner. This can cause a significant layout shift, especially if more than one Forge app with a page banner is installed:

Display conditions could partially solve the issue. However, in our case, we need to implement our own business logic to determine whether the banner should be displayed or not.

Since page banners are not primary UI elements, I think that no loading spinner should be shown at all. This would mean that the banner would only affect the UI when content is actually being rendered.

2 Likes

Broadly the loading spinner for Forge apps is very poor UX.

Because they’re using AWS Lambda, every Forge invocation suffers from the cold start problem. So you could have an app that does nothing but return a static line of text and you’ll still see that 90s-era loading spinner for a few seconds.

Rendering needs an overhaul across the board.

Hey @klaussner!
Thanks for this feedback, my team will have a look into this now!
Vicky

1 Like

Thank you, @VickyHu!

I found another example. Some tab bars in Confluence navigate to a different URL, causing the page banners to reload:

Page banner layout shift

Hey @klaussner!
We’ve released a fix for this issue and it’s currently rolling out.
Let me know if any other issues arise!

2 Likes

Thanks a lot, @VickyHu! It works much better now, but I’m afraid the issue is still not completely resolved. Even when an app doesn’t render anything in the page banner, Confluence briefly shows a large empty element. This causes flickering during page loads and navigation.

In this video, slowed down 10x to make the issue more visible, I’m clicking on links in our app. Shortly after navigating, the empty page banner pushes the entire app down by 150 pixels for a few milliseconds: https://youtu.be/UZN8t20BFo8