[
https://issues.apache.org/jira/browse/SHINDIG-1402?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13902669#comment-13902669
]
Chris Spiliotopoulos commented on SHINDIG-1402:
-----------------------------------------------
I give +1 vote on this one - in my opinion this is one of the most important
issues that makes integrators invent various hacks/workarounds on how to get
gadgets on a page load faster providing a seamless UX and maybe the most common
pain point that drives others away from OpenSocial & gadget development.
I'm a strong believer and evangelist of the gadget development (pluggable)
model and I can tell you for sure that it's a hard road to convincing people
about the benefits of fully decoupled software development as I always get
questions regarding iframes and how difficult it is to make them behave well on
a single page. At the moment we've reached a point where we can build
real-time and responsive dashboard gadget apps but it took time and effort and
a custom layer for orchestrating components - through events mostly.
Just a few hours ago I came across a presentation for Advanced OpenSocial dev
and the author stated boldly:
bq. Never, never, never use document.write() calls or bypass the CSS/JS
injection mechanism of the container.
Well, I don't agree - at all. You have to do whatever it takes to provide a
great UX so these type of statements just come to show the weak points that
need to be revisited. And as [~mfranklin] stated. if OpenSocial wants a future
it needs to be up-to-date.
> Rendering Open Social gadgets inline (without an IFrame)
> --------------------------------------------------------
>
> Key: SHINDIG-1402
> URL: https://issues.apache.org/jira/browse/SHINDIG-1402
> Project: Shindig
> Issue Type: New Feature
> Components: Java, Javascript , PHP, Website
> Affects Versions: 2.0.0
> Environment: Should be applicable to any platform Shindig will run
> Reporter: Kris Vishwanathan
> Fix For: 2.5.1
>
> Attachments: inline-initial-port.patch, inline.patch,
> inlineFeature.txt, inline_20100824.patch,
> inline_feature_patch_20101103.patch, patch_20100921.patch
>
> Original Estimate: 672h
> Remaining Estimate: 672h
>
> Kudos to the team who have come up with such an excellent container and the
> success we have in many of the open social networking platforms. OpenSocial
> gadgets IFrame model seems to work great on the web that will let you sandbox
> all the interactions with the back-end. This is especially very cool to
> isolate when you don't have control on each of the gadget sources.
> Background:
> Moving to the enterprise space brings in extra challenges. One such request
> we are seeing is rendering open social gadgets inline. This seems an
> important feature for many situations where gadgets are trusted and
> scalability is a concern. Isolating gadgets with each gadget loading its own
> resources may not be required. I am sure there may be some tricks to
> workaround. But from clean programming model perspective, we would like to
> propose this feature.
> Here are some of the concerns expressed for which we were attempting to
> prototype rendering gadgets inline:
> - Load common JavaScript libraries globally
> - Load Gadget features globally
> - Address some of the memory leak issues with iframes
> - Reduce the download size of the page
> - Reduce number of requests to server
> - Avoid iframe reloading when the gadgets are moved on the page
> Feature Request:
> Support Inline container in addition to IFrame container. There could be an
> API to render gadgets inline vs iframe. There are more observations in terms
> of namespace conflicts, duplicate JavaScript, and CSS loading, duplicate
> feature loading etc. We have a working patch on 2.0.0, but before we go too
> far with the implementation, I wanted get the thoughts from the community and
> see what you think about adding this feature to Shindig.
> Thanks in advance for the feedback.
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)