WebXDC dynamic preview & click listeners (inline apps)

I could think of use cases, but not specifically ones that you have listed. For many use cases, a huge amount of UX redesign would be needed.

If a group chat where people are having conversations also includes chess and a card game attached, it would be a kludge if the player had to open the group and manually scroll back to the “right” position where the game is every time to be able to make their next move. People rather click on the docked app icon next to the subject (on desktop) or select the app from the app drawer panel. Clicking either one will already open the game full screen. Making a tiny icon in the former case interactive would not make sense, and making the still small thumbnail in the latter interactive would still not feel right.

If you wanted to “pin” webxdc messages (subject to further development) so you would not need to scroll back manually, its interface would probably just be a duplicate for what is already available (either the subject xdc icons or the existing app drawer).

If a group has many apps, loading each and every one of them every time you switch to that group or as you scroll the timeline is very resource consuming. Each sandbox consumes quite a bit of memory and a huge CPU load and delay on startup on most platforms.

Even if you only loaded ones you have already interacted with in the past, you probably don’t want the chat to lag due to a concluded poll or finished game that you would not want to open again anyway.

There are quite a lot of other questions you need to answer before you proceed with this.

I mentioned my personal use cases in the other topics for this personally: one would be replacing huge throw-away raster videos with programmable animation that others can realistically fork & improve later. The other is for controlling native webxdc. Additionally, I would value such a feature for previewing unfamiliar webxdc before loading, such as reading through the poll options to decide whether I need to open it or not, but that only works with strict isolation that I have outlined.