Wednesday, 6 December 2006

XUL Dark Matter

I had lunch with some of my old friends yesterday, as I often do (one of the great things about being back in Auckland!) and one of them told me about his latest consulting job, involving a project using XUL to build a very large intranet application.

This isn't the first time I've heard about such things, but this is definitely closer to home than before. If a random company in Auckland is working on a big XUL intranet app, then how many other such projects might there be? One might guess hundreds or even thousands. This is rather disconcerting for several reasons. These projects have no visibility in Bugzilla --- why aren't they filing bugs? We don't really know anything about these projects: how many there are, what features they use, how we're hurting or helping them. Gecko development is totally ignorant of their needs. But how can we find out since these intranet apps by design never become visible to the public?

Maybe it's a good thing in some ways to not be giving much attention to these apps. It means we can focus more on Firefox which is more in line with Mozilla's mission of driving the Web forward. And we certainly haven't promised much to XUL app developers. Still, it sucks to cause pain for people, and if there are thousands of XUL apps below the waterline and we could support them better in simple ways, I want to.

For one thing, our Q&A for XUL is basically "do Firefox and Thunderbird still work?" This sounds inadequate now that it seems likely that Firefox and Thunderbird are less than 1% of the XUL apps out there. If we had a lot of unit tests for XUL that would give us some more confidence that we're not breaking things ... or at least that if we are breaking things, we do so deliberately.

The other thing we should do is think about how to harness the power of this community that probably is quite large and influential ... even if we can barely detect it.



