XUL - answers to specific questions about XUL and how to use it
with Dave Hyatt


<chrisn> ok, the dev chat this week is dave hyatt, and we're gonna be discussing XUL, its current status, what's happened with it since we've talked with Dave last, and what to expect in the coming months...
  so, if you have questions, enter a ? in the channel now, and we'll start.
<danm> Dave sez not much has happened with it recently; we've mostly been fixing bugs.
<chrisn> ok
  well, we can discuss XUL in general, then, too
  ok, well, let's catch the first two that we had...
  _Asa_, why don't you start...
<_AsA_> OK, Drag and drop of toolbars. Whats the status/plan?
<danm> (Speaking for pinkerton:) we're waiting for the xpapps team to hook it up. The infrastructure is in.
  Look on the xp toolkit homepage for toolbar docs.
<_AsA_> no follow
<tj> What's the replacement of the registry.rdf, and how to configurate it on the fly?
<danm> (speaking for dave:) The chrome registry has been fragmented into individual RDF files called chrome.rdf.
  You don't need to do anything to add the defaults for a new component. Just drop the xul and css into the appropriate subdirectory
  and it'll be picked up.
<tj> And? How to edit it and save it on the fly?
<danm> The interface is nsIChromeRegistry. It has a method called SetSkin which takes the subdirectory to switch to.
<petejc> With application hosting projected to be a 2.7 billion dollar market, what role do you see mozilla playing
  in multi tier remote application development?
<danm> We're concentrating on enabling local apps for now. Since we'd have to have a all XPConnect interfaces
  annotated with their level of security risk and a Capabilities Manager to enable access to these objects,
  it's not something we're trying to tackle in 5.0.
  Speaking for the engineers, all our brains are wrapped around the 5.0 problem.
<simeon> what kind of format will be used for skin files (jar? xpi?), and is there documentation for these yet?
<danm> You'll be able to bundle jar files into an xpi file which will put the jars into the correct place.
<simeon> any docs?
<danm> Not yet! (sorry). The code isn't quite working yet. Switching will be back online this week,
  but the jar stuff will be a while longer. Docs come after the code is a little stable.
<simeon> ok, thanks.
<Ben_Goodger> I've heard tell that you want to replace some of the functionality RDF supplies with enhanced overlays. Can you give some brief details of this? (an example of where RDF might be used is storing a map of the user's toolbar buttons, and loaded like Classic -- will these enhanced overlays change this?).
<danm> (speaking for Dave, for those of us just signed in) Specifically, I want to reimplement persistence and
  the local store using overlays, instead.
  This would involve enhancing overlays to support reordering and removal of elements.
<XULFool> Just wanted to thank pinkerton and hyatt for the d&d docs and skins docs
<pinkerton> ;)
<XULFool> the question is when can we expect to see the changes
  for the skins compliance in the builds?
* Ben_Goodger hides
<danm> This will be an ongoing process. It'll probably take two or three weeks. The current skin
<XULFool> no followup just keep up the good documentation!
<danm> is in gross violation of many of the guidelines. (Those guidelines are available on
  the xpfe newsgroup.)
<_AsA_> It's been a hot topic for a few weeks now and so I'll ask. What are your thoughts on the new skin?
  and a followup
  Does this new skin demonstrate XUL's growth in any way since the creation of the previos skin?
<danm> You want us to comment on the new Netscape skin? That's a loaded question.
  Um. Gotta stop there.
<ryuzi> many many people
<chrisn> ok, arielb's question by proxy:
  Will there be that bookmark drag and drop icon just like Netscape 4.x?
<pinkerton> yea, it's there and it works today.
* _AsA_ thinks that is just implimented
<chrisn> next is my question
  this regards the skin doc that appeared in the xpfe newsgroup
  something I didn't quite understand that maybe you can clear up...
  you say in the doc that if a skin wants to interact peacefully with another skin that it should import the global skin....
  you also say that derived files are ones that import information from another skin...
  in addition, derived skins should not contain any font, color or border information
  that seems to limit the possibilities of new skins, if I'm interpreting this correctly
  because for them to interact with the other skins on the system, they must be derived (import the global skin), and thus contain no font, color, or border information
  is that what you were trying to say? or am I interpreting this incorrectly?
<danm> Your first assumption is incorrect. Netscape's skin happens to rely on a global skin, but
  we don't expect third party add-ons like, say, WinAmp to use the global skin.
  It would define its own skin, and not import from global.
