As a developer entering the Netscape enviroment, I have noticed that there
are several types of documents through out the mozilla web site that are
outdated, wrong, or incomplete. This has hampered our development efforts to
say the least. But I like the concept of the cross platform development
(XPCOM) environment. If only I could pick up a document and know that it is
correct. I have questions on almost every newsgroup that nobody seems to be
able to answer.

One of the biggest problems that we have is the DOM, as it applys to XPCOM
or even Javascript. For example I have done a simple XUL toolbar that
interfaces with java script functionality which will call an XPCOM C++
interface to process most of the toolbar information. The same code base is
used with IE and works fine with an IE toolbar. I must state that we fully
expect to write code that can only be utilized with Netscape.

Enough with the background and on to the problems!

1. DOM Hierarchy Documentation! I am very familar with the DOM in the
Microsoft Environment. I fully understand the relationships and what
intefaces to use during development. I cannot say that for mozilla
environment. For example I know how to get the IHTMLDocument2 interface from
the browser interface. I know all about the browser events and how I can
gain access to other intefaces at opportune times. One item that I am
personally troubled by is the ability to get the javascript functionality
from the DOM. With the IE DOM it is pretty simple to gain access to the
JavaScript functionality. I have not found this very easy with Netscape -
infact I do not think it is possible. I do not see the "GetScripts"
(Scripts) call from the nsIDOMHTMLDocument, as I do with the MS
documentation with IHTMLDocument2. I think I am just spoiled with IE DOM
functionality.

2. JavaScript/C++ XPCOM interfaces available from Browser. I could not think
of a good way to start this off, but my problem is, basically, for example,
how do I determine what interfaces are available from
"window.content.document" when I pass this to my C++ XPCOM object? There is
not any documentation that properly shows the interaction between the
browser and a toolbar / browser helper object (BHO). How do I get the web
browser interface from XUL/javascript toolbar, and what interfaces can I
query?

3. XPCOM documentation. I understand the concepts and have even had a
helping hand from Netscapes own Doug Turner. But the documentation is simply
not up to par. I wish I had a coin for everytime that I have read a
documented example and found out the interface is no longer availabe with
the current release. Then I ask the question how do I do it now? Or where do
I go from here? ....since that interface is no longer available or obsolete.

I am hoping someone may shed some light and point me to the golden
documentation - but I doubt this is going to happen.

I thing the XPCOM environment truly has possibilities  - but I can only
imagine how many developers give up after reading some of the documentation
and trying to apply it. I know I have almost given up many times!

Far too many of my customers do not want to provide a Netscape solution
simply because it is too hard to support on-going development.Or the big
reason - market share! A solution is to provide good documentation for
developers.



Reply via email to