Code Obfuscation

- will there be a way to hide my code (xul or javascript) from my customers? some kind of encoding? Otherwise i will not be able to use it at my work. (Tom)

- why do you need to hide your code? Normal copyright laws already protect you whether the code is available or not, and even if the original source code is not available, it's always possible to reverse engineer the code if someone really wants to get to it (it has to be possible, otherwise the computer can't run the code). -Hixie 08:02, 2 Jan 2005 (PST)

- Though copyright law does not apply if you are not caught (you cant be tried for something no-one knows you did), and as such some people would prefer there code to be "closed source", (I dont know why people who read this wiki for example wish it, but O well). -Justin Wood (Callek) 00:59, 3 Jan 2005 (PST)

- It is better to prevent code theft as much as possible than to get lost in some legal procedure. We would like to use the mozilla technology in our applications but our competitors are to close at our heels. Most of our code is Java. But if we now just show our algoritms, we are lost. We are convinced that the xul, xbl, xpcom technology has a lot of advantages, but i can't convince anybody at the team without a way to hide the code.-Tom 13:10, 4 Jan 2005 (PST)

- I also believe that allowing “closed source�? applications to make use of the XUL / Mozilla platform is no bad thing. I would expect commercial adoption of the platform to increase and a lot more examples should therefore be open sourced even if some intellectual property is removed before release. I would not have thought that obfuscation would be a practical solution for most organisations that are concerned by this, a compiler or encoder/decoder would be much more useful but I am not sure how either of these would fit in with the current framework. -AG 02:16, 6 Mar 2005 (GMT)

- If your current code is java, then it's not hidden, or at least it's no more hidden than you can hide javascript by obfuscating it. You might be surprised by what a java decompiler (like [1]) would be able to do with your current java code. There's a whole array of javascript obfuscator in the market, I don't need to give you specific reference, just type 'javascript obfuscator' in google and you can start your analyze of them. I'd say java and javascript are almost egal and both absolutly need an obfuscator if you want the kind of protection you describe. About “closed source�? applications, remember the mozilla licence is quite tolerant, as long as you code lies in a separated file, it can have a separate licence and be protected as you wish --Jmdesp 02:47, 5 Apr 2005 (PDT)

you can also create a C++ XPCOM component as part of your XUL Runner Application, however you then lose the automatic cross platform benefits of XUL+JS.

Include Authentication Manager or Password Manager

I am developing a set of custom applications that currently run under the control of firefox.
I needed to do this so that things like the authentication (password manager) would
be automatic when I use the XMLHTTPRequest component. --Phreed 13:27, 16 Feb 2005 (PST)

Mac OS X Support

I noticed in the "Automating Builds" section that an OS X build seems to be missing. Is XUL Runner not being actively developed on that platform? Are there any plans to do so?

You will now find Mac nightlies available from the FTP site (XULRunner only builds on OSX 10.3+ and we previously did not have enough new build machines).

Sideways Integration (Auto-Plugins)

Something that would be useful to see is some way for XUL Runner applications to pull features from other applications. Basically: if app x is installed app y can use feature z. To do this you might want to be able to store plugins for app y in app x should y later be installed (or vice versa). Maybe support plugins that work for multiple applications and some install path for such plugins. Also useful would be a way to install a plugin for app x from app y (the obvious use of this would be for someone to click a Thunderbird plugin XPI in Firefox and have it install in Thunderbird; this alone would remove certain confusion about Thunderbird plugins).

As a story:

Sara Homemaker doesn't use an Mozilla apps (let's say she's an AOK user and locked into their proprietary email/browser), but is looking for a simple calendar program. She installs Sunbird (which installs XULRunner transparently).

Down the road Sara learns she can save money if she quits AOK. She downloads Firefox. She finds that when she clicks on a calendar file in Firefox she gets a mini-version of Sunbird in her browser tab called "Sunbird Previewer" that includes a button to add the calendar to her Sunbird.

