storing XML and complex binary data in one file
This already works in koffice. The document is pure XML, but if there is binary data it is treated as a separate file or files appended to the xml (not interfering with it) and decoded or encoded afterward. This is necessary with image data, as it's not feasible to store many megabytes of binary image data in text format with tags. It works beautifully. The whole thing is tarred and gzipped into one file, internally preserving the directory structure that the extra data, usually binary, uses.
There's still a problem with different apps having different DTD's for similar kinds of data (Kde and Gnome, for example) but if both use XML with open formats translating is much, much easier than between XML and a closed file format like MS Office uses.
There is hope yet for better compatibility.
What Visual Basic for Linux?
KBasic is not Visual Basic at all. There is no way that it can bring Visual Basic to Linux although there may be some similarities. Similarly, there is no way that Gnome Basic can bring MS COM to Linux, though it may be able to use Gnome's Bonobo in a similar way. Actually there is a way, but it would require yet another cumbersome interface layer and is very, very unlikely.
What we have here is the same old arrogance and elitism directed at volunteers who dedicate some time to free software projects. From my perusal of their web page, KBasic apperears to be a Basic for building Kde applications using Kde objects. The language may or may not be object oriented. If it just uses existing, standard Kde objects and widgets without extending them so what. What is this to you and why do you feel a need to put it down? Who knows how the language will evolve? It's in its early stages.
You can't do much worse than Perl if you want to quickly build gui apps. Python is better and we already have wxPython for Linux and Windows. Personally, I prefer Ruby and there are some gui builders for that great language in the early stages. But none of these languages are perfect. Java? Please don't inflict that on newbies and others wanting to quickly develop gui apps which run with reasonable performance and stabiity, or which run at all. Java may be fine for corporate servers and applets, but not for desktop applications.
Even better, we have builders for C++ like fltk's fluid and Kde's KDeveloper and Qt's Designer. We have Glade and VDK Builder for Gtk. There are even more, but you get the picture. We are rapidly approaching the point where you can use almost any moderately popular language to develop apps for Linux, with or without a gui builder and ide, at any level you choose.
It's possible to do a lot with Basic. There were some Basics for the Amiga which performed better than the Amiga's native C for many kinds of games. And do you know what language most REAL scientists, not computer scientists, use to test their theories and build demos for colleagues? Basic. It's easy to use and has enough graphics to prove the point with simple simulations. Not even Visual Basic, usually. Traditionally it's been QBasic for plain old DOS or a MacIntosh variant of Basic.
Implementations of Basic which run on Linux will take nothing away from other languages or your freedom to use them. And no matter how much you protest you cannot live down your own use of Visual Basic for Micro$oft Windows for several years (shame on you) because it paid well with such put-downs. Java pays well now. Nothing has changed except which side of your bread is receiving the butter.