Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×
Apple Businesses

Mac OS X, XML, and Aqua 232

Gr1nderX writes, "Ars just posted a large Mac OS X DP3 technical article that talks about the structure and functioning of OS X's (UNIX) filesystem, and how that impacts the Aqua GUI. IMHO, the most fascinating part of the article concerns the extensive use of XML that Apple makes in managing application resources, file meta-information, service configuration and startup options, etc. The XML parser that's built into the core OS basically gives you the ability to use either the GUI or a text editor to completely control and configure every aspect of the OS. " Lot of good stuff in this one: if only powerbooks weren't so expensive...
This discussion has been archived. No new comments can be posted.

Mac OS X, XML, and Aqua

Comments Filter:
  • by Anonymous Coward
    I am happy to see people give notice to the under-glorified but all important file-system of the OS. This is what drew me to the Mac.

    File management problems(you know all those f$cking dlls and other crap in the windows directory) used to piss me off. I spent about all my damn time trying to 1. getting rid of the shit that new programs installed and 2. playing around with the goddamn registry. End(of windows rant)

    I woke up and threw out the damn wintel pos about two years ago. Just because I didn't want to deal with all the filesystem garbage.

    Yes the Mac is more $$$, but I have seriously been rewarded. There is way less crappy shit to deal with. Yeah there are trade-offs like not enough slots(which sucks) but has been worth sacrifices like that.

    This news on OSX is a little disturbing, but I have heard some rumors that this developer release is definitely stripped down. So I am still waiting for the good punchline to all of this Aqua crap(esp the dock).

    Anyway I am real happy about the XML and filesystem news. This is something that moved me to the Mac and I hope that it keeps getting better and that more geeks start noticing this too.

    You give me a system that is easy to configure, and I am there man. This is something that is worrying me now that I am playing with LinuxPPC. I am an engineer and love reading manuals but I value my time too much to sit and read about what every f$cking file on the machine does.

    Cheers

  • by Anonymous Coward
    1) Apple has tried mass-marketing a few times, before. It always flops and also ruins their regular business.

    2) I read some of Woz's comments a few weeks ago (linked from Slashdot). Apple is not interested in selling more units at lower margins. They intentionally market to those who want the best and don't mind paying for it, similar to Sun in the midsize market and Lexus in automobiles.
  • by Anonymous Coward
    Actually, the NIB files (serialized objects used to construct the interfaces) that Interface Builder generates have apparently become XML-based as of DP3.

    The serialized objects include event source and target information, plus methods to be generated by specific events, so most of what you're suggesting is already there.

    NeXT beat you to this about 11 years ago, although the format didn't turn from binary serialization to XML until a few weeks ago...

  • by Anonymous Coward
    It's interesting. I think there are more articles on /. about MacOS X DPx than about Win2K. I like this. Gives me funny feelings.
  • Is it really true that Apple has removed window-shade?
    I mean thats the best way to hide an app..
    not in a taskbar with 20 other things, bad move Apple..

    How much work would it be to XML:ify /etc.. isnt Gnome
    and KDE using XML to store its configuration files?
    It would totally rock if XML became the standard for all those crazy files in /etc
    I really looking forward to seeing MacOS X..
    A SMP G4 with a 22" Apple Cinema display..
    Cant wait!!!
    "One World, One Web, One Program" - Microsoft Promotional Ad
  • It probably will be one big window that replaces your mac desktop. But it is possible to have X clients coexisting with native windows. The Xwin32 server for windows can do this.
    --
  • Actually i belive that John Carmack is working on a port of XFree86. He has a port for MacOS Server already working, and has said that once XFree86 4.0 comes out, he will work on a version for darwin and MacOS X.
    --
  • I agree about the mouse buttons.. and I must add I don't see the point of newer, five-button mice.. should I start binding buttons to keys so I don't need to put my right hand on the keyboard anymore?

    The extension manager is cool but it is required, because extensions break so many things. The majority of them (in my experience) are just patches to the toolkit, the interrupt table MacOS calls its system api. load about 30 extensions and I guarantee you won't have five days of uptime.

    Most of my bad macintosh experience is through netscape.. I routinely couldn't make it through loading netscape without locking the machine. It took me a long time to realize this was Apple's fault, not Netscape's, because no application, even if it is written 'wrong' like Netscape apparently was, should cause a machine to deadlock like that.

    I'm looking forward to OS X
  • by pohl ( 872 )
    I don't think I like the idea of having a dynamic XML library, and your entire /etc filesystem depending on it. What do you do when it breaks? It's like screwing up your LD.so.1 ... ow :)

    Having a common library can be beneficial even if these binaries link it statically. At least programmers would have a common set of debugged xml-parsing functions so that they wouldn't have to roll their own.

  • see post 20 [slashdot.org]

    "There is no spoon"-Neo, The Matrix
    "SPOOOOOOOOON!"-The Tick, The Tick
  • I read it a couple days ago on Ars, after following a link on, i think, macnn.com.

    Anyway, about the XML, that would be awesome if Linux on other unices could use xml as a standard config layout, however, getting the unix comunittee and alllll its little utilities and unsupported apps etc, to do this would be like trying to move a mountain by blowing on it.

    Im thinking of restarting a Operating Environment called HotsOS (hotsos.8m.com) using this technique, plus all the apps would be in pre-compiled java (run about as fast as C++ or Objective-C programs, so dont flame me about speed :P) PLus w/ Java i' have out-of-the-box support for HTML, Networking, CORBA, database interfaces, plus lotsa other stuff :) Anyone like to help? :)

    "There is no spoon"-Neo, The Matrix
    "SPOOOOOOOOON!"-The Tick, The Tick
  • This has been gone over many times here and elsewhere, and the point that trying to redo all configuration files as XML would be of very limited benefit is well taken. I do like what Apple has apparently done in terms of using XML to represent consistent meta-information for their configuration files. That makes a lot more sense to me than the SYSV-style run-level directory structure, and I hope that some brave Linux distribution grabs on to the idea.

  • ..at MacZone [zones.com]. Yep, they're closeouts of the old model, but still have G3/333, 64mb/4.0gb/8mb, 14.1/10-100enet/v.90 (that works with Linux!)/USB.

    Tough to beat!

  • Folks need to remember that this is the next version of MAC OS, not some unix varient. for the most part the folks who are gonna be installing this major and terrific update are going to find their years of MAC OS experiance and knowlege essentially flushed, which is to say the XML deal is great. It will allow Apple to bulid an simple happy GUI interface to control the zillion dispersed config files in the system, a far cry from the old Preferance system where all config files were located in the system folder. It also would seem that XML is a good choice as it is powerful and becoming widely accepted, over all well suited on several levels to be used a a base language for configs.
  • Surely this is not going to be so hard given that Darwin is OSS and we'd be _replacing_ the proprietary GUI, not tapping into it?

    I think there's a misconception here that affects most of what you're saying -- Aqua isn't part of Darwin, and I don't think Quartz is, either.
  • Most of my bad macintosh experience is through netscape.. I routinely couldn't make it through loading netscape without locking the machine.

    This gets said a lot here, but it's worth repeating -- the MacOS of today is obviously is need of an overhaul, but it's considerably more robust than the versions of a few years ago. The days when Netscape would routinely knock it over are gone. A lot of people, like the guy above [slashdot.org] daring me to do work while a file is copying, and I think probably you as well, would be surprised if they sat down at a current Mac.
  • In addition to the previous replies about kernel debugging slowing the system down, I believe you must have misread some portions of the article because the article actually states that DP3 ran better on the G4/350 with 64MB RAM than the G3/400 with 256MB RAM. As illustrated by this quote from the "Performance: Aqua in Motion" section of the article:

    "The G4/350 handled all the transformations effects (sheets, genie, etc.) noticeably better than the G3/400, even with only 64MB of RAM (which is the minimum RAM requirement for Mac OS X)."
  • Re: "Windows has API calls to manipulate the registry"

    ...and Mac OS X has APIs to manipulate XML property lists. There's nothing about XML files that make them any less applicable to high-level API access than binary data files.

    Re: "The registry is considered a persistant information storage for an app."

    Unfortunately, unlike the classic Mac OS "Desktop Database," it cannot be perfectly recreated based on the contents of the drive. In other words, delete the registry and you're hosed. Delete the desktop database in classic Mac OS and it just rebuilds itself the next time you start up.

    (A variant of the desktop database is present in Mac OS X DP3)
  • Re: "Also, I don't really see why an XML based registry is any easier to use than a binary registry." It's not an ease of use issue (although XML files at least provide the option of editing by hand with a simple text editor), it's about leveraging existing open standards instead of dealing with multiple reinventions of the wheel.
  • For completeness, add to the powerbook feature list:

    - USB
    - video is a R128 mobility with external CRT output on an AGP bus
    - 16bits/44KHz sound ouput & input (+built in mic)
    - hot-swappable media bays
    - Cardbus & zoom video
    - irda
  • The advantage, though, is that you remove a whole gamut of complexity. I know how XML works, and therefore, reading configuration files, even though they are for different DTDs, I still know how it works, in general. Also, having a DTD gives a standard way for a user to find out what options are available in a configuration file. With current config files, I can't even tell if my configuration file is valid. This also enables better GUI tools, because they only have to have one parser.
  • IMHO, putting ALL of /etc in one XML document would not be a viable option, however, using individual XML documents, like sendmail.xml, is an excellent alternative.
  • A/UX and Mac OS X are on opposite ends of the UNIX spectrum. Yes, both look and act like UNIX at a certain level. After that, things are different.

    A/UX doesn't have:
    Cocoa/WebObjects
    Quartz/Aqua/OpenGL
    Carbon
    transparent (rootless) Classic Mac OS support
    Darwin (open source underpinnings)
    PowerPC support
    Mach
    transparency to UNIX (Mac OS X won't require UNIX knowledge at all)
    and all the various components built upon the above.

    In A/UX, there was no bridge between the Mac OS environment and the UNIX layer. There was no future migration strategy or technology to get off of classic MacOS. It was basically a UNIX for 68k Macs that happen to run Mac OS in a virtual machine in take-over screen mode. Kinda like what the Mac On Linux project would get when it done on LinuxPPC. Interesting for its time, yes. A future for Mac OS, no.

  • The One killer app the PowerBook run that a Sony Vaio can't is Mac OS.

    The one reason anyone should bye a Mac is Mac OS.

    - Henrik
  • Macs Suck for two reasons

    • No Alt tab functionality
    • Zeal-it-ois users with out a clue

    I explain now, Have you ever tried to open 7 or 8 Netscape windows under MacOS? Well unless you have hell-crazy resolution then its a real biatch to flip between windows.... and to have Photoshop, a text editor, Illustrator, Dreamweaver, and a filemanager open all at once is a multitasking nightmare.... all this transparent crap annoys the heck out me.... get a real OS... Like hmm lwt me think, yah Linux?

    Over-zealous users that have no clue. A friend of mine who is a Mac-O-Phile askes me if using smaller Icons saved disk space. After he left I nearly pissed myself laughing..... and he argues about OS issues w/ me. These are typical MAC Users... remove head from @ss before using computer. Sigh MACOS is still a joke, and this X-crap is finally running a real kernel, but whose wants all that eye candy. Give me a damn machine with 2 years of uptime, no memory leaks that I can do my work on and then Quake like a Mo-Fo...


    LLAMA

  • Heh, I like the play on your name there. Mine, there's not much you can do with.


    Uwe Wolfgang Radu
  • Making an LDAP daemon part of the system would make a lot of sense. At its heart it's really just a generic hierarchical information storage system. It could then be used by all applications to store settings. It could also be used to replace the archaic security files on Linux. Using LDAP would give you a nice single entry point to all settings, and make it cross-platform compatible to boot.

    Note: just because Microsoft is using LDAP in W2K for security doesn't in any way lessen its appeal. A lot of people outside the MS camp consider LDAP to be A Good Thing(TM). Using it would also make the settings file formats immaterial, though would of course not preclude XML in any way.

    Uwe Wolfgang Radu
  • And you (sir?) are obviously...14?

    > MacOS currently is a tradeoff, as anyone
    > will admit many aspects are dated.

    That's precisely what I claimed, nothing more, nothing less. It's DATED. If you like reading between the lines, extrapolate some real meaning.

    > The multitasking isn't great [...]
    > I'm pretty much doing a few things at a time.

    Golly for you, and shame for us who would like to do a couple more things. So what you're saying, basically, is that my criticisms was well founded, but I'm clueless regardless. Hmmm...

    > ...if you feel there is only one app for OSX...

    Huh? Far from it, I heard there were over twenty. And once they finish the Pops ports, they'll go quite well with the Cocoa ones.

    > yes, OSX is different, but if you look at
    > Steve Jobs history, he likes to make surprises.

    Yeah, no kidding. Like "now we're going to write it, now we won't".

    > There's no way in hell he's given the general
    > public all the details 6 months before release.

    Quite possibly because he has no clue? I guess you were still waiting for Rhapsody until recently. Take heart, X is definitely GOING to happen!

    > ...before you start calling it a failure...

    Now when did I do that?

    > ...and thus is different from the outdated one you hate...

    Hate? That would mean I care. More like contempt and ridicule. Or maybe bored indifference.

    > ...you forgot to bash the lack of a floppy drive.

    That's what made me guess 14 or so. While your grasp of syntax and grammar is quite remarkable, your semantics are less so.


    Uwe Wolfgang Radu
  • >> Regarding multitasking, I believe we're still
    >> talking cooperative there.
    > Wait are you talking about MacOS or Win98?
    > They both are subject to this shortcoming.

    While I hate defending Windows in any shape or form, in the spirit of fairness, I must correct you there. Provided you run ONLY 32-bit apps, Win9x multitasks preemptively, and quite well at that. And that's hardly a caveat, since I haven't run 16-bit apps for many years. There are still 16-bit DLLs around in some apps thunking away, but that's more the exception. Our company writes exclusively 32-bit apps, and they multitask very nicely, even on Win9x.

    > All I know is that I reboot maybe once or twice
    > a day as opposed to Win9x when I was rebooting
    > 4 or 5 times.

    I rest my case, you reboot at least once a day. More often than not, Win9x crashes due to misbehaved drivers, since they run in privileged mode. This is a problem and should not be excused. However, Intel users on average also use many more peripherals than Mac users, increasing the likelihood of bad drivers. They also run on very unpredictable hardware, while Macs always come from Apple. Many Mac users live an entire Mac life without using any third party peripherals. Video, sound, storage are all built-in with Apple drivers, which have been pretty well debuggeed. However, with the emergence of USB that is going to change. Mac users are going to finally experience the wealth of peripherals (sort of) that Intel users have enjoyed, along with the pitfalls of shoddy drivers cooked up at the last minute. From what I hear, that's already starting to happen.

    Incidentally, we should compare apples to apples, and oranges to oranges. Let's pick the top OS of each camp, which would be NT (and now W2K) and not Win9x. I ran NT 4.0 for years, and for the last few months I've used Windows 2000 exclusively. I never reboot my machine, except to add new hardware. I never turn it off either, and it sits on a UPS. I have uptimes of weeks, sometimes months. And I use it very heavily as a development machine. Depending on what I work on, I might once in a while get a lockup--buggy TCP/IP socket apps are the best way to bring down NT. Then again, not even Linux can claim rock-solid stability under heavy debugging. While my experience might not be echoed by everyone, once you've settled on good hardware and stable drivers, NT can be very solid as a workstation. As a server, that's another story.

    > Not really, but, this is the same situation for
    > Win9x going to Win NT.

    Not at all. There's no difference between 32-bit applications written for Win9x and NT. It's the same binary. The one exception are NT services, which aren't supported on Win9x, but those aren't end-user apps. You're making a sweeping assumption there in the hope to equalize the two platforms, but that's simply not the case.

    > Well you can use the other 9 for counting all
    > the apps CURRENTLY written for Win2K.

    W2K is Win NT, period. While the driver model has been changed and many user interface modifications were made, it's still the same NT kernel underneath. Any NT app is a W2K app. There's no such thing as a W2K app per se, other than possibly ones taking advantage of some new UI features, or the new Active Directory or middleware features.

    > But you are forgetting the thousands of UNIX
    > apps that will compile and run on OS X already.

    What you don't seem to get is that OS X then simply becomes a me-too. The only difference between X and any other BSD-based Unix will then be that Apple provides you with a neat software emulator that lets you run all your old Mac software. It's simply a piece of software that makes it look like OS X can run Mac binaries, which of course it can't any more than NT or Linux. If Apple so chose, they could also provide the emulator for Linux or NT, but of course they won't.

    I admire the skill with which Apple is pulling the wool over its devotee's eyes. They're totally marginalizing the fact that they're switching to a completely new, unproven platform. Their user base might at this moment as well move over to BeOS, Linux, or even Windows 2000, and the difference would be the same. It's a platform switch, and anything goes. Mac users simply stick with Apple because of the warm fuzzy feeling that gives them, the particular look of the Apple hardware, and a certain Pavlovian conditioning. Anything else is just fairy dust.

    It's ironic that I would defend Windows this way, and frankly the Mac is the only thing I would ever defend it against. Even more ironically, I do use a platform that's eerily Mac-like in look and feel, as well as usability: my trusty Palm Pilot. And even there I start to feel confined.


    Uwe Wolfgang Radu
  • >> Now when did I do that?
    > To refresh your memory: "except X is an
    > admission of failure of sorts" Of course I
    > suppose my failure to master the english
    > language at my tender age of 3 kept me from
    > understanding that you meant "we'll have to
    > wait and see what happens when it hits the
    > market"

    That's not at all what is meant by that phrase. What it means is that its current OS track was doomed and they needed a fresh platform. They admitted that the old OS was finished by releasing a new one. You don't abandon a product when you have a winner.

    Don't panic, you just have to spend a bit of time in Comprehension 101, that's all. And please don't give me the old run around of "that wasn't obvious from what you said."

    Uwe Wolfgang Radu
  • I haven't been able to play with DP3 (anyone wanna send me a CD? I promise not to tell! :-) ), so this may or may not apply. But...

    ...one really nice thing about NeXTSTEP was that the /usr, /adm, /etc, etc. folders were all actually symbolic links to /private/XXX. That way, all configuration files that made that machine "unique" were located in a single place, that could then be remote-mounted from an NFS server, for truly thin (even diskless, ignoring the need for swap) clients. Also made backup a lot simpler...

    david.
  • One thing I wonder about, every time I hear about MacOS X, is whether the development tools will be provided with the actual release? The operating system looks well-designed (well, not the GUI, yet), but as a hacker (-wannabe?) I like to have development tools to play around with.

    GCC is free, so it shouldn't be too difficult to just get the C/Objective C compiler. But the cool NeXT Project/Interface Builder suite should be either included in the OS, or free(beer)ly available.

    Just as a side note, since MacOS X is the successor to both NeXTSTEP and MacOS, Apple should make the UI more-or-less exactly like Classic MacOS, with an option to go NeXTSTEP-wise as well. Just my opinion (as a WindowMaker user).

  • fuck! .. that's all I can say to that screenshot. Nearly made me lose my lunch.

    People SHOULD ignore it.. please!!!! ... no way I'm coming into work to face that.. bad enough to have to use wincrash nt anyway..

    1 BSOD already today and it's middday.. prolly will have another one in the afternoon if it stays 'on quota'

    --
  • It helps the developers, who are trying to build a unix-like system into something which is as transparant as the MacOS.

    Not new users trying to learn to edit config files by hand.

    You're looking at this from the Unix user's (your) point of view. I can tell you right now that 99% of Mac users will refuse to edit configuration files by hand -- if MacOS X requires it, for any reason, the OS will be considered a failure by the user base.

    Note that a structured config format is really nothing strange in the Mac world. The old OS has it's proprietary "resource forks" where code and data and pictures and config settings all live happily in a structured, user-editable format. And, guess what, 99% of the users don't have ResEdit on their computer, and don't care to either. (My understanding is that NextStep had something similar.)
    --
  • >If only the PowerBooks weren't so expensive...

    Dude, Look at them again at apple.com. $2499 for the 400MHz G3, with 64 RAM, 6Gig HD, DVD, AGP graphics, FireWire, USB, 56K modem AND 10/100 Enet built-in?!?

    Compare that with any IBM StinkPad, Dell Dimentia, Compaq Armadillo or Gateway So-Low... comparably equipped (none of them comes close) and the Apple is way lower!

    Granted, if you buy sucky no-name clone laptop for $1299, it's cheaper. But you ain't getting no 400MHz G3 contender, that's for sure...

    Come on, you got $2500 burning a hole in your pocket... go for it!!

  • XMLifying anything makes it signifigantly harder to edit in text mode (all those <tags>), and does not offer THAT much advantage for graphical configuration...

    Why bother? Why bother?

    Just jump ahead to the next level, natural language processing. It offers voice configuration and zero learning curve.

  • "Find a large file and start copying it to the floppy."

    heh heh, you're funny. Actually MacOS wouldn't do that to begin with... it won't try copying a file to a drive if there isn't enough space. (I assume that by "large file", you mean 10+ MB)
  • First of all, I don't think all of Darwin is Open Source. The important (i.e. proprietary) parts will be closed source.

    I know that actually checking facts before posting is a rare art, but how about checking out http://www.publicsource.apple.com/

    Darwin is certainly open source, and getting it to build cross-platform is certainly possible. What isn't open source is Quartz/QuickTime/etc.; the graphics layer built on top of Darwin. Apple considers those bits its crown jewels. Some people here think that Apple should just give them away. How would Apple make money, then?

    -jon

  • by Anonymous Coward
    Mozilla uses James Clark's expat parser [mozilla.org] -- Hervé - http://altern.org/mozillazine/
  • This is why you make everything that uses it that _needs_ to work link the libraries in statically. That way if some fsckwit removes /lib/*expat* you wouldn't be in too much trouble and would still be left with a semi-workable system. This is the same reason I use statically-linked binaries for the _most_ important things on my machines. (once bitten...) - A.P.
    --


    "One World, one Web, one Program" - Microsoft promotional ad

  • I think you have that backwards. I own a Mac and I never use MacOS. You couldn't pay me enough to run 1984's operating system. Apple's hardware is very good for the price--my PowerBook has every feature I need built in, a large bright screen, even SCSI, and very good battery life. Why would I want to run an operating system that still doesn't use protected memory?

    --
  • And the Powerbook has the Airport slot under the keyboard, and it supports an external monitor. And it has the same Rage128 chip set that the new iMac and iMac DVs have...and it ain't shabby playing Quake3 or UT on.

    Of course the Airport adds 100 bucks to the price, but the Lucent PCMCIA cards are...$140? Or was it $170?
  • The problem is that XML merely provides a data format. It does not inherently provide a robust way of rewriting files, which is what is truly important for a configuration system.

    I'd think it more valuable to, on a case-by-case basis, adopt libPropList. [rpmfind.net] That provides the benefit of a relatively generic format, but, more importantly, with the merit that it comes with library calls to modify data, and to do so in a safe way.

  • Who would this really help??

    1) Not new users trying to learn to edit config files by hand. With the current system, they have to learn the format and nuances of each config file. In an XML-based system, not only would they need to learn the DTD for each config file, but they'd need to learn XML before they could do anything at all. Don't know about the rest of you, but I'd rather edit a plain old text file than muck around with XML.

    2) Not new users interested in using a system administration tool. We already have several that work just fine w/o XML.

    3) Not exisiting users. They've already learned how to do it, why should they have to re-learn a new method that is of rather dubious benefit???

    I think XML is great and all for document storage, but let's be cautious about shoehorning it into other areas.
  • Bundles are something they have been needed for a long time from a user standpoint. New users almost always nuke a needed linked library or some file because they didn't recognize it and therefore didn't think it was important. I have missed the Extentions folder several times on my PB because of the trackpad and my big fingers. Windows and Linux devheads ought to take a que and try to incorpoarate a similar system into their apps. Windows 98 had CABs which were never much implimented by developers and therefore never seen by much of anyone. XML is another nice choice for congifuration, especially with the parser embedded in the core of the OS. Aqua on the otherhand bothers me, it seems like a nice idea and it is cute but is it going to get in the way of people like me who use professional apps like Photoshop? I don't want to fight with the UI when I want to apply a filter or scale something. I'd like OS X's stability and robustness but I really don't want a massive GUI hogging up my Powerbook's resources just to minimize a window. This was much longer but IE refreshed and nuked it.
  • Just an FYI.

    I am running MacOS X DP3 on my B&W G3/350 with 128MB of RAM and it runs "smoothly". I find it just as fast or faster than MacOS 9, for window drawing, updates, that sort of things. The only thing that is a little slower is launching apps and that is probably mostly due to debug code.

    As we've been discussing with the author of the article on MacOSX Talk... this is review of a "Developer Preview" a.k.a. pre-Beta. You can't expect much.

    Anyone remember how stable/fast W2K (then NT5) was when it was still in Alpha? I do. ;)
  • The main benefit to having everything in XML is that it gives you a standard means of modifying the config files. You could load up anything into, say, Conglomerate [conglomerate.org], and edit away. (Emacs/vi will work too, although XML is less plaintext-editor friendly). But more importantly, things like linuxconf and your typical next-gen admin tool will finally have a clean, standardized way of parsing and modifying those files, rather than the black magic being used at present. It's much easier to attain that you-can-use-a-text-editor-or-the-gui-tools-equally -well balance with XML, regardless of the number of particular DTD's involved.
  • I noticed a few comments from macOS users, but too many from clueless wintel slaves. Here's a little information for the ignorant (just as I am ignorant to the depths of being an admin for an winNT server) :

    Working on web and pre-press design
    projects I will run (remember this is a powerbook):
    Netscape Navigator (up to 10 or 12 windows open especially if I am using some online tutorials, or references)
    Netscape Communicator (checking email in real time from email server)
    BBEdit with numerous files open
    Adobe Photoshop/Illustrator/Pagemaker/Acrobat - drag and dropping between apps, and with probably up to 20 files open of various sizes depending on the project at hand.
    Three copies of Hotline1.2.3 connected to servers
    ICQ (when their damn server isnt down)
    NiftyTelnet 1.1 SSH r3
    and SoundJam MP for a little audio caffeine, sometimes streaming in off of a 10mb line into a OC3-T1.

    Now this all functions, not because its mac, but because I have a more than average RAM supply and an external monitor in the office. But the system including RAM and external monitor was about $3500.

    The system:
    400mhz G3 1 mb lvl2 cache (one cycle G3 != one cycle PIII, G3 is faster cycle/cycle)
    320 mb RAM
    MacOS9
    Internal ATA 6gig drive
    10/100 Base-T ethernet
    14.1 active matrix @ 1024x768
    External 21" monitor @ 1280x1024 75hz 24bit color

    This is a stock system from apple, no upgrades (except the RAM). Granted I have a great network connection to a linuxPPX server - so the small HD isnt a problem - Otherwise, I dont know what you would need more!

    So if the above isnt enough processing power for you, well then you are just way to bad-ass for these little mac toys. For a real computer call 1-800-g-a-t-e-w-a-y.

  • You sir are obviously clueless. MacOS currently is a tradeoff, as anyone will admit many aspects are dated. I still vastly prefer it to my linux box and windows box (yes, I am an avid unix user who owns and uses a mac) for desktop usage. The multitasking isn't great, but I'm not running a web server anyway, I'm pretty much doing a few things at a time.

    Second, if you feel there is only one app for OSX, you are further demonstrating your cluelessness. There are many great Cocoa apps out there, you have apps being updated for Carbon, and thanks to John Carmack, you have X windows with a BSD core. So let's count here. You can run classic MacOS apps, Carbonized apps, Cocoa/NeXT apps, and some X apps. That's a lack of software? yes, OSX is different, but if you look at Steve Jobs history, he likes to make surprises. There's no way in hell he's given the general public all the details 6 months before release. At least wait until it's released before you start calling it a failure... Of course, you just can't win with you folks, who will curse MacOS because it's to outdated, and then curse OSX because it's been updated and thus is different from the outdated one you hate...

    BTW, in your uninformative post, you forgot to bash the lack of a floppy drive. What a bad Mac basher you are!

  • 1) You are correct, I hate how I have to hit command-tab instead of alt-tab to switch between apps. It makes the whole mac useless because even though I can tab cycle through apps I can't do it with the same keys as windows! Man, that's so stupid!

    2) Linux users are way more zelous than mac users. While mac users fully understand the limitations of their OS, but still feel it's a worthwhile tradeoff, Linux users tend to go cry to mommy whenever anyone says anything might be wrong with linux (Mindcraft benchmarks come to mind...)

  • Yeah, the dock sucks and I would much prefer my standard apple menu. But I know jobs likes to make a splash, so I'm sure there will be many surprises by release time, I keep hoping at least... With all the negative feedback about the dock, I would hope they still have time to bring back the apple menu.

    As for Jobs being ahead of his time, I think he's a great marketer. NeXTStep was kickass but I don't attribute that to jobs. But, he has a great sense of what the people want. The iMac is really more revolutionary than most techy geeks understand because it represents a shift from a computer as a tool to a compuer as an applience. pretty radical stuff once you realize that average joe doesn't want something he can recompile a kernel on, he wants something like his VCR that just works. But I have some issue with jobs. If I ever met him, I would probably shake his hand and then kick him in the nads...

  • Speed? Foundation Kits? These are my issues. AWT sucks and doens't have most of the functionality needed for GUI apps. Swing is pretty, but it's slow any horribly designed. If you want proof of this, figure out the Swing text model, undo manager, and cut and paste model, then compare it to the Cocoa NSText and NSTextView classes :) Cocoa is so much more elegant and usable. Java using the Cocoa AppKit is fine, only it's much slower than Obj-C using the same frameworks (yes, I've done side by side comparisons).

    Now for non gui apps, Java is alright. Servlets are cool. Java is pretty usable in WebObjects. The only thing I've noticed though is that a Java WO app uses a lot more memory than the same thing in Obj-C which might be an issue depending on the application.

  • Somebody stop this guy...
  • And you (sir?) are obviously...14?

    No, I am only 3, but I am exceptionally brilliant.

    That's precisely what I claimed, nothing more, nothing less. It's DATED. If you like reading between the lines, extrapolate some real meaning.

    Sorry, I failed to realize that your obvious lack of knowledge was meant to say it was dated. Such as that the vast majority of apps live in me-only land, and that macs are a crashbox. I run 7-9 applications at a time, typically iCab, Netscape, Photoshop, Macromedia Fireworks, BBEdit, SSH, and while I work, my mp3 player plays music in the background without skipping. But I guess I'm just lucky I didn't get one of those non multitasking crashboxes, cuz then when I typed in BBEdit and edited an image in photoshop, my mp3 player would stop playing. I pity the people with such poor macs (probably SE30's running system 6.5).

    Huh? Far from it, I heard there were over twenty. And once they finish the Pops ports, they'll go quite well with the Cocoa ones

    Hi, I'm reality, have we met? I've only hear of this one Win32 app called SpaceCadet, there must not be any more apps I can run on Windows.

    Quite possibly because he has no clue? I guess you were still waiting for Rhapsody until recently. Take heart, X is definitely GOING to happen!

    Shit, you mean Rhapsody isn't coming out soon? Damn, where's my gun.

    Now when did I do that? To refresh your memory: except X is an admission of failure of sorts Of course I suppose my failure to master the english language at my tender age of 3 kept me from understanding that you meant "we'll have to wait and see what happens when it hits the market"

    That's what made me guess 14 or so. While your grasp of syntax and grammar is quite remarkable, your semantics are less so.

    Well, you are off, but I appreciate the comment. I will be sure to tell my pre-kindergarden tutor about this, she will be most proud of me. Now if I could only learn to read.


  • I fail to see how starting over indicates failure. All things grow old and you reach a point where it's doing a lot of things it was never intended to do. You can keep hacking away at the thing, but there comes a time when it's just better to start clean and get rid of all the junk that isn't needed any more. I think MS will be forced to do this soon, although I think they should have done it already. How long did it take them to get Win2k out? If they'd started clean from scratch they could have made a more efficient, more stable OS with probably half the amount of code.

    Anyway, MacOS reached a point where continuing on the current base just wasn't logical (who wants to write pascal anymore?). Starting over does not mean MacOS was a failure, it just means that the current base had reached the end of it's usefullness. So what did they do? They took something they had been used for a while and was proven (NeXTStep, you want to talk about stability, NeXT was a rock) and started from there. Much like MS took their proven and stable NT core and used it to build a consumer OS. Now of course NeXT and MacOS are a lot different than NT and Win9x, but with 6 months until release and the only thing we know about it is from a developer preview, it's hardly time to assume that apple will be alientating their user base. There are many things I see I don't like in DP3, if it sucks when it comes out, I'll go back to linuxppc. Anything but windows...

    By the way, I intend to take this "Comprehension 101" class when I make it to elementary school. I hope they offer it.
  • Of course having a separate DTD for each program is silly. But recognizing that a lot of configuration files actually look quite similar allows you to standardize on a particular DTD for a whole class of programs.

    All apple did was bring some uniformity in the mess of anarchistic shell scripts. Uniformity is good for two reasons: It makes things easier to understand and it makes things more general.

    Understandability is good because that lowers training cost and generality is good because that makes it possible to reuse (parsers, tools and even settings).

    Aside from uniformity they also applied separation of concern. They removed hardcoded interdependencies between shell scripts. Unlike uniformity this improves flexibility.

    All apple is doing here is apply good software engineering principles (uniform behavior, separation of concern). The unix community should be asshamed that they need apple to point that out. After all unix has been around for some time.
  • to quote the sun xml tutorial [sun.com]

    How Can You Use XML?
    There are several basic ways to make use of XML:
    • Traditional data processing, where XML encodes the data for a program to process
    • Document-driven programming, where XML documents are containers that build interfaces and applications from existing components
    • Archiving -- the foundation for document-driven programming, where the customized version of a component is saved (archived) so it can be used later
    • Binding, where the DTD or schema that defines an XML data structure is used to automatically generate a significant portion of the application that will eventually process that data
  • Don't rule out iBooks either. $1600 gets you a lot of machine.
    • 300MHz G3
    • 12.1" TFT (800x600) ATI Rage
    • 64MB/6GB/CD
    • 10/100enet,56kbit modem
    • USB
    • 6 hour batterlife.

    I wish the firewire hadn't been deleted, but I haven't needed it yet. The screen is a bit tight depending on what programs you run.
    Thats a real 6 hour battery life. I routinely go 6 hours doing program development.
    Definately get the $100 Airport. Nothing like sitting back in the comfy chair or out in the yard handling support calls.

  • After all, Xmas doesn't have support for the X Window System, either. I hear someone might be doing a port, but Tux is miffed that Santa hasn't relocated to the south pole to take advantage of the large number of linux-literate penguins there, and let's not even get started on what the BSD d[a]emon thinks.
  • >Of course, each one of these 'domains' is a standards war waiting to happen, and in the meantime lots of XML is being deployed now with custom homebrew schemas. It has enormous potential to interoperate better than proprietary formats, but it is not the magic solution to data interoperability

    This is what I noticed, and why it doesn't seem like XML is all that big a deal... if everyone is going to have their own formats/layouts anyway, it doesn't make much of a solution. Granted, it would make conversion filters far easier to write, but doesn't really solve a lot of things...
  • Hear, hear... I repeated the same thing somewhere else on this discussion and a coupla older ones: we need to clean up the config files mess. And I even would go one further: clean up man files as well. Man files are an anachronism; they are not hypertext --no links-- and are not easily searchable. When every machine has a browser builtin, why are we still dealing with man files? Let's move manuals to some SGML/XML/HTML based format, that can be viewed through a browser and make 'man' a parser of that format for the old folk.

    You could then even import annotations and errata on the documentation from the Net... look at how the PHP folk do their manual [php.net]. It's the future of documentation folks...

    But this is Open Source... let's stop bitching and day-dreaming; sit down and write code... who's hosting the CVS? ;-)...


    engineers never lie; we just approximate the truth.
  • Emacs (PSGML) is actually the best editor I know for XML files. It gives you context-sensitive pop-up menus of all the tags (or attributes) which are valid at any given point; makes it extremely easy to construct valid XML documents and actually quite hard ot construct invalid ones.

    I would be very much in favour of a gradual conversion to XML-based configuration.

  • by Pike ( 52876 )
    Who else hear thinks of the TRS-80 [zeppelin.tzo.cc] when you hear OS/9 ? The famed UNIX lookalike for the Color Computer. I liked their version numbers: Level I and Level II. I'd like to see an Ars Technica retrocomputing article about OS/9 sometime....

    JD

  • That the pentiun III in the Thinkpad is NOT the genuine article. It is the "mobile" pentium III, a version of the pIII that is intentionally crippled, so as to keep your laptop from melting down into a puddle off thinkpad flavoured goo.

    The G3, OTOH, is the full speed desktop version, with NO scaling down to be put in a laptop. And it STILL runs cooler and with less power than even the "mobile" intel chips.

    Such things are very important when you consider little nicities like battery life, and comfortable computing. You don't even want to IMAGINE how little battery life you'd get, or how hot your lap would get, if you used a desktop pIII in a notebook.

    john
  • Yes, I agree with Rogerbo -- all of that stuff you listed up there (except for Mach) is UI/shell stuff which could have been developed for A/UX the way Aqua has been developed for OS X. Eye candy. IMHO.

    And, excuse me? Web Objects? Back when A/UX was developed, The Web was perhaps only a glimmer in the back of Tim Berners-Lee's mind. Maybe you should have said 'native Gopher support' or something ...lol...



    "C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do it blows your whole leg off."

  • Hey, look I said "If only apple had persisted".

    Imagine for a second if in 1993 Apple had ported A/UX to PPC, then added transparent Classic Mac OS windowing and a migration path to it. Maybe it would have taken another two years but they then would have had a decent OS in 1995.

    Instead they wasted 3 years on the Fabled MacOS 8 or Rhapsody or whatever the hell is was called then trying like hell to expand System 7 for proper protected memory and multitasking.

    Then they threw all that away, dithered for another year and THEN started with a unix kernel and added the goodies they needed.

    Between 1994-1997 there was no significant technological change in the MacOS. Apple wasted three years of development time when they had the right approach all the time and threw it away.

    That's my point.
  • You know it's really really funny. Apple basically had Mac OS X running in 1993!!

    Apple's A/UX was unix (I believe an early Mach kernel) with Apple look and feel and I believe even the ability to run Mac OS 7 applications via an emulator.

    And Mac OS X is what? The above with a pretty flashy interface on it.

    Alas, A/UX was 68040 only and was never ported to PowerPC.

    I find it so ironic that apple had a working next generation OS with preemptive multitasking back in 1993 when NT was what? a joke still.

    And they threw it away.

    it makes me laugh. (otherwise I would cry)
  • I seem to recall that Glade stores UI layouts in XML and that there's a library for it that lets you load XML User Interfaces on the fly. There are also projects underway to define DTDs for User Interface Markup Languages which define widgets and dialogs and things.
  • You're forgetting about the big success story: Microsoft. One of the reasons that Microsoft destroyed Apple in the 80s, even with a far inferior Win 3.1, was the open commodity hardware model.

    The smartest thing Microsoft did was to work very hard to capture the corporate market. They did this with two weapons: 1) have the best applications, which means court developers like crazy, and 2) multiple source hardware, which means the hardware cost is going to be much lower.

    The reason Be is unsuccessful is lack of applications, not lack of proprietary hardware. Don't forget that NeXT tried the same proprietary model, and suffered the same fate. Applications are everything.

    What's in it for Apple is focus. They would no longer have the millstone of doing both hardware (low margins) AND software (high margins).


    --

  • I've hated Apple for a long time. I think the hardware is overrated and WAY overpriced. I owned a Mac back in '84 when they first came out. I think MacOS belongs back in '84. Today it's a backward, decrepit piece of garbage. All this having been said...

    I think Apple has finally pulled their head out of their butt and it looks like they are finally doing a respectable operating system. In fact, I will say it looks damn cool and I find myself being excited about Apple for the first time since... well, 1984.

    But I will never buy overpriced Apple hardware. Apple, are you listening? A Mac-hater is interested again in the Mac. But I am not going to buy hardware from a single supplier. And I have a feeling there are a lot of people who feel the same.

    Please, Apple, send in the clones, and give them an iron-clad license that you can't stab them in the back with later.


    --

  • check out post # 20 :)

    Fine, but I don't want to run a different OS. I see no reason to splinter things to get this little thing when it should be easy to get minimal support for this in existing systems.

    Java has all these nice things because people wrote it for Java and it standardized. Why not do that on Linux, or in Gnome or KDE, and give existing systems the same advantages that an OS written from scratch in Java might have, and that MacOS and MacOSX have now.

    In other words, it looks like duplication of effort to write a new OS just to get XML parsing cheaply. I don't object to writing new OSes, but I'd need better reasons than native XML processing to switch. Microsoft's lawyers not withstanding, I think that functionality can and should live in user-space.

    In short, I had checked post 20 out, and while it asked similar questions, I didn't think it gave an answer, or lead towards an answer that I was looking for.

  • I understand why *WE*, the end users, would benefit from multiple hardware sources, but how would it benefit Apple? In essence, Apple would split itself into an OS company and commodity hardware vendor (by putting themselves on a level playing field as the cloners, otherwise there's no benefit to the consumer). Basically, they would be following the business model of Be on the OS side, which doesn't seem to have gotten Be very far. They would lose the advantage they have over PC cloners, which is control of both hardware and OS.

    I can see three models for profitable OS development.

    1. Have a monopoly on OS's that run on commodity hardware, backed up by a ton of legacy apps (M$).
    2. Contribute freely to an open source OS; make money through support, service, documentation and customization (RHAT).
    3. Develop a proprietary OS and proprietary hardware that leverage each other (Apple, Sun).

    Of these, 3 is the only viable one for Apple.

    -jimbo

  • I'm also regretful that Apple went with BSD instead of going over and contributing to the Linux movement, but I can understand their reasoning.

    If you're talking of licensing (i.e. BSD vs. GPL), they did not have a choice to go with GPL since they based their implementation upon Mach (which has the BSD licence). If you're talking of the layers above the microkernel, that's a whole different matter. They could indeed have based the rest of the system on Linux. How come they did not do this to more extent/some extent I can not tell. Being a major player in the development of MkLinux [mklinux.org] (Linux on top of the Mach microkernel) they did have experiences with it. I can only guess that they found the FreeBSD base more convenient to use. Oh what the heck, FreeBSD was based on 4.4BSD Lite which is also the base for Lites (the first OS which was built on top of Mach). As such, I would guessed that the Mach implementation is more geared towards supporting BSD than towards supporting Linux.

    That said, I can't see the big gripe of going with BSD instead of Linux. What's the big deal here?

  • The charge against the dock at the bottom of this page [arstechnica.com] is rather amusing.

    He obviously don't want a dock and is ready to drop the baby with the bath. Having used macintoshes since 1986 and NeXT/OPENSTEP/OSXS machines since 1991, I would not trade the dock for the MacOS alternatives. It is amusing to see someone defending the total failure that windowshades are.

    Admitedly, the DP3 dock seems to suck, but nothing that can't be corrected. He seems to have a problem because the dock is not the grand-unifier-launcher that he turned the applemenu into, but forgot that such an app is easy to code. Doing a system-wide dock for miniaturised windows is not that easy because it needs to be tighly integrated with the system.

    At the end of the article, he rants about the disparition of the apple menu because that was the place where he found most of his desk accessories. Well, I really prefer having them in an equivalent of the Preferences.app, and keeping it on the dock (On NeXT, Preferences.app icon was the system clock. Double-clicking on it put the preferences panel, with item lookable by _icons_, instead of an un-understandable alphabetical list of items in a menu)

    Btw, I really miss the OPENSTEP4.0 alpha dock that never saw the light.

    (Why do I post that ? this article is old news already...)

  • It's as if Aqua is designed to default to handhold the most relentlessly AOLish l^Huser. I'm not at all sure this _is_ a mistake.

    Not "as if" ... it IS.

    Everybody goes on about how Aqua sucks as a GUI. Well, yeah, because Aqua is not a GUI. Aqua is to a GUI what a GUI is to the CLI; a whole whack less power, for an order of magnitude reduction in learning curve. It's different enough from a dumbed down GUI ("Bob", anyone?) that it deserves a completely new name, and I suggest AUI, Appliance User Interface.

    Think of it this way: What are the top ten things your mother and grandmother (if yours have a clue, substitute your boss, or whatever :) just do not get about their computer, no matter how many times you explain the same thing? Now, how many of those would completely disappear as issues in Aqua Single Window Mode? Pretty much all of them, right? Sure, the Dock sucks for me. For THEM it is UTTERLY PERFECT.

    The truly nifty thing about OS X is that a CLI, a GUI, and what I call the AUI will all coexist nicely on a single machine. That's really cool.

  • by Anonymous Coward on Wednesday March 01, 2000 @07:05AM (#1236027)

    Your question is not dumb in the least. Although I've heard a lot of hype about XML, I don't think I've ever seen a trade press article that explains how XML is going to save the world.

    My understanding of what the excitement is all about goes like this: XML provides a standard framework for meta-data across different application domain. Because the framework is standardized across domains, we can write the basic tools (e.g. parsers) once, and have them work for all the different domains (e.g. retail sales, medical records, flight schedules, whatver).

    For each domain, you have "experts" (in reality, probably just the largest companies in the domain) define a common way of expressing the data for that domain. This is formailzed as a DTD. Everybody publishes their data using that DTD, and now you can interoperate.

    That's my guess, anyway. I hope those who know more will be able to correct me. For one thing, I don't know how it is that XML is any more suitable for the purpose than its progenitor, SGML.

  • by Anonymous Coward on Wednesday March 01, 2000 @06:33AM (#1236028)
    WebObjects 4.5 was released today. The new features (and server platform support) are interesting. A linux version would be interesting, maybe for 5.0.

    http://www.apple.com/webobjects/ [apple.com]

  • Which is that XML files are required to be valid.

    Supposing you mistag something in /etc/sendmail.xml , this could mean that Sendmail could no longer run.

    There is a benefit that XML buys you, which is that you could build a generic configuration tool that doesn't intimately know any individual DTD, but which does know how to:

    • Turn an XML document into a browsable tree on screen, and
    • Accept modifications and write them out as validated XML (sans DTD)
    But as you say, there would need to be many DTDs, which really just shoves the problems around a bit. It doesn't clean them up; it's more like using a dirty rag to clean a window, so that the dirt is getting redistributed to different parts of the window...

    The big problem would be in getting all the applications to change to use an XML parser.

  • by Matts ( 1628 ) on Wednesday March 01, 2000 @05:22AM (#1236030) Homepage
    I knew I should have patented that idea when I posted the idea to the ICOA (Amiga developers) mailing list 2 years ago... damn!

    Seriously though - this is what it's all about - if you don't like the tools the OS provides, you can write your own, instead of being stuck in GUI hell. This is how an OS should be.

    MacOS X is looking seriously interesting.
  • by Taco Cowboy ( 5327 ) on Wednesday March 01, 2000 @05:31AM (#1236031) Journal


    If something takes a G4/350 and 256MB of RAM to run "smoothly", that something is obviously bloated.

    I have read ars-tech's report on OS X, and yes, I am impressed with the technology. I hope some form of it will eventually be implemented in the open-source arena - whether it be *bsd or linux doesn't matter - but we can forget about the bloatedness.

    This world still needs a slim-fast-and-robust OS. It may not be pretty, but as long as it works wonderfully, it will has its place.

  • by FascDot Killed My Pr ( 24021 ) on Wednesday March 01, 2000 @05:16AM (#1236032)
    ...but then I realized how pointless that would be. For instance, there's no good way to put, say, /etc/sendmail.cf AND /etc/hosts in the same XML format. So you'd make one type for each file. You'd end up in the same situation that we are in now: multiple formats with confusing structure with the added "bonus" of XML tags littering the file.
    --
    Here is the result of your Slashdot Purity Test.
  • by Dacta ( 24628 ) on Wednesday March 01, 2000 @01:43PM (#1236033)

    XML allows you to write self describing files that are backwards compatibile.

    This sounds pretty useless at first, until you realize that it means that a tool can be written to adapt to changes in the file.

    For instance, if you have a DTD that describes the data on a person, you might the fields FirstName, LastName, and PhoneNumber.

    A GUI tool can read the DTD, and dynamically created edit fields for each one of those items.

    Now if you go and change the file, so it includes EmailAddress, the tool can cope with that change by creating a edit field for that, too.

    While you can do something like this with a simple text file with the field names along the top (for instance), the point is that the GUI tool you wrote for the first file will work for other XML files, too - with totally different DTDs.

    It has other benefits as well. Because you know from the DTD all the possible field types, you can write generic softwear that transforms the files in various ways. For instance, you can use XML Formatting objects (I think that is what they are called) to transform an XML file into a PDF file for publication, simply by defining how each tag type should look.

  • by DonkPunch ( 30957 ) on Wednesday March 01, 2000 @09:08AM (#1236034) Homepage Journal
    This was actually the topic of an "Ask Slashdot" some time back. If I wasn't lazy, I'd dig up the URL.

    I'm all for XML Config files and any software I write in the future that requires a config file will most likely use an XML format. Of course, this will make me an oddball for a while.

    The problem with XML Configs on Linux and Unix in general is that the platform philosophy is to have multiple small reliable tools. It works, but each of the tools often requires its own configuration file. In the case of Linux, the maintainers of these tools are often working for free on their own time. First, they have to be motivated to convert their home-grown file parsers to XML (or link to xmllib). Then, they have to define a grammar for the configuration file. With XML, defining a good grammar is most of the battle.

    For developers who have become accustomed to "linefeed, parse, repeat", converting to XML is time that could be spent on bugfixes or new features.

    Also, if Apache, VIM, emacs, sendmail, and ftpd are all using XML files with different grammars, what has improved? We've traded one format for another, but not really improved consistency.

    And if you think new users are scared of space-and-linefeed delimited config files, wait until you show them tagged config files with less than/greater than signs all over the place! For XML to truly make configuration easier, it will require a graphical general-purpose configuration tool that reads a DTD for the config file and presents the configuration in a point-and-drool framework.

    The good news is that this can been done. I really hope it happens.
  • by doce ( 31638 ) on Wednesday March 01, 2000 @05:57AM (#1236035) Homepage
    <i>If something takes a G4/350 and 256MB of RAM to run "smoothly", that something is obviously bloated.</i>

    Alas... every version of OS X consumer that's seen the light of day has had full debugging enabled at the (micro?)kernel, slowing the OS down considerably. Note that the current DP (Developer Preview) releases are purely to allow developers to have devices and apps ready to run under OS X... Apple isn't providing them with a polished OS.
  • by costas ( 38724 ) on Wednesday March 01, 2000 @06:32AM (#1236036) Homepage
    All we'd need is a good DTD for Linux that will more or less follow the GNU options standard. Then, any application could extend the DTD for its own use.

    You don't really have to agree on one DTD standard to see immediate benefits. One centralized XML-system parser that would read config files from one centralized XML depository would solve so many installation issues it's not funny. Think about this example: you're installing say PHP. PHP needs to know where Apache and MySQL are. Instead of bothering you with setting up the --with switches, the configure script calls the system XML library with say application("apache").source.path If it can't find it, it will tell you you need to install it --hey it could even go on the web and look for it... And the possibilities for online documentation and remote administration are too numerous to mention...

    I think the two big issues with XML config files are: a) people think they're much uglier to edit than /etc files, b) most importantly, backwards compatibility. (a) IMNSHO is not an issue. Config files should be machine-readable first and human-readable second. Human-readability should only be important when things have gone wrong and you're SOL --under normal use you should use an XML aware config-tool (a meta-Linuxconf) to edit the files. Under emergency circumstances, you can still fire up vi and edit an XML file (unlike, say the Registry).

    (b) is trickier. This is what I have proposed in an older /. thread: Let's create a centralized config directory, say /conf and a backwards compatibility deamon that monitors changes in /conf files. When an application and/or user changes a /conf file, the deamon parses the changes and writes out the appropriate /etc or /var file. I.e. during the transition period, /etc and /var will be read-only and /conf both read and write.

    This is just a rough concept. But if there are any takers, let's do something about it... this is Linux people...


    engineers never lie; we just approximate the truth.
  • by spiral ( 42436 ) on Wednesday March 01, 2000 @07:24PM (#1236037)
    OSX is not BSD! OSX is OSX. Well, actually, OSX is NeXTSTEP.

    The BSD that everyone keeps talking about is the unix interface. The OSX unix layer presents BSD compatible APIs, libraries, and tools; just like the classic layer presents MacOS classic APIs. OSX is BSD in the same way that SunOS was. It is not a derivative of {Free,Open,Net}BSD, it's just not System V.
  • by zorgon ( 66258 ) on Wednesday March 01, 2000 @05:36AM (#1236038) Homepage Journal
    Great review. I have three impressions:
    1) MacOS is now MacOSNIX, as well it should be. I always thought A/UX kicked major PC butt, but in this I think I was alone in the world. C'mon, now all, you have to admit, Jobs was ahead of his time with NeXT ... (don asbestos suit now) ;)
    2) By doing stoopid stuff in Aqua like shuffling around the buttons on the bar and removing the Apple Menu, Apple is going to piss off many end-user type folks who stuck with Macs even when the OS stunk (and don't give a hoot about the kernel). Bad move, with little to argue for it. Pointless eyecandy.
    3) That XML idea for sorting out all those config files and scripts is great! Kudos to those who did it and those who've been saying it all along.

    "C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do it blows your whole leg off."
  • by anatoli ( 74215 ) on Wednesday March 01, 2000 @05:48AM (#1236039) Homepage
    XML [xml.org] is such a misnomer.

    There is no X [x.org] support at all. Moreover, there's no ML [bell-labs.com] support at all! Please W3C [w3.org] change the name.
    --

  • by DreamerFi ( 78710 ) <john&sinteur,com> on Wednesday March 01, 2000 @11:54PM (#1236040) Homepage
    And yes, that's indeed a standards war waiting to happen - but luckily for 'us programmers', that war is at a level of "are we going to call that field X or Y" and calling it either way is not going to impact our code at all, nor will it require changes in our code. Now compare this to the standards war where two parties differ on the interpretation of bit number X of field number Y, and every single change means grinding over the code again. Now I don't know about you, but once I've written something, it suddenly is a lot less fun writing it again, so if I can avoid that, that alone would already be a Good Thing. Another interesting feature is that once you've got a xml parser, any new communications with a new system doing basically the same thing (for example, another supplier for the widgets your manufacturing dept needs) will mean zero coding - just changing a DTD file.
  • by Greyfox ( 87712 ) on Wednesday March 01, 2000 @05:03AM (#1236041) Homepage Journal
    At one point I mumbled something about XMLifying the /etc/filesystem -- right now there are too many different config file formats. Actually coming out with a standard XML reading dynamic library would allow a more standard formatting scheme.

    But... what we have now isn't really broken and I doubt you could persuade all those programmers to fix it.

  • by Carnage4Life ( 106069 ) on Wednesday March 01, 2000 @04:50PM (#1236042) Homepage Journal

    XML is a data interchange format. Many legacy systems contain data in disparate formats, and with the advent of the internet lots of developers are working on various ways to connect these systems using the Internet. One of their challenges is to be able to exchange data between systems that ordinarily are not compatible. XML might be the answer. Since the XML text format is standards based (implying that many applications can understand it), data can be converted to XML and then easily read by another system or application. For instance it would be a whole lot easier for banks or insurance companies to trade information with each other (epecially over the internet) using an agreed upon XML standard than using conflicting proprietary protocols.

    Using XML for Web data. Imagine having an HTML page in which none of the content is located on the page itself. Instead, the content is stored in an XML file, and the HTML page is used simply for formatting and display. The content can be updated, translated into another language, or otherwise modified without an author ever having to touch the HTML code. :-)

    Using XML to create a common data store for information that might get used in many different ways. Suppose, for example, that you are writing an article for a magazine or publishing a research paper. The publisher also wants to include the article on a Web site and then submit it for inclusion in a book or journal. If the original article was authored in a proprietary format, such as Microsoft's Word format, the article would have to be reworked for the Web posting and then probably reworked again for the book or journal. If the article was written in XML, however, it could be published to the three different environments simultaneously because the data of the article is independent of how it is being displayed. The formatting, layout, and so on are dependent upon the application using the data and are not attached to the content itself. Furthermore, the application code that displays the data needs to be written only once, and it then can be used to display any number of articles.

    These are the three I can remember from all the XML books I've read in the past few months.
  • by burris ( 122191 ) on Wednesday March 01, 2000 @09:50AM (#1236043)
    Quartz is less critical, though in the long run it will probably make life easier for developers. The fancy stuff there isn't strictly necessary, not yet, though as the range of displays increases, going to PDF and breaking the dependency on DPI and viewing distances will be necessary for the range of devices that Linux will run on.
    Quartz is actually much more critical than you suspect. Lets face it, the whole "raison d'etre" for Cocoa ("The Frameworks Formerly Known As NeXTSTEP, OpenStep, and Yellowbox), is to make the deveploper's life easier. Very powerful, intuitive, and advanced user intefaces can be done with Mac Toolbox, WIN32, Gnome/GTK, and even direct to X-protocol programming. It's all a matter of degree of difficulty for the developer (and by comparison to Cocoa, it's a serious PITA on the abovementioned platforms). As time to market and developer attention spans are at such a premium, a much more powerful developement environment (the frameworks and APIs, not fancy IDEs make the difference) allows developers to make much more powerful applications that really advance the state of the art of applications.

    Aside from the powerful graphics primitives and coordinate space transformations, you get real WYSIWYG display and printing for FREE! If you can display it on the screen then you can print it simply by sending a message to a print object. You get free output to PDF files. Anyone who has written a serious application that creates documents intended to be printed knows that the printing code is often a major PITA and a substantial portion of the time and effort expended to write the whole application. A lot of applications that aren't necessarily intended for creating printed documents don't have printing support or have extremely rudimentary printing support because it is so difficult.

    Furthermore, there is a thing known as "Filter Services" which are little bits of code that register with the OS indicating what file types they accept and what types they convert to. When you create an Open File panel you indicate what file types you want to accept (PDF for instance, which any app can display for free of course). There is already a PostScript distiller filter service that converts PS and EPS files to PDF. If the user has it installed on her system then PS and EPS files will show up in the Open File panel in your application. When they select them the file will be automatically converted to PDF. So even if your app doesn't directly support certain file formats, if there is a filter service available that can convert to one of your supported file formats then you get the additional formats without having to do anything, and without the user having to make an explicit conversion.

    So Quartz gives developers and users an amazing amount of power that lets them write extremely functional applications without much effort. This of course is translates to a direct benefit to users. It's more than just whizzy transparency...

    Dr. Burris T. Ewell

  • by Chris Johnson ( 580 ) on Wednesday March 01, 2000 @08:48AM (#1236044) Homepage Journal
    Their review is just phenomenal, profoundly clued. However, one thing that struck me about it was this: the criticism of the UI is that it is pure eyecandy, very good at that, but woefully unorganised and incapable of scaling up to a power user level.

    Well... that's a given. It's quite obvious. But might it be intentional? It seems to me the conventional wisdom is that usability does _not_ sell, and that flash is the only thing that drags in the consumers, many of which will never grow beyond basic web surfing and writing straight text in Word. Under those conditions the faults of OSX's GUI are not relevant, as the person would not be running two things at once except by accident (and guess what? for a change that would be instantly obvious!), and would never have learned any of the useful shortcuts of classic MacOS, whether it's ability to customise the Apple Menu or ability to do a contextual popup menu or use of the Control Strip. It's as if Aqua is designed to default to handhold the most relentlessly AOLish l^Huser. I'm not at all sure this _is_ a mistake.

    Then the trick becomes finding ways to replace the dock, to get rid of the default stuff and use other methods. Surely this is not going to be so hard given that Darwin is OSS and we'd be _replacing_ the proprietary GUI, not tapping into it? By that I mean shutting _off_ the Dock rather than altering it, I don't mean ditching Display PDF and running KDE on it. That said, I just bet one of the first replacements is somebody hacking a Windows taskbar and start menu only in Aqua style. Furthermore, I fear and suspect it will be a _jello_ taskbar and start menu, translucent, and will wobble sproingily at all times in a continuing bit of very striking but very distracting animation. (Why??? 'Because we can!' This becomes a hell of a lot simpler hacking Aqua and using a vector GUI.) But... why not? It's not like I'd have to use it. I might prefer something like a root menu, and tend to avoid having desktop objects at all, like I do in X and in MacOS. For me, icons are for keeping in folders in disks- the desktop should have only clippings and work in progress. If I could remove the drive icons in MacOS and get the windows through a popup or something, I would.

    There are a lot of things I like about Linux, mostly the freedom to be whimsical with the UI: I don't have to run a desktop if I don't feel like it. I can have taskbars of many different kinds, or not- I can have tiles and icons in many different ways, or not. However, I mostly run MacOS, partly because I know how to keep it running happy and stable, partly because its interface is more consistent (_especially_ text editing semantics- I'm sorry, X mouse text editing is crazed- even the 'windows imitations' are horribly inadequate compared with the traditional, post-Drag-and-Drop MacOS handling of it), partly because of access to tools. I write software for MacOS only- that is because it is a lot _easier_ to do, not because I don't want to code for Linux. I would really like to see some convergence here- in particular, I'd like to see OSX become popular in such a way that writing programs for it is closer to writing for Linux. Ideally I'd like to see some of the _great_ programming environments for MacOS (No I don't mean Codewarrior- I mean REALbasic. It's like a _really_ sophisticated GUI drag and drop object oriented interface builder only you code in Python- not really Python, but I'm told it's very Pythonish) evolve so they output code for OSX- at which point it becomes a lot easier for them to also output code for Linux.

    As these companies and programmers start adapting to a more Unix-based environment, they can start coexisting with the OSS world. There _are_ Mac programmers who 'get' open source. It's an active area- one of the biggest Mac gaming hits _ever_, Bungie Software's 'Marathon', recently saw GPLing- Marathon 2 was released under the GPL, and in just a few months has been substantially debugged and tweaked and enhanced, longstanding engine limitations totally obliterated in a delightful burst of free hacker effort. As the Mac converges with Linux (I consider the move to Darwin and BSD underpinnings a convergence all by itself), this sort of thing will happen more often. The end result might well be a massive cross-pollination- tons of Linux code being adapted for use with Aqua, tons of Mac programmers and vendors suddenly beginning to release stuff on Linux as well.

    When that starts to kick in, Windows can go pound sand >:)

  • by Wyatt Earp ( 1029 ) on Wednesday March 01, 2000 @05:08AM (#1236045)
    The new Powerbooks are not that expensive when compared to another top of the line laptop like a Thinkpad.

    Powerbook - $2,499.
    14.1-inch TFT screen
    400MHz/1MB L2 cache
    64MB SDRAM
    6GB Ultra ATA
    DVD-ROM/DVD-Video
    8MB video memory
    10/100BASE-T Ethernet
    56K internal modem
    2 Firewire ports

    Thinkpad 600X - $3,299

    Intel® Mobile Pentium III 500MHz
    64 MB SDRAM
    12GB Hard Drive
    2 Type I/II or 1 Type III CardBus and Zoomed Video support slots
    13.3" 1024x768 -- TFT - active matrix
    24x max-10x min4 CD-ROM
    56K5 v.90 KBps Modem

    So yes the Thinkpad has a faster CPU (smaller cache) and a bigger HD, but theres no Ethernet in the Thinkpad, thats an option. Smaller screen in the Thinkpad and no DVD-ROM. If you jump up to the 500MHz Powerbook...you spend $200 more than on the IBM, but you get 128MB of RAM. Plus you are getting the 2 Firewire ports for video and storage. (and if you say..."theres no Firewire devices out there!!!" You need to close your mouth and open your eyes...cause theres alot of Firewire devices out there.)
  • by mfterman ( 2719 ) on Wednesday March 01, 2000 @07:16AM (#1236046)
    Apple once again lurches into the forefront in key technical areas even if their user interface standards are slipping. Reading this article really makes me wish that Tog was still back at Apple. What he could do with the power of Quartz and all the things he could fix in the Aqua interface make me sigh with regret. I'm also regretful that Apple went with BSD instead of going over and contributing to the Linux movement, but I can understand their reasoning.

    Even so, this setup makes it quite clear that there is a lot that can be done in future releases of Linux. The main parts that strictly concern the Linux kernel involve Apple's cleanup of the system directory structure, it's reorganization of resources and the use of XML heavily for configuration files.

    The main problem with Linux for the masses is that managing system resources on a Linux system is nontrivial and really requires a trained system administrator. There are configuration tools that try to simplify it, but the lack of a standard configuration file format really cripples the effectiveness of these utilities. Also, the Linux filesystem really grew without systematic organization over various releases of Unix, rather than being planned out as a coherent and unified set of data files and a parser.

    The thing I really like most about OS X is the whole /System layout, at least the concept of it. Linux really needs to sit down and think out a new directory structure from scratch to organize all the files that are needed to run the operating system, along with a few elegantly constructed libraries and tools for manipulating those files.

    Such a porting sounds hideous but it can in fact be done in stages. A developer's release, probably Linux X.9 because the final result will be radical enough to warrant an point zero release, could create a filesystem like /System and over the course of various X.9.Y releases, move various system resources over to it.

    Backwards compatibility can be maintained by leaving the old /usr, /etc and other filesystems in place. /System would be where the operating system really lived and things like /etc/hosts could be created by special utilities from the XML files that contain host information. But the idea there is that would only be for legacy application support and developers would be encouraged to port to the new /System layout.

    Bundles are an elegant compromise between the necessity of having a bunch of files together to run a single application while at the same time giving a convenient single box to be handled from outside. Average users will use the box as a whole, advanced users can open it up and play with the contents. This is another feature that Linux needs to come up with some equivalent for, if it is to succeed on the desktop.

    Quartz is less critical, though in the long run it will probably make life easier for developers. The fancy stuff there isn't strictly necessary, not yet, though as the range of displays increases, going to PDF and breaking the dependency on DPI and viewing distances will be necessary for the range of devices that Linux will run on.

    Unix wasn't so much designed as it evolved, and parts of the system show that. Apple has done a major boon by showing what Unix can evolve into, giving the Linux developers a clear target to aim at for their course of future evolution. Between /System, XML resource files, bundling and Quartz, Linux has plenty of ideas to copy and improve on through the open source movement.
  • by Tower ( 37395 ) on Wednesday March 01, 2000 @06:26AM (#1236047)
    I've read a lot about how XML is the greatest thing since sliced bread, apparently enabling many different things, from website interoperability, office documents, making toast & eggs, an XML parser in the core of OS X, and now people are talking about making /etc/ files XML... I don't get it. Not just the /etc stuff, I don't understand what the big deal is about XML. It doesn't seem like the big panacea that will cure all of our standards problems and create world peace that many people seem to be making it out to be. In fact, I don't see very many reasons why I'd use it for *anything*...

    This is an honest request for information - please enlighten me.

    Thanks!
  • by imac.usr ( 58845 ) on Wednesday March 01, 2000 @05:49AM (#1236048) Homepage
    I just saw this [cnet.com] on cnet, talking about Sun's new API for XML support - so, since Java support in OS X is supposed to be much improved, how long before somebody creates a Java-based configurator tool for OS X? If I had better Java skills, I'd be working on one myself.

    And if the JVM improves for Linux, how hard would it be to port such a tool? Not very, I'm guessing.

  • by Neville ( 88610 ) on Wednesday March 01, 2000 @06:27AM (#1236049)
    Using XML to hold configuration data is sleek, but the possibilities for extending such translation to widget and component creation are even more promising:

    What if there were to be some XML processor built into the OS XML engine that parsed tags for creating windows, creating layout managers, and painting buttons, menus, etc. Assuming such components manage their own event processing and are truly modular (such as javabeans), one could script the creation of an entire UI or application. Maybe other API's could be mapped through XML processors and DTD's -- for instance, a series of XML tags mapped to OpenGL calls could be pretty spectacular.

    Granted, this is what scripting languages really already do: interpret chains of characters and map them to native machine functions. XML is the ultimate scripting language, though, because instead of choosing between perl, python, or even C, and being limited to their specific API's and syntaxes, we could simply use XML and choose different processors and DTD/controllers to accomplish the necessary mappings to specific syntaxes and API's. A single XML-crafted application could actually map to several languages if necessary, blending Java, C, perl, etc.

    Of course, a very talented team of brains would need to create the API-mapping-stylesheet-DTD pieces for these XML app developers to use, not to mention the XML processors (which would in effect become a virtual machine).

  • by stab ( 26928 ) on Wednesday March 01, 2000 @05:09AM (#1236050) Homepage
    Well, the expat [jclark.com] library already exists and seems to be quite defacto under Unix.

    At least, PHP and Apache use it, and well. And a couple of other utilities and CPAN modules. I've come across. It's fast, small, and not full of unneccessary crap.

    Anyway, utilities like Apache [apache.org] and ProFTPD [proftpd.net] already have meta XML config scripts, and a fair few perl scripts that make use of XML::* as well.

    I don't think I like the idea of having a dynamic XML library, and your entire /etc filesystem depending on it. What do you do when it breaks? It's like screwing up your LD.so.1 ... ow :)

    Still, a standard, easy to use DOM for utilities would be nice, perhaps some kind of extension of the GetOpt stuff would work? It's succeeded largly because it's there and easy to use, and an XML standard would have to do the same.
  • by tjwhaynes ( 114792 ) on Wednesday March 01, 2000 @05:30AM (#1236051)

    When I first heard about the Mac OS X GUI I was both impressed by the visually clean and clear appearance of the interface and the use of transparency to improve the relationship between sub-windows and the 'main' window. Reading through this Ars Technica article though, I begin to wonder whether all these special effects included with Mac OS X are an improvement to the original Mac interface or whether they are crucifying their principles of simplicity of use in order to appear more flashy.

    For example, the Dock bar at the bottom of the screen which progressively shrinks as you add more items to it and magnifies the few documents around the mouse when you move to it. This looks like a neat idea at first, especially when you look at the example screenshots given on Apple's site. But distinguishing between even 10 text documents is difficult using this method (the icon reflects the real document) and the example given of 1000+ documents in the bar in Ars is a nightmare!

    The use of a button on every title bar to switch between single and multi-window mode is also odd. I guess this is a more interactive way of minimizing windows for the new user, but it's strange to see an option like this as a window button everywhere.

    Don't get me wrong - I'm impressed by much of what I see in the Mac OS X GUI. The clear use of colour - i.e. generally neutral colours for windows, with primary colours for important window tool buttons on the active window - along with the Quartz technology and the XML integration are all worthy additions to the interface. But I do worry that some of the features are more a triumph of style over substance when it comes to real usability. As GNOME and KDE move to improve their interfaces, there is much to learn from the way Apple has designed their GUI. As long as nobody forces me to use a one-button mouse ...

    Cheers,

    Toby Haynes

HOLY MACRO!

Working...