Feed Sign in with OpenID OpenID

Simon Willison’s Weblog

Microsoft’s XUL

According to this Microsoft blogger the reason IE development has seemed quiet of late is that they’ve been working hard on XAML, an XML Application Markup Language which is a way to create applications in the browser (or out for that matter) [...] It is basically an XML structure with CSS and JavaScript. The CSS defines the appearance and the JavaScript dictates behavior.

Sound familiar? It should do—that’s exactly what XUL does. On the plus side, this completely validates the grossly under-appreciated importance of Mozilla’s biggest secret. On the negative side, this looks set to represent the ultimate browser lock-in—in a few years time when IE 7 comes as standard on new PCs I wouldn’t be surprised to see the corporate software development world moving almost exclusively to this technology—after all, it’s going to be extremely easy both to develop and to distribute and it will have all of the benefits of a web application without the downside of the restricted GUIs offered by HTML.

Of course, Microsoft might make it an open standard. But then I might win the lottery next week.

I wonder if it will be possible to transform XAML in to XUL using XSLT?

Update: It has been pointed out that the author of the above blog entry is not a Microsoft employee.

This is Microsoft’s XUL by Simon Willison, posted on 24th October 2003.

View blog reactions

Next: The difference between POST and GET

Previous: Progressive page updates

30 comments

  1. I wonder if it will be possible to transform XAML in to XUL using XSLT?

    From what I gather, no, because XAML is a superset of XUL, and you'd lose a lot of capabilities in the transformation.

    when IE 7 comes

    MS has said they're not releasing any future editions of their standalone browser.

    Joe Grossberg - 24th October 2003 16:26 - #

  2. My reaction: Corralled. I'm more than a little concerned.

    Eric Meyer - 24th October 2003 17:17 - #

  3. On the negative side, this looks set to represent the ultimate browser lock-in - in a few years time when IE 7 comes as standard on new PC s I wouldn't be surprised to see the corporate software development world moving almost exclusively to this technology - after all, it's going to be extremely easy both to develop and to distribute and it will have all of the benefits of a web application without the downside of the restricted GUIs offered by HTML.

    I read the longhorn entry this morning without understanding the full implications.

    Microsoft, having learned what it needed to know from playing in the public Web space, is now positioning itself to pick up all the e-commerce and go home.

    Permit me to repeat myself: "When one company owns the medium, everyone else loses." Everyone from design firms to tool vendors to browser makers will have to dance to Microsoft's tune. We have until about 2007, maybe 2008, to prevent that from happening. Can it be done? How? By whom? If XAML lives up to its potential, Microsoft won't need the W3C any more. Why should they play by the open community's rules when they can create their own very lucrative and highly controlled gated community?

    Eric Meyer's thoughts on the subject are quite sobering

    Kayode Okeyode - 24th October 2003 18:05 - #

  4. Ahh, so that's what this screenshot was all about! Interesting that MS seem to be using it for Windows' UI...

    Tom Gilder - 24th October 2003 18:54 - #

  5. Oh dear.

    Realistically, XAML is unlikely to take over the internet in the very near future. That might come eventually, if Microsoft can convince everyone that only people running Longhorn are worth selling to. That's unlikely to reach the 90%+ levels of IE for a long time, so even IE only sites will have a greater potential number of consumers than XAML sites.

    The more immediate problem is that it removes one of the key advantages that Mozilla should be selling itself on. XUL is a great oppertunity to get Mozilla accepted into business environments where requiring a particular version of a particular browser isn't a problem, especially if that browser happens to be cross-platform. But no one has been prepared to go out and make this adoption happen - people are still using clunky html interfaces in IE for things that really need rich interfaces. If it is widely known that Microsoft are going to be releasing this technology in a year or two, it's going to be harder and harder to convince companies that there is benefit is switching to Mozilla. The FUD has already begun in this thread, with the unsubstantiated claim that XAML is a superset of XUL.

    Given a tiny number of users with 'alternative' browsers, the point at which using XAML as an interface for public internet sites becomes cost effective is moved forward considerably.

    jgraham - 24th October 2003 19:11 - #

  6. Some naive questions:

    • What proportion of developers will drink MS's koolaid?
    • Suppose you can effect at least a one-way conversion from XUL to XAML. Also suppose that XUL is well-supported/evangelized/etc, and establishes good mind-share. Would developers be likely to say "Shoot, I can do 90% of XAML in XUL, I like the XUL tools better, and I can reach a wider audience. I'll stick with XUL"?
    • I only have the vaguest acquaintance with XUL. Would it be feasible to use it as a rampart against XAML in the first place? What would need to happen?

    Adam Rice - 24th October 2003 20:57 - #

  7. XML is also used to declare the UI in thinklets (Java) and in GTK (using Glade). I read a mention of SVG-RCC the other day, as something similar. I'm sure winforms will greatly benefit from this approach. But it is kind of sad to have yet another XML UI description language.

    Dumky - 24th October 2003 22:01 - #

  8. I have the greatest respect for both Simon and Eric. I also agree with most of what they are saying, but I think it should be clarified that Ryan Dawson is not a MS employee as noted on Longhorn Blogs. Stephen

    Stephen - 24th October 2003 22:43 - #

  9. What proportion of developers will drink MS's koolaid?

    Well that's a good question. If what they produce is as good as this technology ought to be then lots, maybe.

    Suppose you can effect at least a one-way conversion from XUL to XAML.

    That sounds like a poor assumption. The markup itself won't be a problem so much as the scripts bound to the backend. I'm guessing converting javascript to VBscript or similar is quite hard.

    Also suppose that XUL is well-supported/evangelized/etc, and establishes good mind-share.

    Then this will be much less of a problem. But "suppose" is a big word. XUL has almost zero mindshare, desipte the fact that vast numbers of people would benefit from using it.

    Would developers be likely to say "Shoot, I can do 90% of XAML in XUL, I like the XUL tools better, and I can reach a wider audience. I'll stick with XUL"?

    Which XUL tools would those be? Visual Studio 2006 (or whatever) will probably come with a really nice environemnt for generating XAML, maybe automatically from a form designer, with a clean, feature rich, interface for generating backend code. XUL can offer emacs or vi...

    I only have the vaguest acquaintance with XUL. Would it be feasible to use it as a rampart against XAML in the first place?

    Yes - the real threat of XAML is that it will become widely adopted on the web. Encouraging alternative browser use can do that. Since XUL offers a lot of the promise of XAML (for internal use), but is avaliable now, it should be possible to use XUL to encourage alternative browser use.

    What would need to happen?

    People need to start marketing mozilla-the-platform. In particular, people need to stop assuming that the market share of the Mozilla browser is going to increase significantly if it is marketed as yet another web browser. People already have web browsers (i.e. IE) which, by and large, do what they want. Mozilla may be better than IE in many ways, but it is still another application that needs to be installed, another source of trouble when websites don't work and so on. For the average business, there is no case to switch to Mozilla-the-browser. However, mozilla-the-technology offers the promise of rich GUIs over HTTP connections, reusing skills (like CSS and javascript) that companies already have. That's the message we need to promote - get this technology two years before everyone else. But there's no one doing that at the moment.

    jgraham - 24th October 2003 22:43 - #

  10. Allow me to add two comments:

    • First, Microsoft's next-gen browser is not Internet Exploder 7 but - surprise, surprise - Windows Longhorn itself.
    • Second, XUL is a dead end as long as it's tied to Mozilla. To help XUL break free and grow up I've started a couple of initiatives such as the XUL Alliance, the XUL News Wire, the Luxor XUL toolkit and more.

    - Gerald

    Gerald Bauer - 25th October 2003 02:53 - #

  11. I doubt XAML will be adopted in the Arabian world, because pronounced as "zammel" it would mean "gay". And I don't mean happy. :)

    Bas - 25th October 2003 16:18 - #

  12. It is somewhat depressing that Mozilla have such a great technology (XUL) but seem unable or uninterested in getting people to use it. Most of the Mozilla advocates are more interested in discussing tabbed browsing. Guido Van Rossum made an interesting remark somewhere about Open Source development communities and how languages like PHP, Python and Perl have amazing voluntary support, while part-corporate (when AOL were still involved) projects like Mozilla fail to get the type of following need to make them a success. XUL has been a reality since 2000 - it's now the end of 2003 and adoption hasn't really progressed. That's either a sign that it's not being promoted successfully or that there's something fundamentally "wrong" with it (JavaScript? Documentation?). Longhorn seems set to hit the streets in 2007 (perhaps), while Internet Explorer (and Outlook Express) has gone into stasis. That's 3-4 more years to play with, with no competitors, to "recapture" the GUI and make it truly cross platform.

    Harry Fuecks - 25th October 2003 16:34 - #

  13. Anyone interested in Gerald Bauer's comments may be interested in a Mozillazine thread on which he posts extensively. It becomes pretty clear that his definition of XUL is "any UI language that uses XML to describe the interface", i.e. XAML is XUL in his parlance.

    jgraham - 25th October 2003 17:30 - #

  14. So, 2006 until it comes out. At launch, 99% of the browsing public will still be using Windows XP or earlier (assuming they are using a windows os at all). XAML doesn't become useable until enough people can use it, except in business environments where someone can make the decision to move everyone to longhorn. On the web it will take a long while until there is critical mass of people who can view XAML. Even if XAML catches on quickly, I would be amazed if the percentages of people able to view XAML rival the same figures for Flash until several years after launch, and even today Flash is used for very little actual content of websites.

    sam newman - 26th October 2003 19:02 - #

  15. On the web it will take a long while until there is critical mass of people who can view XAML. Just want to point out that you probably won't need Longhorn to view XAML, but rather the correct version of the .NET runtime. It's still a big download (~30Mb right now, right?), but it's not like people will have to go out and buy Longhorn to see this content. I feel like it could catch on quite a bit quicker, more like the rate of new browser versions.

    Aaron - 26th October 2003 19:34 - #

  16. So basically, it's Konfabulator for the web, or what? Liked that idea instantly, though it doesn't use CSS but images referenced from the XML.

    Chriztian Steinmeier - 26th October 2003 21:19 - #

  17. XAML would win if XUL don't grow...It's certain.

    But XUL don't grow because of some constraints to use it. It seem's to be easy to write XUL but when you have "real Apps", it's not so easy. a little time ago, i had tried to build XUL apps and I found serious limitations which prevents me to continue easily.

    The reason :

    • No IDE : some advanced widgets exists, but it's not easy to manage forms and things like that. I had done it, year ago, with Motif, but not i'd like to build quickly my GUIs (I'm a lazy boy, now ;-)).
    • Javascript and XPCOM didn't really suitable to manage server calls. Luxor an thinlet are better for this, but aren't integrated to browser.

    I think XUL is a real beautyfull piece of code, BUT it needs some other layers to simplify devel (Framework like penzilla for example...).

    I will believe in XUL when :

    • some java taglibs will exist, or the same in other languages like php, python or .NET ;-))
    • some tools to help building GUI app(xulmaker is not ready for that...:-((
    • some little apps appear to demontrate XUL interests and to improve Mozilla adoption.

    bip - 27th October 2003 14:13 - #

  18. Just to add to the discussion, Microsoft now has a pretty consise overview of XAML in its new Avalon information section. It sounds like XAML is going to go way beyond just Web applets. It will be the new way interfaces are designed for Windows applications as well as Microsoftian Web apps. And the programming language used in conjunction with XAML isn't JavaScript -- it's any .NET language. This IS the future of Windows development. Yes, XAML is somewhat of a XUL rip-off, but I'm afraid that with Microsoft behind it, XAML is going to far exceed XUL's usefulness in the marketplace -- that is, unless the open source community gets its act together within the next couple of years. Regards, Jared

    Jared White - 28th October 2003 00:48 - #

  19. This just points out that Microsoft can not innovate. They just steal other people's ideas. Do you hear me Bill Gates? Microsoft DOES NOT innovate. They've stole all the best ideas from Mozilla, Sun, Sybase, Borland, VMS, BSD, and on and on... Microsoft is a monopoly plain and simple. No doubt I will hear how great microsoft is because of this fabulous new innovation from my co-workers, but in the end they are just great at ripping off ideas, and selling them as their own.

    Christopher Baus - 28th October 2003 06:19 - #

  20. Hmm. Well I read the article and it looked like a pseudo-xml GUI technology designed mainly for local applications (like Glade rather than like XUL), until it mentioned that JScript.NET could be used as one of the backend languages, which does sort of imply that remote applications will be possible. Neil Deakin over at xulplanet has a summary of the facts (although he seems to have missied the Jscript thing). Hixie has a summary of the developments from a standards point of view. And Eric seems to be out of a job in any case, because XAML appears to have a really really ugly formatting system that is CSS incompatible.

    Conclusion: Microsoft are not jumping on the XML bandwagon but ambushing it.

    jgraham - 28th October 2003 13:29 - #

  21. The major reason XUL hasn't caught on is, I think, simply poor documentation. There's no real spec for XUL (the XUL 1.0 spec is mostly a skeleton with lots of empty sections), no schema of any kind, and back when I tried it, error handling was really unhelpful; get the XUL document wrong and all you get is a blank page, with no indication of what the problem is.

    It's a pity. Writing XUL applications, if it was only slightly more difficult than writing HTML, might catch on like wildfire, but right now you'd have to be really, really motivated to struggle through it.

    A.M. Kuchling - 28th October 2003 14:45 - #

  22. Number one reason why people follow Microsoft is that they don't want to be part of the losers. If someone can not get right the obvious fact that the guy is not a Microsoft employee, you will get a good idea on the accuracy of their other claims about related technologies. Knowin simple tricks on web, css doesn't entitle anybody of being the perfect person for application development. That's something only big guys working in IBM and Microsoft can do. So when you say Microsoft thinks this way, you are actually referring to people who are far more superior than you in skills working for Microsoft. But since people think that it is ok to bash Microsoft, they never think about this aspect.

    Serge - 29th January 2004 22:47 - #

  23. Alright I think it's time for the W3C to take over the XUL specs and begin a holy guacamole discussion about it.

    People are complaining: Ah, boo hoo, xul is doomed, boo hoo... microsoft will win... boo hoo...

    Well, then do something about it! Email the w3c guys and start brainstorming.

    First of all, get a clear idea of what you want to do with XUL. Second, start working on the specs, the documentation, etc. Third, start working on a GUI for Borland's sake! Lots of people use windows, and I'm sick tired of not having a decent GUI for even C++ programs. The closest thing to a GUI is dev-cpp, and sadly it cannot compare to Borland Delphi or Visual C++.
    I'm tired of Linux zealots saying people don't need GUIs (I like using a graphical text editor, not vi or emacs - and yes, I use windows), or blaming everything on Microsoft, instead of putting some effort in developing FRIENDLY application development tools. That's why Microsoft has earned the market: GUI, I tell you. The heck, that's why Microsoft sold windows in the first place! A stolen Mac GUI.

    And the open source community don't move a finger about it. Want XUL to have some advocates? Work on GUI and RAD tools. NOW.

    If people want to take over the market, they need to take over Windows. How? By beginning to develop freeware TOOLS for windows. Where do we read that it's illegal to develop tools for windows? NOWHERE! It's a self-imposed restriction that anti-microsoft zealots brought upon themselves. And in the meanwhile, the whole community ends up paying the consequences.

    So, if we want XUL to overcome XAML, we need to work on windows tools (yeah, nice and pretty, with auto-installers, etc).
    That way the windows programmers will begin to look upon these tools and if they're good enough (and we know they will), those programmers will begin using them.

    OK sorry for the rant, but I'm as worried as everybody on Microsoft keeping the market... and people not doing anything about it.

    Rick - 24th February 2004 17:38 - #

  24. Right on Rick! GUI Tools or die.

    Don - April 15, 2004

    Don - 15th April 2004 18:35 - #

  25. I think the Mozilla people are too wrapped up in their own little world and technologies and are not considering the possibility of allowing XUL to be used with technologies besides the ones they are used to. XUL per se is extremely cool (BETTER than any RAD tool!) and easy to work with, however you can only use Javascript and C/C++ (using the difficult to master XPCOM) to write XUL applications with. Moreover, you are required to understand some RDF (which is the exact opposite of XUL when it comes to approachability) before you can write an XUL app. It's too bad XUL cannot be made to shine on its own.

    Jonathan - 27th August 2004 16:41 - #

  26. I feel like I'm stating the obvious here, but the reason why XUL isn't getting picked up at any great rate of knots by commercial developers is (and I'm not taking a swipe at the languages) that it seems you either have to be codeing in C++ or javascript. I feel that this radically reduces the list of developers. A high proportion of applications these days access a database, if your looking at developing a DB driven program, then I don't think either C++ or javascript are the best languages to pick. The good majority of data driven applications tend to be written in Java or .NET. While both of these would greatly benefit from XUL as a means of presenting the GUI, there's no easy way of hooking into it.

    If the Mozilla people are serious about getting XUL on the map before XAML comes along, then they should be looking at supplying as many hooks into XUL as they can. There needs to be an easy API for Java and .NET developers. I think its that simple. I'm coming from the view that I thought XUL was meant to be the presentation layer, it was meant to seperate the GUI from the business code. If thats correct, then surely allowing as many different languages to easily hook into it is a prime requirement.

    Neil - 15th September 2004 13:06 - #

  27. As Bip said, some rather common widgets are not implemented in XUL. Such as a slider and a spinner. A MDI window would also be nice.

    Nathar Leichoz - 3rd February 2005 05:29 - #

  28. Isn't it clear that in order to compete with a .NET technology, with its managed environment, enormous API library, security infrastructure, etc. it is necessary to come up with a language tightly integrated with an comparable platform, i.e. Java? That's what we're trying to do with the XAMJ project, and we are looking for people interested in contributing.

    Jose - 3rd July 2005 14:38 - #

  29. Well, as of this post, we're nearing the end of August of '05 and the discussion has been going on for nearly 2 years. It still seems that XUL isn't getting any play. We still need rich widgets, but I wonder how AJAX now fits into the equation.

    I have a feeling it's going to be a wakeup call to many in open source once Microsoft shows what you can do with XAML and Avalon, and it's going to be too late. I can't find the link, but about a year ago from this post there was some Microsoft guy that made news when he told the Mozilla guys to take a look at XAML. Can there be a crossplatform solution somewhere?

    Barkley Bogues - 22nd August 2005 08:30 - #

  30. Now that Microsoft have released it's XAML-based development tool (Interactive Designer), it appears that XUL and XAML are like chalk and cheese. I don't think the war is over yet, as it seems that unless you (a) download WinFX (36mb) and (b) have a high-spec computer with a decent 3D card, you won't be able to run a XAML-based application. I have spent quite some time now developing in Macromedia's (I still can't call them Adobe) Flex 2 (currently in beta). If you are looking for a platform independant, rich GUI development tool, look no further. It runs well (new Actionscript 3 ECMA-compliant) and is a pleasure to develop in (their XUL equivalent in MXML). Their licensing used to be completely unreasonable, but with Flex 2 it is basically free if you do not use their IDE (Eclipse-based) or Server product (Flex Enterprise Services). We have written our own LAMP-based server and the whole thing runs brilliantly. There are plenty of "wrappers" out there if you want to build it as a standalone application. May we live in interesting times...

    HiveMind - 18th February 2006 03:54 - #

Comments are closed.

Previously hosted at http://simon.incutio.com/archive/2003/10/24/microsoftsXUL

A django site