Some Definitions
I like Tish’s phrasing of what I was trying to say the other day, so here’s a short post with a handy table to help erase the confusion over what "browser-based" means for virtual worlds.
| Term(s) | Technology | Pros | Cons |
|
In-Browser-Window or Browser-Embedded
|
ActiveX (IE + older FF) A PC app, specially compiled, whose output window and input is tied to the browser page that invokes it. The page can also invoke some registered app functions and throw some limited app events. |
Looks like it’s running "in" a web page. As fast as any PC app. Been around for over a decade. "Flash is just an ActiveX control, so why not my new plugin too?" |
Requires "scary" installation. Has full access, can potentially be abused by 3rd parties. |
| Browser-Hosted |
Flash, Java, Silverlight These are/were not really part of the browser, but are so common they can safely be assumed to be installed, or within a few clicks of being installed without losing people. |
Small download, (once you have Flash/Java/SL) and very little installation. Sandboxed for safety. Cross-platform. |
Sandboxing means it’s hard to keep/cache persistent data. Code is still slower than native compiled. 3D graphics are not as fast as a native app or plugin. |
| Browser- Based |
Javascript Interpreted script which is run right in your browser, including the now-famous AJAX methods. 3D is accomplished via the newish Canvas tags. |
No download (except for the scripts and data) Works like the rest of the web as in "it just works." Mostly cross-platform, but cross-browser has some issues. |
Even more sandboxed, Slower and limited to current browser features, like 3D canvas, which is not yet a broad subset of 3D rendering. |
What’s interesting about XBAP is it doesn’t fit these categories that well. It’s a .Net app, so it is both run in a sandbox and isn’t limited to the browser’s compiled-in features. It can access managed DirectX for faster 3D graphics. And installation/deployment of your app is much simpler. Still, it’s not as fast as a native compiled app, though some at Microsift might like to challenge me on that claim.
There’s also a "server-hosted" category available for those wanting 3D in a browser, which could use Flash on the client side to show a 2D video of what the server renders in 3D. But let’s not over-complicate this.
[...] eloquent and I agree with pretty much everything he has to say. Avi added a companion piece with just a table of definitions and a small commentary on the article, which leads me to add my own comments on [...]
[...] - Some Definitions saved by [...]