Wednesday 6 December 2006
XUL Dark Matter
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.
Comments
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.
I think pushing XUL hard soon would be a good thing, to help counter XAML
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 !
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
There's more out there no doubt.
* 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
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.
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.
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.
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.
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!
Get everyone to use our code! And mozilla benefits from sharing Tamarin, cairo and sqlite with other projects.
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.
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
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
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.
-- Rich
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?
http://www.cyclone3.org.
XUL is amazing! We need better support from Mozilla, and focus to XUL bugs filled in bugzilla.