Then she gets a nice POP/IMAP account for her email and installs Thunderbird. Thunderbird on installation, noticing Sunbird, magically becomes "Lightningbird" and integrates her calendar and tasks into its views. Noticing Firefox, Thunderbird asks her if she wants to migrate her "Live Bookmarks" into RSS Folders. Firefox's RSS detector (the Orange button) adds menu items for "Add RSS to Thunderbird" in addition to the Live Bookmark menu items.

Down the road, one of her mailing lists suggests she download my Recipewolf application (I haven't written any such thing, but suppose that I did). She's thrilled to find after installation that Recipewolf provides everything she needed in keeping her recipe collection handy. Then going back to that same mailing list folder in Thunderbird notices something new: several of the recipes she had liked that were sent out previously now have the Recipewolf icon in the attachments column. Clicking on one of these she sees an info-bar at the top of the email headers ("This email contains a recipe") with a button to add it to her Recipewolf collection. There could be similar integrations with Firefox ("Recipewolf Previewer") and Sunbird (attach a Dinner Menu to an event you are hosting).

I hope that illustrates some of the directions that I think XUL Runner could help push the Mozilla applications toward more interesting interaction and integration.

--WorldMaker

Sideways integration is definitely one of my goals (even basic Tbird/Ffox integration)... this will probably be accomplished through app extensions and a special extension install location provider... no real details yet ;-)

SQL Connectivity

Why don't include sql connectivity facilities? it is usefull for that situation in which you don't want/can install a web server...

Application.ini

Sorry, this is a little detail. But can't you use some unique extension so you can double click on these files to execute them. Like you can double click on a .jar file to execute a Java application. Or are you still going to create some sort of package wich is going to contain an Application.ini? (Tom)

There will be a real packaging mechanism, but the details still have to be worked out. --Jens.b 14:23, 30 May 2005 (PDT)

Borderless windows

I think it is important to create an easy way to draw your own windows. To compete with Dashboard and Konfabulator. Just set a png background with a nice alpha shadow. With <canvas> and SVG you can easily port Dashboard widgets to Xulrunner. Xulrunner is a perfect platform to create little SOAP clients, small tools, etc. (Tom)

Borderless is already possible. But maybe an easy way to drag a custom window would be needed. See bug 132675

<20after4> I have been working on a project to implement desktop widgets with XULRunner. Borderless is working and the foxkeh clock widget implements dragging (though this is buggy on linux)
You can download the code from the WidgetRunner Project Page

RSS Library

A common library that does all the rss & atom stuff. Developers can quickly add feed capabilities to any mozilla application. The longhorn platform bets big on rss. So in a while it will get a lot of attention.
A common place to store the data is needed. Rss is user data, not application data.

Tray icon

A common way to add a tray icon (linux, win and osx) without having to write XPCOM code for each platform.

Will Firefox and Thuderbird et al use this?

Will Firefox, Thunderbird, Sunbird and other mozilla.org releases use Xulrunner? I am not familiar with how these applications currently install, do they each have their own install of this foundational technology right now and can they then benefit from reuse if they each check for Xulrunner upon install and, if not found, then install once?

Edit: Firefox already does use XULRunner! It can run XULRunner apps even, just do 'firefox.exe -app application.ini'.

Yes, these apps currently install their own copy of the Gecko Runtime Environment. The end goal is to switch these apps to running on the same runtime. This will be accomplished with XULRunner. -- Bugmenot

Yes, it's a goal for the future versions of these apps Firefox 3, etc.) based on Gecko 1.9. Already some real projects are based on XULRunner, e.g. XUL Widgets and Verbosio. See http://www.mozdev.org -- Skierpage 17:34, 3 July 2006 (PDT)

Maturity

What is the status of XUL Runner? And where can this information be polled later? Also, is it mature enough to develop application that be be integrated into Firefox? For example, should firepuddle be first targeted for deployment in XUL Runner and then later integrated into firefox, or is this just not possible yet?