Slashdot Log In
Mac OS X, XML, and Aqua
Posted by
CmdrTaco
on Wed Mar 01, 2000 08:58 AM
from the stuff-to-read dept.
from the stuff-to-read dept.
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.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
Mozilla uses expat too (Score:2)
Static binaries. (Score:2)
--
"One World, one Web, one Program" - Microsoft promotional ad
Re:Not *That* Expensive (Score:2)
--
Re:Not *That* Expensive - Duh (Score:2)
Of course the Airport adds 100 bucks to the price, but the Lucent PCMCIA cards are...$140? Or was it $170?
All XML buys you is "cheap parsing." (Score:2)
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.
I'm not sure we would want this... (Score:2)
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.
Buncles, Aqua, and Everything (Score:2)
Re:Bloat (Score:2)
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.
Re:I mumbled the same thing for a while... (Score:2)
Comments from a Mac User (Score:2)
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.
Clueless (Score:2)
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!
Oh boy... (Score:2)
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...)
Re:Ohmigod, no Apple menu??!??!?! (Score:2)
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...
Re:not that new an article (Score:2)
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
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.
Re:Okay, I admit it (Score:2)
Somebody stop this guy...
Re:Clueless (Score:2)
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.
Re:Clueless (Score:2)
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.
Re:There's a third problem... (Score:2)
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.
Re:Dumb Question re: XML (Score:2)
How Can You Use XML?
There are several basic ways to make use of XML:
Re:Not *That* Expensive (Score:2)
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.
Quick, someone tell Santa (Score:2)
Re:Dumb Question re: XML (Score:2)
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...
Re:OS X (Score:2)
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.
Re:I mumbled the same thing for a while... (Score:2)
I would be very much in favour of a gradual conversion to XML-based configuration.
Hey! (Score:2)
JD
Re:Dumb Question re: XML (Score:3)
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.
How about a more interesting story, WebObjects 4.5 (Score:3)
http://www.apple.com/webobjects/ [apple.com]
There's a third problem... (Score:3)
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.
XML Configured OS (Score:3)
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.
Bloat (Score:3)
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.
I mumbled the same thing for a while... (Score:3)
--
Here is the result of your Slashdot Purity Test.
Answer (Score:3)
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.
XML Config files (Score:3)
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.
Re:Bloat (Score:3)
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.
I am STILL mumbling that... (Score:3)
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
(b) is trickier. This is what I have proposed in an older
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.
Sigh. (Score:3)
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.
Ohmigod, no Apple menu??!??!?! (Score:3)
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
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."
Re:OS X is such a misnomer... (Score:3)
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.
--
Standards war (Score:3)
Hmm... (Score:3)
But... what we have now isn't really broken and I doubt you could persuade all those programmers to fix it.
A few examples... (Score:3)
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.
Quartz is critical! (Score:3)
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
Ars is doing a _really_ good job here (Score:4)
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 >:)
Not *That* Expensive (Score:4)
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.)
OS X (Score:4)
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
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
Backwards compatibility can be maintained by leaving the old
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
Dumb Question re: XML (Score:4)
This is an honest request for information - please enlighten me.
Thanks!
Now with Java support (Score:4)
And if the JVM improves for Linux, how hard would it be to port such a tool? Not very, I'm guessing.
XML-OS widget translation (Score:4)
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).
Re:Hmm... (Score:5)
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
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.
Mac OS X GUI - improvement or handicap? (Score:5)
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