I posted something like this to comp.emacs, but I thought this would be a far better forum.
After reading Steve Yegge's recent post about Emacs' competitor being Firefox (user extensibility being the central feature of concern) rather than, say, XEmacs or IDEs, I began to see what he was saying, as outlandish as it sounds.
Out of that post came a comment that having "real" browsing capability inside of Emacs would be a killer feature. I tend to agree. I *live* in Emacs and Firefox.
I don't think this can be effectively accomplished in elisp, and I also think that starting from scratch would be too much burden on the dev team. I think integration of Gecko would be a good option. While it is GPL, it can never become *part* of Emacs proper (no assignment of copyright to FSF), but Mozilla is in the process of working on XULRunner, which is supposed to provide something called libxul that can be used for cross-platform embedding of Gecko into other programs. If Emacs included a wrapper for libxul, folks that have Firefox installed could make use of Gecko rendering inside of Emacs. For me, at least, this would be fabulous. I'm aware of efforts along these lines using XEmebed, but that is quite platform specific (i.e. GNU/Linux, BSD, etc.), neither Windows users nor OS X users would be able to avail themselves of that functionality.
To my question: is this something that anyone sees value in doing? Can we abstract a buffer in such a way that an arbitrary piece of C/C++ can be wrapped to satisfy the buffer "contract" and be embeded in Emacs? If so, this could form the basis for a type of plugin system that could extend Emacs at the C level and would allow for libxul to be leveraged to create an in-Emacs browser system.