Embedding Analytics with iFrames
In this video, you’ll find out how iFrames extends the customization of embedded analytics beyond what’s possible with white labeling.
There are a lot of cases when white labeling isn't sufficient,especially when you want to have data analytics alongside other functionality. A good example would be a customer portal where you have several columns with different widgets. You might have a news feed, a weather map, and other features plus analytics tools.
One way to do this would be embed an analytics web application into the portal via an iFrame. Of course, like white labeling, iFrames have limits.
I'm Ryan Haber. I work at Zoomdata with our APIs. I help document them, I help market and sell them, support them with customers, build samples with them. I like to think of myself as our API ambassador.
Today I'm gonna talk about iFrame embedding. Now, it might happen that, for your business use case, a very nicely white labeled application will suffice. Your data analytic software for your in-house is a common use case for this where you heavily white label it, everybody in the company thinks that they're using their own software, and everybody's happy.
When White Labeling Is Not Enough: iFrames
But, there are a lot of cases when this isn't sufficient, often because you want to have the data analytics alongside other functionality. So, for instance, a common use case in this scenario is portals, customer portals and employee portals where you might have multiple columns with different widgets. You know, so you have login and profile information here, and you can have news feeds there. And then say in the upper right, you have analytics, key KPIs that people might need to look at.
Now, to do this, very often what you'll do is you'll embed a web application, an analytics web application into the portal. iFrames are an easy way to do this. HTML, the hypertext markup language that's used to build all websites, includes a technology called iFrames. Now, iFrames essentially open up a little window from the main web page into a web page that's sort of behind it, if you will. And so, if you want to embed say your data analytics software into a large application, just open up an iFrame window and then show in it a little view into some other web page - easy, nothing easier.
Potential Cosmetic Issues with iFrames
So, there's problems with this, though. One problem is that, if the web page wasn't designed to be embedded, it can be kind of wonky. The user might be able to hit the little scroll bars and then look around on the inside window, the embedded, and see all kinds of stuff that you didn't intend them to see. That can be embarrassing or just weird or they can lose the actual stuff that you were trying to show them. The other thing is that, if the page that you're showing, the analytic software say, wasn't very white labelable, then it can stand out from the broader portal like a sore thumb. So, that's not good, either.
More Serious iFrame Problems
But, there's a more serious problem, also. In the early days of iFraming, it was used as a way of having one page hijack another page, either the embedded page or the embedding page, because they could communicate with each other without either the main embedding page developer or the embedded page developer knowing that that was gonna happen. So, this is a real problem.
Solution: an iFrame Firewall
The people who make the internet work the way it works came up with a solution. They put a firewall around the embedded page. So, an iFrame is essentially an iWall almost, and what's inside can't communicate with what's outside and vice-versa at all. This introduces some difficulties. Maybe you want them to communicate with each other a little bit. Happily, there are some workarounds. You can both have them communicate with a third party that then communicates back to them. That's good. But, whenever you do this sort of thing, of course, you reintroduce some of those security concerns even if they're mitigated.
After iFrames: the SDK
So, as we've seen, iFrames are easy, but they're not always sufficient. In your embedding of visual analytics, sometimes, you're going to need something more fine tuned where you can take data and charts from the analytics software and build them into your own application with much more control and integration.