“Microsoft’s XAML has a lot of people worried. Its advantage is to bring the ease of web page authoring and scripting into writing .NET application user interfaces. This makes immense sense. We have a desperate need for decent user interfaces, and the place where a large body of UI designers and programmers live and work at the moment is in web pages.” Read the opinion of Gnome’s Edd Dumbill and a reply from Miguel deIcaza.
He forgot Qt Designer + UIC + XML-GUI. I realize this is a GNOME-oriented article, but the fact that he mentions XUL makes it more of a survey of XAML-like technologies.
I don’t see why anyone should really be worried — OSS desktops already have much of the capability XAML will bring. I mean, KDE already uses XML-GUI to specify all its menus and toolbars, and the new KConfigXT framework allows you to use XML files to generate nice, consistent dialog boxes and preferences panes.
And I really did not like de Icaza’s take on this. We shouldn’t be copying Microsoft API for API. That’ll always make us second-class citizens, and we know where that plan got OS/2! We have the advantage that our stuff (Qt/GTK+) actually works on Windows. Its better for application developers to target something like that, and have it be first-class on both Windows and *NIX, rather than to have them target MS-specific technologies.
Even though webpages currently don’t support drag and drop and other OS interactive features, but they are common to every user of the Internet age, and UI design in text format (HTML, XML) should be good for the programmers and those who would like to modify the interface of their favorite programs.
… totally and completely focused on cloning anything and everything that MS comes up with. Miguel has a loooonnnnggg history of fawning over MS technologies to the long term disaster of GNOME’s technological bedrock. Miguel would clone, clone, clone… while other leaders not so easily taken in with the marketing of MS vaporware have chosen to make something unique and new. Just take a look at miggy in action:
“The future of Linux on the desktop is in fact on the line: if enterprise developers and IT developers fall in love with Xaml for building their in-house applications it will marginalize again Linux on the desktop.
There are two views of how to solve this problem. The Nat Friedman view of building a matching system in the meantime: leveraging our existing technologies, or the Miggy-view, which is lets implement the Avalon/XAML API. I think we should pursue both paths.”
The future of the Linux desktop is on the line???!!!! Because of Xaml?????!!!!!
Is Miguel even aware of an objective reality at all? I mean give me a break. Miguel’s answer? Clone the MS API of course.
I know how easy it is to be taken in with Miguel’s snake oil, but please, people need to see this for what it is. Miguel is transfixed with everything MS. It is not about seeing worthwhile features from MS, it is about *clone*, *clone*, *clone* … until MS decides to sue his ass.
All of the Miguel apologists will insist that if MS were to sue him, well, Mono has other good stuff that isn’t directly cloned. My answer? Well, just listen to Miguel! The very future of the linux desktop depends upon cloning Avalon/Xaml? What more proof do you need that Miguel has strayed *far* away from anything resembling reality?
Miguel has missed his true calling. I’m convinced that if .NET had never come along Miguel would be working full steam on the Wine or Samba project. He’s too enamored of cloned MS technology to kick the habit. I mean, if he has his way GNOME developers will make their applications dependant upon cloned MS api’s which will lead to the inevitable flying law suits in a few years time.
The sad fact is, GNOME is doomed to follow Miguel’s ominous plans. For better or worse, Miguel has the de facto veto on this despite all cries to the contrary. How? Simple. One word: Evolution.
Miguel is the CTO for the Ximian branch of Novell which leaves both Mono and Evolution clearly under his jurisdiction. Both are products of Ximian/Novell first and Open Source projects second. And as GNOME’s flagship piece of software… as Evolution goes… so goes GNOME. And Evolution is decidedly going full tilt towards embracing Mono/C# and by extension all of Miguel’s future cloning plans. The process is already underway. Major pieces of Evolution and new features are being developed with Mono/C# and that trend is only likely to increase.
With MS filing for patents around the core API (yes, they are filing for patents on the ECMA standard core too) and Miguel hellbent on cloning them… I just don’t see how GNOME is going to survive long term. Not to mention the shear inanity of cloning all these API’s. It is just not a good strategy.
oGALAXYo on Slashdot:
>Don’t worry my Anonymous friend. The time will come and
>people will understand me. My Mailbox is currently filling >with feedback from people who fullheartly agree with me >since they were also victims of the GNOME zealots.
Now that you know that there are so many who support, please fork Gnome! I (and I think I’m not alone) saw your posts for years, now that you feel that you’re understood by so many people it is time for you to move along! leave the (few?) ones that are happy with the current direction of Gnome behind and fork the whole thing. I’m sure we will all love the result of this.
I have taken a swipe at XUL and I would like to say it beats XAML. XUL will be made available as XRE (XUL Runtime Engine) for the development of GUIs for various apps.
Damn it, for once OSS devs could use XUL (which is an innovator, not XAML) rather than copy MS. Heck, maybe when XRE and GRE stabilizes, I’ll start my own DE war. This way the apps and DE will have better cross-platform capability, componenet model via XPCOM. All this without restrictive licenses.
-magg
If you read carefully (which I doubt you did) you would figure out that there is nothing wrong with GNOME as project, idea and philosophy. I was talking about certain people who sit in upper positions who cause an harrassment on others by namecalling them, slandering them etc. What you have read from me for years (thanks for confirming that I am at least part of GNOME for years, even the way you did it isn’t the way I would have seen it) then you may understand that these problems are there for years as well. As long nothing changes nothing much will improve.
I am talking here about people, developers, contributors, users who got permanently taken to the shambles, where people are being talked in the back and stuff like this. This all has nothing to do with wanting to fork GNOME (even if I had the idea in doing so a couple of times).
My question to you is: Would you really want to be part and contribute to a GNOME project where you are under direct control of some selfish people or where some people take their right to judge about you or play the selfdeclared boss ? While you are chatting nicely with them on IRC channel A) they were making jokes about you in the secret channel B) like they are even doing with their own people when they are not around (yes those who hack their ass off on contributing GNOME – NOT JUST ME). Please spent some time reading the entire stuff and not half of it. This will give you some understanding how the reality looks like.
What I replied on /. (where someone has cut&pasted my initial message from gnomedesktop.org) has nothing to do with what you like to accuse me or want me to do these are two different things and it took me quite some while figuring out what’s going on. Yes, you did heard about me for quite some years since I am part of GNOME for all these years (at least I thought I was). So you have answered your own question as me being a serious resource of truth since I know what’s really going on.
>> I was talking about certain people who sit in upper positions who cause an harrassment on others by namecalling them, slandering them etc.
Are you speaking of Jeff Waugh? ‘Cause I don’t like’im either…
.. oh yes .. (read my replies on /. click on the beyond your threshold link at the bottom of the URL I post above)
oGALAXYo wrote:
>If you read carefully (which I doubt you did) you would
>figure out that there is nothing wrong with GNOME as
>project, idea and philosophy.
You DO now that this is going to hunt you when your next rant about gconf,preferences,HIG and, I believe, every other aspect of Gnome is posted?
Do you even know yourself how the above statement coming from you is contradicting a lot of you rants?
>> I was talking about certain people who sit in upper positions who cause an harrassment on others by namecalling them, slandering them etc.
“Others”. Who? If you’re going to throw this sort of stuff around, you should back it up.
I will agree GNOME does seem to be a exclusive club when it comes to the upper reaches, controlled by Red Hat, Ximian and Sun. You see some pretty precocious remarks on their mailing lists. They do make decent software though.
> Do you even know yourself how the above statement coming
> from you is contradicting a lot of you rants?
How about the replies I got from other people which I made public too (in form of an excerpt (that means only a few of them)). Of course you accuse them to be flamers and trolls as well. Your views are quite limited.
Look I only gave an initial statement with my first comment here which is probably a subject to be deleted pretty soon. And that’s all about it. People can spent time reading it or simply ignore it. You have the choice to do whatever you want to do.
If you want to have changes in GNOME, like new people participating, like seriously working motivated on fixing the problems in GNOME (like gnome-vfs which wasn’t touched for long) and other aspects in GNOME like UI, Code, Patches and so on. They you should seriously start acting like normal people and give those who participate the same rights with their work. The project GNOME is getting bigger with every day. People have more expectations on GNOME (not just some hacks from version to version), they want a working Desktop to really get the things doing they want to do. Not just talk, also doing. There were a lot of people who wanted to help GNOME to exactly become what it was aimed for and the majority simply got scared away. You should think about this.
OSNews.com is filling with good advised from Eugenia, with a lot of good stuff and of course some things I rather don’t like to see. You should take account of these people and respect their hours of investigations a) into GNOME, b) offering solutions to make it better. But then sitting in the IRC channel and write stuff like ‘look Eugenia is up for trouble again’ and similar even worse statements get YOU nowhere and the USERS of course nowhere as well. People who like to contribute are more or less the minions to fix outstanding last minute problems for the upcoming 2.6 release but they are NOT part of GNOME, the same way like others. As long you keep your own world within GNOME nothing much changes.
Sent me an email and I forward the stuff to you.
oGalaxy, please stop it. All the things you write here have nothing to do with XAML and the programming topic.
First you reply with
>If you read carefully (which I doubt you did)
Which shows what kind of person you are. How you think you are so above everyone else.
Then I show you how your remark is contradicting a lot of what you did rant about in the past and that I did read a lot of your posts.
And what is your reply?
You’re sidestepping the thing wrote, ignoring it and then reply with:
>Your views are quite limited.
Keep up the good work!
Well, clone is one of most important part to pull people/companies and get your desktop/apps popular. Don’t you see, Evolution is a popular email client, because it used to be an outlook clone in the first place and now it has lesser outlook clone in the lastest version. Check my comments: http://www.osnews.com/comment.php?news_id=6198#205876
He won’t fork, because he rathers to waste his own time on trolls, non-sense rants, bs and etc. If I were an admin, I would delete every of his non-sense posts.
I understand your point about cloning, and I think you’ve got something with it, but I think the .NET situation is subtly different. de Icaza isn’t just making something similar to .NET, to ease the transition for people, we wants to clone it API for API, just like OS/2 did for Windows. In that, you have two critical problems:
– You have to waste your time staying compatible;
– You make yourself look like a cheap knock-off.
Consider that C# is not a clone of Java, but more of a copy. Evolution is not a clone of Outlook, but a copy. Both are differentiated products in their own right. They can stand out as independent products, and are different enough to compete on level-ground with the originals. In contrast, Mono and Monkey-XAML appear for all intents and purposes to be “the Linux version of .NET” That creates a master/slave relationship that could be very stigmatizing.
What’s the difference between clone and copy? I think, I am a little confuse on clone vs copy. 🙂
As I’m using it anyway, a clone is an attempt to be a perfect copy of something. OS/2’s API was a clone of Windows’s. Mono is a clone of .NET. Compaq’s original PC was a clone of IBM’s. A copy (admittedly, a bad term to use, but I can’t really think of a better word) is just something that looks very similar, but is differentiated in some way. Evolution is a copy of Outlook. C# is a copy of Java. Linux is a copy of UNIX.
You make the good point that its often good to copy something existing and popular (eg: Linux would never have become as popular as it has if it wasn’t similar to UNIX). However, I think you can go to far and hurt yourself by *cloning* an existing product. A copy can stand alone, be independent, and have unique characteristics. It can differentiate itself over time. It does not have to be secondary to the original, and can thus compete with it as an equal. A clone, however, does not stand alone. It cannot differentiate itself over time (for the risk of becoming incompatible). It is always a shadow of the original.
I feel MS has done some interesting extending to the XUL concept, and produced something fairly usable in a Longhorn development environment. So to this extent I agree with Miguel in that to coerce Windows developers to Linux you need that particular development platform that makes the transition less painful.
However, I don’t believe (as some here do) that Miguel’s intentions are to “clone clone clone”. Instead, he is looking to provide a platform that is interoperable with what the competition offers in terms of a development platform. After all, the applications make or break a desktop OS. Like it or not there are a hell of a lot of skilled developers writing really great apps on Windows, and encouraging these guys to even consider “trying their hand” at porting to linux is a great thing.
Glade is an acceptable UI development tool that provides a point and click way of doing things. It provides the basics of what XAML offers, but I agree with Nat that Gnome would require a custom built solution. A lot of the features and markup offered by XAML would require the fd.o X server to implement, and hence a “Monkey XAML” is not really a solution *right now*. Instead I feel the development expertise and time should be put to extending and improving Glade and the glade-sharp wrapper.
Thanks, I understand now.. Not easy to get the right word or explain when I am trying to make any point. 🙂
It is always a shadow of the original.
Good point, so true. It’s not easy to get above the original like what AMD has finally did it by create x86-64. Now, it’s Intel’s turn to follow AMD at the moment.
Have these guys (Edd especially) ever heard of wxWidgets http://wxwindows.org/ (formerly known as wxWindows)?
It’s a cross-platform UI toolkit that renders using native widgets (GTK+, Motif, Qt in development for *NIX) and it has had support for XML files called XRC http://www.wxwindows.org/manuals/2.4.2/wx478.htm for some time.
The toolkit is primarily C++, but bindings exist for various other languages. Oh, it offers cross-platform networking (without having to worry about winsock vs. Berkely), too.
I think before worrying about XAML they should rather worry about making a form designer for MonoDevelop and GTK#, I believe it’s a long way to go to catch up with SharpDevelop and even a longer way to catch up with VisualStudio.
I was reading in a MSDN interview 400 people working on Avalon, I wonder if that can be true
The concept brought by XUL is good but it does not offer a real MVC seperation that will ease the developpement of complex GUI.
XAML instead of going “embrace and extend” just decide to get rid of all the existing technology and bring a new one, are MS architects just d*mb thos days or what Why didn’t they first brind this in .net instead of bringing API and then killing it for a new one ? Why didn’t they just embrace&extend SVG ? (adding just a component oriented model on top of it for instance)
These both tech bring interresting concepts, but they are NOT the next hype because they forgot major concepts.
I do hope that W3C will brought us some cool spec in a while 😉
I totally agree with you. But we must remember certain ideas and their corresponding technologies have their own time. XUL was way, way ahead of it’s time when it came out- the market for this kind of technology simply wasn’t there yet. That was then this is now. What failed some number of years ago now has a very real chance of succeeding. All of the points that Edd Dumbill raised concerning XUL have been addressed in the presentation made at the recent conference concerning the future of Mozilla development. http://www.mozillazine.org/talkback.html?article=4414
If GNOME and Mozilla could now work together XUL with native widget tie-ins and native “feel” components (HIG/dialogues etc.) could become a reality which would provide GNOME with what they are looking for and finally bring the incredibly powerful and innovative XUL technology out of the shadows and into the limelight. Mozilla has been reluctant to really endorse Linux, this is mostly a cultural thing, but it now belongs to the past. The presentation makes clear that now is the time to endorse and pursue Linux as *the* platform for the development of the future of Mozilla. Moreover Mozilla now wants to purse a) more tie-ins with native widgets and native “feel” components-enabling XUL to be used for creating native applications b) more language bindings to enhance the scriptability and interoperability options when using XML c) finally finishing and perfecting the documentation work regarding XUL and making XUL easier and more accessible to developers d) completing a good SVG implemetations and integrating it into Mozilla/XUL.
I really want to see XUL submitted for standardization by the w3c. It is finally time that XUL gets the recognition and use which it deserves. People unfortunatley are still scared to touch the technology due to the massive disappointment and fallout which occurred at the beginning of the .com boom. In my laymans understanding of these technologies I can’t help but see the similarities and possiblities which arose surrounding such core technologies. When Java first became popular there was the chance of Nestcape and Sun working together to implement the first real middleware solution to computing. Netscape feel victim to the shenanigans of Microsoft and mismanagement and Java became popular through a bastardized m$ implementation. Apple during it’s rhapsody project was also developing something quite similiar-furthering work which Steven Jobs had first started with Next Inc. Even QT/KDE has elements of this approach. Traditionally we have had the distinction between the operating system and it’s applications. Microsoft by using undocumented API’s for it’s applications has been doing “middleware” in effect, but without cross-platform capability for years- and this has been fundamental to Microsoft’s approach. Sun wanted to have a Java based monopoly of oeperating enviroment and application environment-somethiung which at once was portable and cross platform but which was native only unto itself. XUL presents an application environment. IF XUL was standardized and put to use by the community and people would take the issue of native look and feel seriously, like the SWT folks are beginning to do at IBM and to which Mozilla has now professed a desire, we, the open source community, may finall y be able to collectively pool the strengths which each of these developments have and put them to come common cause. If Sun and IBM could find a way to open source Java, if Mozilla would submit XUL for standardization, if native “look and feel” tie-ins could be implemented at the API levels in Java/XUL and the native toolkits (GTK/QT) the open source community would command the most powerful application development technologies which exist- and this would enable the not only cross platform applications but even cross-IDE applications.
I can understand the hesitation due to past failings- but everyone here stands to benefit from these groups working together and really utilizing what we already have. All *NIX based systems would immediately profit from this kind of development-whether they be Linux, Mac OS X, Solaris or AIX. Applications which were built with such multi-tier structures would run on virtually any operating system which exists- yet the real benefit would be for those systems which have been struggling to get the applications which they need.
QT/KDE went ahead and said ‘ok-since the other guys won’t work together and make this happen, we are going to do it ourselves’. Yet QT/KDE’s approach- which is excellent is a QT/KDE-only approach. If Mozilla would now really mebrace the Linux community and allow for new cooperation between themselves and GNOME, if QT/KDE would also take advantage of these developments to offer XUL integration as well, if SUN and IBM would open source Java and use XUL+ native integration via GTK/KDE/AQUA/GDI…….
enough If’s… I can’t help speaking in the conjunctive, the possibilities are just amazing even if the day-to-day realities are often quite banal….
–> Java, XUL, XML <–
The Java Republic Poll:
What Java XUL Toolkit Do You Use Most?
http://viva.sourceforge.net/republic/2004/02/poll_what_java_xul_too…
– SwiXML
– Luxor XUL Toolkit http://luxor-xul.sourceforge.net/
– XML Windowing Toolkit (XWT)
– JellySwing/SWT
– Thinlet
– Jazilla NG
– SwingML
– XUI
– XSWT
– Nyx (soon Xulux)
—-
another one that they didn’t mentioned in the poll is
– jXUL.org http://jxul.sourceforge.net/
but it seems like the project is no longer active.
(sorry, i had missed all the links)
– SwiXML : http://www.swixml.org/
– Luxor XUL Toolkit : http://luxor-xul.sourceforge.net/
– XML Windowing Toolkit (XWT) : http://www.xwt.org/
– JellySwing/JellySWT : http://jakarta.apache.org/commons/sandbox/jelly/
– Thinlet : http://thinlet.sourceforge.net/
– Jazilla NG : http://jazilla.sourceforge.net/
– SwingML : http://swingml.sourceforge.net/
– XUI : http://xui.sourceforge.net/
– XSWT : http://sweet-swt.sourceforge.net/designdoc/xswt_design.html
– Xulux (formerly Nyx) : http://www.xulux.org/
– jXUL : http://jxul.sourceforge.net/
—-
almost all of these projects are active.
may be the only problem with Java XUL is .. there’re too many implementations.
(and well, when you’ve got into this situation … the interoperability issues arise)
talking about GNOME,
Mono is fine .. but I don’t think we can go along the way with C# (i mean, it is a good language .. but in case that people don’t want to walk with MS techs all the time).
Java-XUL-GNOME could be possible,
only if we put some more efforts on this
Java-GNOME
http://java-gnome.sourceforge.net/
My perception may be wrong, but it is my perception nonetheless. The problem with GNOME and open source software in general is that the leaders in the community always seem to be focused on the next best thing. They never seem to be concerned with perfecting current infrastructure. As a desktop application developer this is very unsettling to witness, and is very offputting when one is looking for a platform to develop on. With all this talk of XAML replacing HTML (bunk, in my opinion) and becoming the UI language of choice, how long before Ximian does yet another long rewrite of the Evolution UI so they can properly suppport GnomeBonoboMonkeyApe API version 13.0067. Give me a break. Focus people, foooooocus!
I’ve always hated web apps. Yeah, they have their uses and make sense for a lot of things like checking your bank account and things like that, but the functionality is crap. I guess javascript can take up some of the slack, which I can now use thanks to pop-up blocking in Firebird, and I guess there are applets(which seemed to have gone the way of the dodo bird these days), and I guess there are IE-only solutions(not good). So my question is, is the W3c doing anything about this to give web apps a richer interface? Maybe it’s a tough problem because web development goes slow and IE has stagnated and so on and so on. Maybe this is the time where Mozilla can take the lead. Also, is XAML actually going to be in IE? I hope somebody comes up with a standard fast so that we can have rich web clients.
I couldn’t have said it better. Gnome is yet to exhaust or even exploit optimally and efficiently its current technologies, yet here we are talking about how to clone yet another Longhorn implementation.
Also, is XAML actually going to be in IE?
If the documentation I’ve seen is correct, you write an Avalon GUI in XAML and have a choice of styles for that GUI. The one they seem to be pushing the most is a browser-like interface.
Now, if I’m interpreting the documentation properly, IE will be handled no differently than any other Avalon window, except that actually launching IE will launch an Avalon window pre-configured with the browser buttons (back, forward, stop, refresh, etc). XAML can configure the window in the same manner or in a more app-like manner, and can be used locally or over the internet.
The idea is more or less that XAML will replace the presentation side of both Windows.Forms and ASP.Net. So, in short, it can render in IE, but the real reason is simply because IE isn’t any different from any other Explorer window on the system. Then again, there’s nothing about XAML that should make it particularly hard for any other browser to render, either, it’s just that it would have to be supported to render properly, and I have to wonder how many browser developers would be willing to hand over many portions of their UI to XAML (maybe Mozilla could just translate to XUL to interpret natively). After all, XAML doesn’t just effect the portion of the browser currently effected by standard HTML, it also effects the frame and controls of that window (which has been possible to some extent with various technologies over the years).
IMHO if this application modell will appear, it will replace the present solutions (javascript, flash, java applets), because it is more flexible, easier to create ritch web user interface. Yes it not linux compatible, but IMHO the 99.9999% of web masters don’t care with linux (or mozilla) users. Let see the web pages: most of web sites are optimalized for IE only. And without web browsing capacite the linux desktop is dead. Both KDE, Gnome and ICEWM. The one and only hope of the future of linux the mono project. It is a wery pale hope – M$ license and the resist of the big part of linox community – but IMHO only the .NET compatiblie platforms will survive. And it is true not only the desktop, but also on server side: without ASP.NET Apache can’t race with IIS.
“The problem with GNOME and open source software in general is that the leaders in the community always seem to be focused on the next best thing. They never seem to be concerned with perfecting current infrastructure.”
You’re wrong. They are busy improving current infrastructure. Some people work on existing things, other people work on new things. Some people are fixing bugs, other people are improving current APIs, yet other people are inventing new stuff.
Just because the press talks about the Next Big Thing doesn’t mean the entire project is focusing on that.
My perception may be wrong, but it is my perception nonetheless. The problem with GNOME and open source software in general is that the leaders in the community always seem to be focused on the next best thing. They never seem to be concerned with perfecting current infrastructure.
This is why larger projects (like the kernel, for instance) often have a stable and unstable branch. The stable branch handles perfecting the existing technology, while the unstable branch takes on new technologies, moving the state of the art forward and weeding out the technologies that aren’t worth maintaining. Some projects, unfortunately, never manage this dual-structure properly, though, and leave people lurching from one release to the next.
As a desktop application developer this is very unsettling to witness, and is very offputting when one is looking for a platform to develop on.
I find it more unsettling that so many projects are willing to completely revamp APIs and drop support for older ones very quickly. On the Windows side, you generally have at least 1 major release that continues to support the older APIs (and in most cases we’ve had several releases, they’ve only recently even made an appearance of speeding up the dropping of old APIs). Of course, it’s much more forceful a change on the Windows side, because you can’t get any of the benefits of a new Windows version without taking the bad side, whereas in OSS you can mix and match the pieces you need with the pieces you want, and avoid sudden API changes until you’re prepared to deal with them.
Frankly, as a developer I find the lack of solid up-to-date documentation for many of the APIs in Linux distributions (and other OSS systems) more disturbing than the speed of changes. Too many people expect the code to do the talking for them, when the reality is that I don’t want to look through a few thousand lines of code in hopes that someone actually put a good comment on the API I’m looking for. The speed of changes only becomes an issue when looking for hard-copy documentation and more general information. I’ve got books sitting on my shelf with CDs in them that contain Red Hat distros 4+ versions old, and the books aren’t even as old as some of the references I still have to use occasionally for maintaining Windows software (though I’d love to rewrite most of that software and get rid of those books, we rarely have the time for the debugging that would have to come after the rewrite).
In that, you have two critical problems:
– You have to waste your time staying compatible;
– You make yourself look like a cheap knock-off.
I don’t think the term ‘problem’ fits here. As far as I understand Mono from what I read here and there, it splits into different parts: the ECMA compliant part, and the rest. There may even exists an ‘original’ part on day.
But it doesn’t help if one tries to ‘copy’ something because there’s no chance to get widly used if ‘your’ system has less than 3% market share. It would be a lot of work for application developers to make the application run on your system, too.
That’s just the situation today: porting costs are high and possible returns are low. I think, one of Monos goals is to reduce the cost site. There is no other way instead of cloning (the API).
Miguel seems to share this point of view, and every comment that he does so because he likes Microsoft technology is just plain stupid.
And as a site note: It seems to be a general ‘law’ of open source that there must always be a competitive project to make people work (or change their direction). It looks like Sun is rethinking their Java strategy after they found out how many open source developers are willing to support Mono.
IMHO if this application modell will appear, it will replace the present solutions (javascript, flash, java applets), because it is more flexible, easier to create ritch web user interface.
Things like JavaScript and Java can be used to write applications that use this application model. In fact, MS will probably write implementations of both (ECMAscript and J#). Additionally, the Windows interface doesn’t suddenly drop compatability with HTML just because XAML is out there. That would just lead to millions of users downloading FireFox and Opera, which MS wouldn’t want.
Yes it not linux compatible, but IMHO the 99.9999% of web masters don’t care with linux (or mozilla) users. Let see the web pages: most of web sites are optimalized for IE only. And without web browsing capacite the linux desktop is dead. Both KDE, Gnome and ICEWM.
From the client side it’s not really that hard to make Linux compatable with this technology. It’s just an additional markup language to interpret, and in the end the browser that receives it determines how to handle it. As a web-based technology, this stuff is meant to render anywhere, and the logic code that may be run client-side is little different from existing client-side web-based code. Most of the code is in the core application logic, which is still going to be on the server.
The one and only hope of the future of linux the mono project. It is a wery pale hope – M$ license and the resist of the big part of linox community – but IMHO only the .NET compatiblie platforms will survive. And it is true not only the desktop, but also on server side: without ASP.NET Apache can’t race with IIS.
ASP.Net’s presentation side (as well as that of Windows.Forms) will be replaced with XAML. This is hardly a problem for Apache or any other web server. Web servers don’t need to generate XAML to survive, and if they decide that they want to, it’s not particularly hard to generate in the first place. Nothing about XAML ties it to ASP.Net or any specific language, it was built to be compatible with any language that can handle a class library to manipulate it. The only worry with XAML is that MS might keep it from being standardized and may try to patent portions of it (and probably already has). In that case, not even mono will be able to help with any problems XAML may cause.
So my question is, is the W3c doing anything about this to give web apps a richer interface?
Well, there’s XForms.
> This is why larger projects (like the kernel, for instance)
> often have a stable and unstable branch. The stable branch
> handles perfecting the existing technology, while the
> unstable branch takes on new technologies, moving the state
> of the art forward and weeding out the technologies that
> aren’t worth maintaining. Some projects, unfortunately,
> never manage this dual-structure properly, though, and leave
> people lurching from one release to the next.
When was GNOME stable ? Giving it a stable version number doesn’t make it stable at all. Since 2.0 GNOME always moved from version to version but hardly offered stability, reliability and so on.
When was GNOME stable ? Giving it a stable version number doesn’t make it stable at all. Since 2.0 GNOME always moved from version to version but hardly offered stability, reliability and so on.
Gee, maybe that’s why I didn’t mention Gnome. Oh wait, the real reason is simply because I haven’t used Gnome since before they went to 2.0 and wasn’t sure enough of their development structure to single it out. I mentioned the kernel, used words like “often” rather than “always”, and even in the section you quoted, mentioned that, “Some projects, unfortunately, never manage this dual-structure properly, though, and leave people lurching from one release to the next.”
These guys eat vaporware for breakfast. Come on. Dotnet and Mono have not delivered yet. The Web Apps nowadays are still programmed in hundreds of different languages/frameworks.
Windows XP hasn’t dominated the market (Longhorn will be a free upgrade to those that use WinXP ?).
Anything that Microsoft tries to produce has only one goal that is to bring cash IN !
Their Marketing camp better work very well !
Will Longhorn and XAML run in my celular ?
And you better open your eyes: it’s Microsoft that are playing “catch-up” for a while.
See Java -> Dotnet
See XUL -> XAML
See OSS -> Microsoft Shared Source
Etc. Etc. And Etc.
Just out of interest, where did the notion come from that XAML will substitute for ASP.NET? Painkiller was been claiming this a few times. This is definitely not the case.
“Frankly, as a developer I find the lack of solid up-to-date documentation for many of the APIs in Linux distributions (and other OSS systems) more disturbing than the speed of changes.”
Yes, I definitely agree with this. I have yet to see the equivalent of a Gnome java.sun.com.
Can anyone really picture a company like Adobe creating an app like Photoshop on a platform like Gnome!? I certainly don’t think so. Why? Probably because they’d be afraid of API breakage a couple years down the line, not to mention they would have to deal with a pseudo object oriented C API that is GTK.
Pardon me, but no sane developer wants to write a GUI app in C. The only good apps for Gnome are those written by people who wrote Gnome itself, thus they are initimately familiar with it’s many cryptic underdocumented APIs.
The reason why the Linux kernel has been so successful is because people have grown to trust its stability. When Linus and Co. release a stable version, it means that in the majority of systems it is going to be STABLE. Open source projects far too frequently release beta quality software and try to lable it stable. How many people have seen that Head & Shoulders commercial, what is it? “You never get a second chance to make a first impression.” It’s like Mozilla releasing a “stable” Firefox browser that doesn’t even have functional bookmark sorting capability.
Don’t try to sell me a jackass and try to convince me it’s a horse.
I think most people down’t really comprehend the challenges of
XAML, XUL and similar technologies, and therefore how important
mozilla is for everybody, from commercial developers, startups to
open source users/developers.
First, ask yourself: If you need to create a simple form
application, very very quickly, why would you prefer using a web
based interface? There are many reasons:
1) Familiar Tools: There are many familiar tools available, such
as WYSIWYG style interfaces for html design. I can fire Frontpage
and have a decently working and looking interface in minutes,
without any training. Everything is very intuitive. I don’t like
some color on the page, I can easily hand edit the html code to
change a color. I can even integrate some CSS if I have more time.
There are excellent tools available almost on all platform for
everyone’s taste. Dreamweaver, Quanta, Hot Dog, etc. I don’t have
to use Glade, or I don’t need to try to figure out how to use it.
2) Choice for programming: To develop my application I need to use
some programming environment. Perl, Python, Java, C#; ASP.Net,
CGI, php, javascript, whatever. I am free to choose, and I should
be free to choose my environment. I shouldn’t have to learn new
half baked ways of doing things.
2) Documentation: This is the key. Documentation for most people
would mean BOOKS. It is very important. Except the special case
named “perl” and its excellent documentation (perl is a very
special case in many regards), there is no way a developer would
spend time browsing half complete open source documentations. Why
is C# and Winforms suddenly this popular? Because I can go get
excellent books written by brilliant people on very specific
topics of .Net; from remoting to component development, web
services, etc. How many books are there on Glade based
development?
It is clear why Microsoft chose XAML. Same reason as mozilla chose
XUL. Power, flexibility and the reality that came with the current
web based environment. There are very good reasons why it is
impossible to create a replacement for XUL or XAML from scratch
(or from existing gnome technologies) as Miguel or Nat intend. It
is a dead end in many respects.
These are very complex technologies, non trivial to implement. The
issue is not having an xml based gui. Think about this
hypothetical example: Say, I want to implement a web browser. I
can easily start coding by thinking
that “b” means bold, “i” is for italic, etc. I can probably get 5% of the basics quickly.
If I try hard, I can get 10%. Miguel tries harder and gets 80%. This might be good
for some sort of rich UI development if you restrict yourself to a
small subset. Great interface for Gnome. Guess what: with 80% I
can’t just use Dreamweaver to create an interface. I have to read
Miguel’s documentation, find limitations of his implementation.
Either hand code or use a half baked interface generator he
designed, etc etc. Ok. What I am trying to get to is; If somebody
(mono) wants to implement XAML or XUL, they have to
have a complete working html rendering engine, 100% compatible upto
CSS2 level. Otherwise it is too limited. Secondly, they need to
have a fully working implementation of SVG specs. I need to be
able to use any SVG dsigner (and buy any SVG book). Both of these
are very very hard problems by themselves. Then, they need to have
these working on every platform mono runs working (meaning
everywhere), pretty much impossible. People critisized mozilla to
spend too much time to implement its own widget set. Guess what
for a system like XAML, you have to have a complex platform
independent implementation of widget which can dynamically change
under many kinds of transforms (Not even remotely supported by
most desktop environments), and most importantly, tightly
connected to the GUI (HTML, JS, CSS, etc).
This is why mozilla is very important and this is why we should
thank AOL a lot. Thanks to Netscape too. We have a very good
platform independent html engine, JS engine, other technologies
and soon an SVG engine.
We are lucky to have a client solution for future technologies. I
believe the client (GUI) is the hardest. That is why Microsoft
cannot be easily challenged on the desktop, and that is why it
took more than 5 years for mozilla to reach a point of becoming a
platform. But what are our answers in the server side. Any answers
to ASP.NET. Is there anything cross platform that can create rich
server side web applications (Not php, I mean something events
based).
On the language front, Python, Jython, perl, parrot, etc. are way
ahead of their competition by their potential.
On the high performance programming language it looks like C# is
becoming the standard. Mono, dotgnu, etc. java is I think sort of
behind the times. I don’t think any scientific research seriously
use Java because of speed and its difficulty to interoperate with
C. C# is faster than java, quite comparable to C/++ and faster if
you use .NET libraries, better designed. I wish there is an
innovation in this area similar what perl has done in an er
dominated by Visual Basic.
I think Miguel has got a point. If the developers fall in love with XAML, Linux will be totally marginalized (it already is a little marginalized… just look at how flash plugin works so badly in Linux).
The problem really is… the Internet was made to be accessible by *everybody*… and that’s why the WWW has got so many standards. If people will stop following the W3C standards and start following the MS standards… this can lead to a very very ugly future.
Victor.
One good thing about XAML being XML based is … XSL. Converting XAML to XUL, SwixML (a current favourite) or any other XML based UI description language should be a comparative walk in the park. All you have to do then is interpret the actual processing code.
Meanwhile the Windows designers/developers are using Visual Studio to program, that’s the real killer app that even Miguel can’t clone . This XAML is just the tip of the MSiceberg
Please note that Miguel only said he found this article to be an interesting read, not that he will rush out and do this. Secondly, consider the source : Edd Dumbill is Managing Editor of XML.com so it’s safe to assume he is somewhat biased towards using an XML based aproach 🙂
The quote that really had me shouting at my screen was this : “XAML’s benefit is to bring the web page design culture into the richer world of native UI.” Really ! How many well designed web pages (not only looks but also functional/easy) do you visit ? I can’t wait for the apps with buttons you have to hoover over to see what they do, animated pictures everywhere and a fluorescent green background.
You make some interesting points, and so I will ask what can be done to speed up the process of rich web-based clients? It looks like Mozilla is over the hump regarding actually having their technologies down. It took a while, but it’s there. I only use Firebird now. Is this a W3C problem? I like the idea of a web-based client, but the interfaces just suck. As of right now, what I see happening MS rolling out XAML, developers loving it because of the rich interface, and Mozilla having to implement it whether they want to or not…Unless some other standard can be brought to table…and quick.
Monodevelop is getting up to speed fast because it’s just a port of Sharpdevelop, which is a decent IDE. It’s no VS.2003, but it does the job and it’s comparable to Borland’s free offering. Hopefully, they’ll get a debugger in it soon. I could see MonoDevelop getting an intergrated debugger before Sharpdevelop does actually.
That’s not the problem though. The problem are docs. Someone coming from VS.2003 or SharpDevelop or Borland look at Monodoc like WTF. There’s just not enough content or the people/resources to get something that is even close to just the c#/.NET portion of the MSDN discs. Hardcore Linux people don’t care, because they’re used to that kind of thing, but nobody using VS.NET is going to look at MonoDoc and say its usable.
Just out of interest, where did the notion come from that XAML will substitute for ASP.NET? Painkiller was been claiming this a few times. This is definitely not the case.
Note that I’ve tried to specify that it’s the presentation side of ASP.Net (and Windows.Forms, though there’s not too much more to Windows.Forms) that will eventually be replaced by XAML. In Longhorn itself, the two will exist side-by-side. If you read through the information at http://msdn.microsoft.com/longhorn/ you can find the models that show the two existing side-by-side in Longhorn.
You can find the images at the bottom of this page, showing the architecture diagrams for both the WinFX namespace and Longhorn: http://msdn.microsoft.com/Longhorn/understanding/pillars/
The Longhorn diagram especially shows that the Presentation layer of Longhorn is made up of Avalon, Windows.Forms, and ASP.Net, and that the document, UI, and media models are all contained in Avalon. You see a similar relationship with ADO.Net and WinFS on the Data side, and then Indigo creates a Communication framework where previously you simply had a diverse set of applications fulfilling the roles.
The WinFX diagram further shows System.Windows.Forms and System.Web.UI mapped beneath System.Windows (which is mapped to Avalon), while System.Web is mapped to the Data section (dealing with caching, session state, and personalization), and ASP.Net itself is referred to as ASP.Net/Indigo, showing that it will additionally map into Indigo for the communications structure. In other words, ASP.Net encompasses parts that belong to each of the three major new technologies for Longhorn (presentation, storage, and communications), and will probably find itself split apart accordingly over time.
More specifically, http://msdn.microsoft.com/longhorn/understanding/pillars/fundamenta… states:
“Standalone XAML files are runnable within the Longhorn shell and the browser as long as they don’t reference some codebehind class. Finally, it is worth noting that Windows executables can be hosted in a window (by default) as well as in the browser. In both cases, the code remains the same and only needs to be compiled again with a different project property.”
The only reason not to utilize this functionality for presentation of ASP.Net is because of compatibility, and you can always write code to deliver XAML to Longhorn w/ IE and HTML/XML to everything else, thus giving a more powerful and developer-controlled interface to the Longhorn users while maintaining compatibility. As I mentioned earlier, though, XAML shouldn’t be hard for other browsers to interpret if they choose to do so, but that depends on MS keeping the doors open to them.
How about finally fixing all those bugs first that still plague GNOME and often make it relatively unstable (though Redhat has made their GNOME implementation quite good)?
I’m a GNOME user, and just today one built-in Nautilus application stopped working for some strange reason that I don’t yet know. This is certainly not the first time, and not the first built-in application behaving like that, and I doubt it will be the last. I’ve tested GNOME with many distros and there seems to be similar unstability with several GNOME apps regardless of the distro.
I’m gradually starting to seriously think of moving to KDE, XFCE4 or some smaller alternative window manager instead of GNOME.
The GNOME user interface itself is rather ok already, and in many ways better from usability point of view than KDE, XFCE4 or even Windows (and actually I don’t like some ideas the GNOME team has been planning for the future development of GNOME GUI). Though, of course, file dialogs and other more disturbing Nautilus shortcomings should be made better, like has been said many times here on OSNews too.
Something I think this document and some of its links hints at is that using XML to describe GUI components is becoming much more common. XAML just reinforces this in a MS-centric fashion.
Now, I see at least four different XML GUI implimentations floating around:
-XUL
-Glade .glade files
-KDE XML-GUI files
-Some possible Mono or Gnome-centric idea
I think it would make sense if XUL can be extended and morphed so that it becomes the standard XML GUI language in FOSS projects. Its worth noting that the .glade files get compiled to native GTK objects and the KDE-GUI files get compiled to native QT/KDE objects. Finally, Mozilla uses XUL as its native objects. It would be very interesting if XUL became the common framework which can then be compiled to native widgets and HIG interfaces for the respective projects. Imagine being able to describe and interface that can then work, relatively easily, as a GTK/GNOME application, QT/KDE application, or Mozilla application using styles and widgets native to each environment. By converging these disparate languages around an extended XUL you could also be able to create these interfaces using Glade, KDevelop, or some Mozilla-developer (i.e., the planned Eclipse plugin).
I understand from the Mozilla Project’s POV that XUL is not yet ready to take on the role of a general-purpose widget set. It simply doesn’t have implimentations or ability to describe all general-purpose GUI widgets. I think this can be overcome with concerted effort by each of the groups above. This would be an amazing feat, especially given the relative differences and directions for each platform. However, if any subset of these technologies can be boiled down to a common language, allowing developers to extend the common subset for each platform, then I think FOSS will have a killer solution that truly trumps XAML. Heck, a XAML-XUL converter may make is so that XAML apps work nicely in Gnome, KDE, and Mozilla, too.
What we need is a cross platform display engine with support for XUL/XAML. It needs to be better than XAML, easier to write and have more functionality. Combined with QT/GTK/wxWidgets/.Net, this would enable a good cross plattform compatibility
It doesn’t need the same syntax as XAML, but it needs to match the functionality. This way, people could use any MS program to generate XAML and just use a converter to transform it into the cross plattform language.
If this was an easy process, most people would not mind doing this. If the program used the .Net Framework, they would get instant Mac/Linux compatibility with Mono (in most cases). Who would limit their programs to a Windows-only platform, if it was easy to do this?
If the XUL/XAML compatible library was better than XAML, many people would eventually use some of the improved features in the new library. This would force more users to install the library and more would switch.
This could be OSS revenge on MS for messing with HTML 🙂
Can anyone really picture a company like Adobe creating an app like Photoshop on a platform like Gnome!? I certainly don’t think so. Why? Probably because they’d be afraid of API breakage a couple years down the line, not to mention they would have to deal with a pseudo object oriented C API that is GTK.
Pardon me, but no sane developer wants to write a GUI app in C. The only good apps for Gnome are those written by people who wrote Gnome itself, thus they are initimately familiar with it’s many cryptic underdocumented APIs.
Everything in the GNOME Developer Platform is guaranteed to be API and ABI stable throughout the entire GNOME 2 series.
The GNOME API is stable.
And as for writing apps in C:
http://www.gnome.org/start/2.5/bindings/modules.html
There are also very good Python bindings, though they’re not yet in the Platform Bindings release.
Can anyone really picture a company like Adobe creating an app like Photoshop on a platform like Gnome!?
Sure.
I certainly don’t think so. Why? Probably because they’d be afraid of API breakage a couple years down the line
GNOME major releases are all binary compatible, just like GTK+ major releases, Qt major releases, and KDE major releases. Binary compatibility is not maintained between major releases, but that doesn’t really matter, because the libraries for the previous release can be installed. This is no different than Windows. Every few years, Microsoft will release a new API (Win32, MFC, ATL/WTL, new versions of COM, and now Avalon). Of course, apps don’t abandon the old APIs, so Windows installations have all those libraries installed.
not to mention they would have to deal with a pseudo object oriented C API that is GTK.
Better than Win32, which people used for years.
to some comments that say may be XUL is not ready yet,
see this one, a HomeBase from OEone.
Penzilla Open Source Release
Penzilla, the building block of HomeBase, is now available as an Open Source project. Some documentation is available online until we get our new website, Penzilla.org, up and running. Penzilla is the Open Source basis for our HomeBase product, and enables people to create XUL applications quickly and easily.
http://www.oeone.com/developers/
http://www.penzilla.org/
It even include a version of AbiWord with XUL as a UI.
(see details at http://abimoz.mozdev.org/ )
Some people just amaze me with their hostility over the gnome/miguel group. Read that other article about the guy that hates Maclots (couldn’t agree more, I’m a mac/Linux/Windows user). The same thing is very much in the Linux world over Microsoft. They hate the company to the point it becomes unreasonable.
I like what Ximian is doing. They are developing a system leveraging very powerful Microsoft technologies and making it their own while also providing compatibility with the more Microsoft-only technology (ASP.NET, SWF, etc). This has some very good things like the ability to make very easy ports to mono and also attract windows developers. From there they can take it a step further and port it to the true cross platform/open EMCA/GTK# (don’t give me this crap about Microsoft getting the Patents, every company that submits to EMCA still gets the patents just like owner of OSS stuff get the patents). I don’t think their main intent is to be just microsoft at all. If so then you wouldn’t see MonoDevelop being ported to use the very Gnome libraries.
The same thing could be said over this issue I think. Maybe that guy Miguel refers to will make an implimentation but this will be for compatibility more that the “way of choice”. That way will most certainly be using Nat’s Gnome based technology.
What Linux needs on the desktop is to somehow provide a way for the majority of desktop developers (read: windows) to make an easy trasition. It also needs to make sure that it stays competitive in the development sector. The easier things are made, the better it will be.
I meant that title to read develop the Linux way first and Microsoft way second.
Gnome/Gtk have had XML based UI for a long time, due to Glade
and libglade. No big news. Decoupling UI with application design
is a breeze using this. Though glade leaves something to be desired(compared to e.g. Qt designer)
He basically says it’s nice but still not as good at this point.