22 comments:

  1. We have heard a report at one of the european FOSDEM meetings, from Sixt using XUL/php/COBOL.
    One link is https://www.xing.com/cgi-bin/forum.fpl?op=showarticles&id=598465&articleid=598468, they actually link to a pdf as a report, though that's probably on German. Not gonna go through that tonight.

    ReplyDelete
  2. I've been working on XUL unit tests for several weeks now, so hopefully things will break less soon.

    ReplyDelete
  3. It gets even more interesting when XULRunner turns into a decent (and better supported) platform. There's some cool things happening with Gecko at the moment, like Songbird.
    I think pushing XUL hard soon would be a good thing, to help counter XAML

    ReplyDelete
  4. I'm the founder of the web site http://xulfr.org, and i can tell you that, in France, more and more company use XUL for their intranet application, or to develop rich client with XulRunner, for their internal business app. See some very few example here : http://xulfr.org/entreprises/ (sorry, it's only in french)
    If i can give an advice to Mozilla developper's : stop to develop the toolkit only for Firefox or Thunderbird ! Users need a better XulRunner, users need a better toolkit, not a toolkit only focused to Firefox interface ! Please, put more developers on XulRunner and on the toolkit.
    Mozilla have a great and innovative plateform to develop many kind of application (distant or chrome), but XulRunner and the toolkit have still bugs and some components or libs are missing for general development (for example : a datepicker, an integrated jslib like etc..). See http://wiki.mozilla.org/XUL:Home_Page . An other example : many bugs listed here https://bugzilla.mozilla.org/show_bug.cgi?id=133695 are asked for many month, many years, but nobody fix them. Do Mozilla care about them ? Is it a problem of resources ? or a politic problem ?
    It's very important to do all this improvements because now Mozilla plateform have some direct competitor (Adobe with apollo/flex, Microsoft with WPF/E / XAML). There are some users who like Mozilla technologies, would like to use them, but, because of bugs and other lacks, they look to other development plateform and use them. What a shame !

    ReplyDelete
  5. Terry Gioachini7 December 2006 14:49

    I hear that ICQ6 was written using a language that was based on XUL only modified to be less open source and visible that way. I guess it's only logical with AOL buying Netscape and owning ICQ and all.

    ReplyDelete
  6. Hi
    I'm glad to see that Mozilla people understand that the Mozilla Framework has its own success. I work for a french association (http://xulfr.org) which promotes and encourages xul development. We help people and company to work with XUL/XBL/XPCOM technologies. When people have some issue with Gecko, some of us fill bugs if needed. I think local association like xulfr is able to see who work with Mozilla technology because we are certainly more accessible than the Mofo (language gap, people avaibility, ...). Our association takes an inventory of french compagny which use XUL (http://xulfr.org/entreprises/). I think Xul association (like python or perl user group) can be a wrapper between xulapp developers and Mozilla fundation.
    My 2c

    ReplyDelete
  7. There's a major news company in the US that's using internal XUL applications to streamline their publishing process.
    There's more out there no doubt.

    ReplyDelete
  8. Robert, there is France a community called XULfr.org, which is helping people who have interest in XUL getting started. They are doing a very impressive work. They have a Wiki, an IRC channel, large (localized) documentation and many contacts with the industry. Their English is not always great, but I can promise that they have a lot of energy and knowledge. I would like to hook you up with them if you want. Let me describe what they are currently doing, among many things:
    * Hosting a meetup about XUL: http://xulfr.org/wiki/Meeting/XulfrParty
    * maintaining a list of French companies using/deploying XUL apps: http://xulfr.org/entreprises/
    * Talking at conferences and manning booths: http://xulfr.org/news/2006/11/23/191-table-ronde-mozilla-xul-a-solutions-linux

    ReplyDelete
  9. I've often thought Mozilla would benefit, as well as everyone else, by developing and polishing their platform.
    When I first started building XUL apps in 2002 I was tickled that I could take all my web programming skills and faily easily move into the more traditional application programming realm.
    Besides enjoying this relatively easy migration, there were other great benefits such as cross-platform capabilities.
    Then Microsoft started taking notice and eventually came up with XAML and I knew again that Mozilla had something special, though now thought they might loose developers interested in using the Mozilla platform upon the release of Vista.
    It seems like XUL Runner is a step in the right direction but I am really suprized that there has not been more push in this direction, as so many people are interested in it. Its also suprising that the Linux community isn't pushing for this as well. After all, their biggest fight is in the app realm, as it only takes one app not available on linux to keep me using windows. The second piece of the app problem is that developers are so often forced to decide to develop for one OS or the other, and windows wins out. The more developer-friendly the Mozilla platform is the more cross-platform apps are created and the easier it becomes for people to switch to Linux.
    The Mozilla platform is a diamond in the rough. Polish it. The developers are already investing in the quarry, but the work is not as easy as it could be. Care for the developers. Feed them early and feed them often and they will carry you on their shoulders.

    ReplyDelete
  10. Daniel Glazman8 December 2006 17:13

    Roc, how many times did I tell MozFo or MozCo about the high number of XUL-based projects here in Europe, how hot XULrunner is here, and why it should be a top priority for Mozilla ? That's false you cannot detect it : I reported about it many times and I know others did too. But Mozilla was focusing only on FF at that time, and I sincerely hope things have changed. As I said, xulrunner is the new Tcl/Tk out there, like it or not. The market has already adopted it, that's a reality. When you see the teenager FM radio number 1 in France and blog host number 1 in France deliver to the masses an Instant Messenger based on XULrunner, do you really need another proof ?
    These people don't fill in bugs because they're users, end users, and they have no idea about how open source projects really work. They use Mozilla technologies, period.

    ReplyDelete
  11. I agree. There are likely hundreds of XUL applications being used internally that have no public visibility. It's not only unfortunate for Mozilla but also for those of us building these internal applications.
    I am curently the lead developer on an effort to use XUL/Gecko embedded in a Delphi (object Pascal) shell as our client browser (thin client) to interact with applications served from Java Server Faces (JSF). Members of my team are working on creating a XUL Render kit to render pages in XUL. The last tier is SOA which will be accessed by the JSF applications. The business logic will be in the SOA layer.
    Finally, when we go into production. This technology stack will be utilized by 10,000+ employees worldwide in over 120 branch offices.

    ReplyDelete
  12. Robert O'Callahan8 December 2006 21:28

    Daniel: there's really four different classes of XUL applications:
    1) Mozilla XUL apps: Firefox, Thunderbird
    2) Extensions for Mozilla XUL apps (mostly Firefox)
    3) Non-Mozilla mass-market-targeted XUL apps: Venice, Democracy, Songbird, Wengo, Nvu, and others
    4) Intranet apps
    I think we're pretty well aware of 1-3 and have been for some time. And I've heard about 4 before but it's never been clear how much of it is going on. Now I'm suspecting that 4 is actually bigger than all the others by an order of magnitude. That's what this post was about. Maybe this was already obvious to you; if so, I apologise.
    To be honest I can see why Mozilla wouldn't be terribly interested in pushing XUL and xulrunner --- it doesn't fit directly into Mozilla's mission. I actually would welcome Mozilla making some hard choices to stay on mission, that's a sign of a healthy organization. On the other hand, clearly we are satisfying a need and there is a big opportunity here, and it doesn't make sense to just ignore the possibilities.

    ReplyDelete
  13. From mozilla.org: The mission of the Mozilla project is to preserve choice and innovation on the Internet.
    That's a pretty broad mission. I too can see how focusing more on the platform would not seem to meet this mission as immediatly as focusing on firefox and thunderbird, etc. In the long-run, though, I think it would prove a compelling force behind both choice and innovation. Consider the choice and innovation Mozilla has fostered with the extention/add-on opportunities of developers. Developing the platform itself would have a similar effect, but the possiblities would be much more grand: you enable people to create entirely new email clients, browsers, and Internet-centric applications we only imagine now.
    Working on the platform meets the mission in other ways as well... I just read another blog on planet.mozilla.org about the steep learning curve for programmers wanting to work on mozilla projects. By improving the platform, mozilla would proliferate adoption of its platform, which means a lot of programmers are going to get familar with the platform while working on internal projects. Thats good for Mozilla as these same programmers have a much lower entry barrier to working on projects like Firefox and Thunderbird. Not only would there be more programmers who are familar with the platform, but those who are not would have an easier time getting into it as the documentation would stability would be improved from the present condition.
    Consider that some of these intranet apps may make it out to the Internet in one form or another as well. Maybe first appearing on a company's extranet, then being shared or sold to other companies and finally filling the void of Internet inter-business apps.
    You are right, where there is a need to satisfy, there is a BIG opportunity. Part of preserving choice and innovation on the Internet includes protecting that choice an innovation. Mozilla can help protect them by providing an open-source, standards-based platform for Inter-Intra-Extra-net application development. If they don't provide for this need, others will, and the others will not necessarily be as open or standards concious.
    Think long-term. We're all pulling for you!

    ReplyDelete
  14. XUL and Gecko usage is important for mozilla because there is more reason for people to improve it if it is important to their projects.
    Get everyone to use our code! And mozilla benefits from sharing Tamarin, cairo and sqlite with other projects.

    ReplyDelete
  15. Robert, I reported almost 3 years ago that we (Disruptive Innovations) helped the french newspaper Le Monde on a XUL framework for their back-office... Alll the website is managed using a XUL-based intranet.
    I disagree with Mozilla's mission : as I see it, Mozilla's mission is also to provide Gecko as an embeddable component for the sake, independance, freedom of choice of the Internet. XUL is the natural contained for Gecko so from my POV, but of course you may disagree with that, XUL and xulrunner are a logical path for Moz.

    ReplyDelete
  16. Mozilla's mission is higher level than "provide a competitive open source browser" or "provide Gecko as an embeddable component." Both are means to the end of preserving choice and innovation on the Web.
    Concretely, it's hard to be a platform company. I've been there at SGI and Netscape, which had platform or core-technology divisions that were loss-centers that the profit-centers had to subsidize. User-facing or otherwise sales-oriented products grab the revenue, over and over.
    Microsoft is the best counterexample, and we have learned from it. Its platform serves crucial apps first and best. Over time it has grown to support many other parties. Mozilla is going through an accelerated version of this process now.
    We are looking at tactics and strategies to build up the platform. Mozilla 2 is the biggest play for the platform, and the best way to avoid over-commiting to old code that can't support the weight that platform users will put on the framework.
    I'll have more to say in my blog on this topic; it's important.
    /be

    ReplyDelete
  17. Also, the key to success is to get your product used in the enterprise. Microsoft, unlike Apple, knows this very well. It's not enough to make Firefox the browser of choice in the home. XUL is our way into the corporate intranet and that is something we'll have to fight for. Lose the intranet and you lose the internet because the same browser will be used for both.

    ReplyDelete
  18. Ariel: we lost the intranets and the Internet back at Netscape, but Firefox grew fast on the Internet. This has led many enterprises to adopt Firefox internally, but Mozilla is not going to focus on the capital-E Enterprise. It's trailing edge in this scenario, and it is high overhead (profserv).
    You may be right about XUL (vs. WPF, WPF/E, Flash or Apollo, etc.) being a different battle, but the high overhead prob remains. Working on strategy here, more in a bit.
    /be

    ReplyDelete
  19. Update after reading the other comments:
    Sorry, I didn't realize you were asking about intranet applications, specifically, only. There are the remote XUL restrictions on the page I mentioned.
    Axel mentioned Sixt. I was briefly involved in that project, and know the head developer. Generally, it was a success to my knowledge, they're rewriting the UI to basically all their apps in XUL, which is a lot. Robert, let me know if you want me to ask him for feedback.

    ReplyDelete
  20. I think Mozilla may have a jump on the competitors when it comes to accessibility. Now is the time to push XUL, before Flash/Flex gets a hold. We all know how accessible that platform has turned out to be. [smile]
    -- Rich

    ReplyDelete
  21. that this debate about whether mozilla should devote a lot more energy to XUL is happening is itself finally an admission that mozilla is not doing enough.
    whilst the goal of mozilla mentions the web, it is really as much a desktop application as it is to do with the web. mozilla's limited Firefox success has made a dent in Microsoft's middleware monopoly but has not necessarily challenged that monopoly.
    Everyone should remember that the impact of Firefox was as much in it's marketing and that it is an open source AND cross platform product, than it's excellent features and security.
    people can talk about open source until their blue in the face if they are aligning open source with linux.
    Open source needs to be open choice. If someone wants to run Windows but without the middleware and malware, they should have an alternative. If Linux wants to grow a great way to do that would be to get people familiar with applications in their comfortable Windows environment and then show them the same thing is available on Linux.
    Look at all the community developers behind the swathe of desktop apps that have such trouble porting to Windows. I tried to get Evolution running on windows and it was a nightmare.
    why aren't application developers porting to XULrunner instead of GTK for windows? Quite frankly XUL may not be sensational but for look and feel it's a shitload better than GTK on windows which is nasty.
    Since this post is as much about what's happening in XUL as what isn't, don't forget Penelope. http://wiki.mozilla.org/Penelope
    It says a lot that such a long-standing cross platform application is being absorbed into XUL/Thunderbird. Eudora has been around since the 80s!
    So obviously some people are moving towards XUL but it's hardly a flood.
    What is impressive about XUL is the diversity of apps developers are making available with XUL. IPTV, Web Browser, email client, VoIP/IM, media player etc. This suggests the platform is flexible/versatile but it also suggests that XUL is not appealing to smaller utility developers given that all the projects are large undertakings.
    People really are working very hard to take XUL and run with it (pardon the pun). Why is mozilla barely supporting them?

    ReplyDelete
  22. I'm the founder of first open-source CMS which is using XUL frontend.
    http://www.cyclone3.org.
    XUL is amazing! We need better support from Mozilla, and focus to XUL bugs filled in bugzilla.

    ReplyDelete