<chrisn> followup: so, let's say that I want to define a new browser skin (but not a mail/news skin)
  is that a derived file? or a base file?
  does it need to import the global?
<danm> Then you would make a Navigator skin that would deliberately not import any other skins, like global.
  You would be a base skin file.
<chrisn> great. that answers it.
<_AsA_> OK, Dave, what are you guys focusing on right now and where in the code is that work taking place
<danm> Well, I (danm) am working on window issues -- mostly bugs, and an occasional new feature.
  Saari is working on focus issues. David is working on skins and the chrome registry.
  Pinkerton is working on drag and drop. EVaughan is working on gfx and scrollbars.
  Mostly we're in clean up and stabilization mode.
<photek> dont you think there should be some sign in the skin design to remind people that moz is alpha (maybe some sort of stylized "alpha" char.)
  that's not a 100% XUL issue, but...
<chrisn> (if you have a question for Dave Hyatt, type a ? in the channel)
<danm> Well, that might be safe. Dave says he has no opinion. It's a question more for the xp apps team.
<chrisn> I'd like to hear your opinions on the reflow issues that have cropped up lately. specifically....
  the main issue I have with it in its curernt state is that it severely disables the UI during page load. My question is:
  are you confident that these issues wil be addressed, and are you confortable having the UI and the page rendering sharing the same thread?
<danm> (Dave says): absolutely. It's a solvable problem. We know where the bottlenecks are;
  it's just a matter of going to work on them. Vidur and Troy (layout team) are on this.
<chrisn> followup: is this something you're expecting to be addressed in some fashion by Alpha?
<danm> Well, by Beta, anyway.
<chrisn> ok, thanks.
* photek says "please tell us more about those bottlenecks !"
<transiit> does the possibility of malicious XUL exist?
<danm> Har, har, har. Yes, it's completely possible. We're working on plugging the security holes
  but judging from past experience even once we think we've found them all, there will be
  many more.
<transiit> followup - is it potentially as bad as to require us to eventually maintain our own personal lists of trusted sites?
<danm> Probably not, since only local xul will/should have access to XP Connect.
  (At least in 5.0.).
<XULFool> There is probably a bug on this if so just point me to it.
  There still seems to be refresh issues on windows with the sidebar and other widgets
  is there a fix in sight?
<danm> All the refresh issues I know of are platform-specific. Most are on Linux. I think I know
<XULFool> Note: Any widgets with images seem to be particular bad.
<danm> of one on the Mac. The ones that remain are tenacious. We're working on them.
<Sjoerd> So it's not to hard to make a skin thats sends local information to a website?
<danm> Skin or content? "Skin" is just css and images. (Were you specifically asking about skin?)
<Sjoerd> well, I mean XUL, which includes JS
<danm> Then sure. The distinction is important, since there will probably be fewer security restrictions
<Sjoerd> I mean, if I install a skin, I must completely trust it's source
<dveditz> We're working on that...
<danm> ... Yes, you must trust a skin's source. Even with CSS you could make the UI unuseable.
<Sjoerd> ok.
<_AsA_> Is there any progress on moving toward XUL as a 'standard' for interface description
<danm> Well, honestly, no.
<_AsA_> followup...
<danm> The usual arguments about it still being under development and us being too busy to sit on
  standards committees apply.
<_AsA_> is there anyhitn that you've learned that would make you reconsider suggesting XUL as something more than aproprietary bit of XML?
<danm> Certainly some aspects of XUL could be incorporated into HTML 5. The tree widget, for example.
<_AsA_> ok. :)
<danm> Basically, XUL is what we use since we can't make nonstandard extensions to HTML, and we needed to.
<chrisn> will there be a means to recover from a malicious skin. For example, a link on the profile management box that will allow for reverting to default skin?
<danm> Yes, absolutely. We'll have to support that.
<pinkerton> prussion: we thought about that in mozClassic, but never did anything about it. suggest it again, it's a good idea.
<dveditz> Sjoerd was worried about malicious skins. Can a skin do worse that a simple denial of service? Are there future CSS features proposed that will make skins more dangerous
<danm> Not really, as long as we ensure that scripts in skins (in future versions skins will
  be able to reference scripts and content using the content and behavior properties of CSS) don't
  have access to XP Connect.
  Or if we start establishing a capabilities model for our interfaces
  then we can make skin scripts less trusted.
<chrisn> ok, folks - that takes us to the end of our dev chat for this evening
  I'd like to thank Dave Hyatt and Dan Mosedale for stopping by