[Project_owners] XUL webapps

Paul Kramer kramicus at yahoo.com
Sun Aug 1 03:31:32 EDT 2004

I'm going to try and dig up some code from a couple years ago that I wrote and see if I can even still.... understand it... but I think there may be a way or used to be a way to pull something like this off... let me explain as best my memory can recall (i.e see the qbal.mozdev.org) page and thel link to the image and I'm going to try and explain what  I prototyped at that time...
(I've not done any technical work in this area in a couple years now... so I'm rusty in my thinking and I'm dabbling in so many different languages at any given time so please be cool...)
What I did was:
1)  Create an application that ran out of the sidebar ... as you can see from the page I mentioned there are a bunch of icons that when launched, will fire off an application in the open tabbed window
2) What I did was create an application object in the sidebar and write that object to the dom in the tabbed window with a reference back to the siderbar... I'll have to take some time and review my code but I was able to store the entire state of what ever occured in the tabbed window in the sidebar application, which allowed me to pass data between the sidebar application and the opened tabbed window and also access the local system or remote file system via the networked (intranet) local machine.
3) I could open any url in the tabbed window, and launch one of my prototype apps onto whatever web page I had open in the current tabbed window... This was not my intention but I was able to do this... I sent some comments to one of the fourms, probably two years ago about this behavior and thought it was probably a security issue...
4) From what I was able to do two years ago, I would expect that I could open a tabbed window and load an XUL applicaion in that windows dom(s) from the sidebar and manipulate the data, access the local filesytem, etc... etc...  I would expect that I can not only manipulate the dom in each frame, but I would be able to comminucate thru the specific frames dom to the server to deliver new XUL
... Maybe not,  I'm not sure... (just my expectionation basesed on what I was able to do with the sidebar and tabbed window dom two years ago... I probably won't have time to confirm this in the next few months as I'm preparing myself to re-enter the tech workforce, but I will have to address this as part of QBAL to move forward as I intend to utilize XUL as much as I can. My previsous work was done using Javascript as the primary language to build the GUI. My approach was to not have a single character of HTML in the implementation. Instead I created application objects in Javascript and manipulated the objects by passing data structures with properites and update the dom accordingly (i.e at the time I did not buy into templates/stylesheets and the inflexibility as once I created the application objects and I can change anything via a property) My thinking was that all my applications would have the same basic look and feel and if I wanted to change that, all I'd have to do is
 change some properties and I'm done. If an application did not require a toolbar, it was simple, I just did not provide any  values to the toolbar properties... If it did not require a status bar, same thing... I could use as much of the application framework object as I needed. I'm still leaning that way, it just seems that the masses have standardized on templates and style sheets. Seems to me, the easy way is to define object and properties and manipulate the dom when you know that you are going to work in a known platform ie. Firefox or IE... I guess I don't see how style sheets and templates are really a code base than can be managed like objects and properties...
You folks are so much more aware of what can be and what cannot be done, but I was a little suprised when I was able to accomplish managing object state in the sidebar and do anything I need to on the dom of the currently opened tabbed window, no matter what was already loaded into it.
In regards to your comments below about a standard web app delivering HTML... In 1999 I built an intranet solution for CMM (capability maturity model) using IE. What I passed was Javascript objects and data structures containing properties that updated the dom as needed (my javascript was pretty ugly compared to the work I've seen you guys do... but the stuff worked pretty well). The game I played behind the scenes is that in an intranet enviorment, you can access the client machines file system thru the server... of course not so in the internet... but... I've thought about looking into P2P to pull that off too in the internet space too... IE was at that time just getting ready to start providing the HTC functionaly that would allow one to access the local file system... Now Mozilla/Firefox allows one to do this thru a sidebar application.
Hope I'm not off base here... 
Best Regards,

Pete Collins <pete at mozdevgroup.com> wrote:

> So with the state of remote XUL as it is now, is it possible to make a
> serious application like webmail or groupware apps?
Sure as long as the "heavy lifting" is done server side. In other words 
if you want to write to a file on the client machine, all bets are off. 
You only have the same privileges as a web page has - using remote XUL.

My point is. The standard "web app" is a server side programming 
language that delivers HTML to the browser. HTML combined w/ js has 
become the cross platform "User Interface" of choice, because it is easy 
to work with, no compiling, works in a browser, etc. XUL is a text 
markup that can possibly replace HTML because it is a rich "UI" markup 
designed w/ that specific purpose in mind.

The problems many develops run into are simply needing more access to 
the client machine from a remote app. It is possible - I'm just saying 
there are some hurtles to overcome.

This now leaves us w/ the "Hybrid" developer/app. One that dips into 
both client and server side programming. It is sustaining web app 
development in a "browser environment" yet, moving up a level in the UI 
space when leveraging XUL.

The bottom line is remote XUL development is wide open . . .


Pete Collins - Founder, Mozdev Group Inc.
Mozilla Software Development Solutions 

Project_owners mailing list
Project_owners at mozdev.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mozdev.org/pipermail/project_owners/attachments/20040801/3971b467/attachment.htm

More information about the Project_owners mailing list