“If developers could port their Motif-based applications to Aqua as easily as Mac Classic developers can port to Carbon, those nice UNIX apps might reach the Mac faster. As a sysadmin, I see OS X as a fantastic replacement for a UNIX workstation. But there are a few things Apple (Nasdaq: AAPL) should think about if it really wants to compete in the UNIX space. I’m not saying that if OS X doesn’t have these things, UNIX people won’t look at it as an alternative. However, I believe that the following alterations would make OS X much more appealing as a replacement for current UNIX workstations.” Read the rest of the editorial at OSOpinion.
Making MacOSX a UNIX Contender
About The Author
Eugenia Loli
Ex-programmer, ex-editor in chief at OSNews.com, now a visual artist/filmmaker.
Follow me on Twitter @EugeniaLoli
28 Comments
“XFS is now GPL http://oss.sgi.com/projects/xfs/, so Apple can do what ever they want, the same way they did with Darwin (FreeBSD).”
No, Apple can’t. GPL does not mean ‘do what you want’. GPLed XFS is only allowed in MacOSX/Darwin if Darwin was under GPL, but Darwin is under APSL (http://www.darwin.org/apsl/).
The same with FreeBSD: It’s under the BSD-License (http://www.opensource.org/licenses/bsd-license.html) – not GPL.
You can drive people on the Darwin mailing list crazy by asking why Apple doesn’t use XFS for OS X. Quick answer: The GPL.
However, no one’s holding *you* back from porting it.
Running Motif programs on OS X is pretty simple with lesstif and XDarwin.
Under X, the terms “server” and “client” seemingly at first behave strangely. An X server is the software that run the display on the computer you are sitting in front of. Clients are the programs that are on the remote computer being displayed on the X server. The reason X is fast is that the clients just send position infomation and their data, and the drawing is done directly by the X server.
So the computer that is sitting in front of you is doing the graphical rendering unlike “remote control” programs, like VNC, that render the page on the remote machine and send it all down the network to the viewer.
The advantage of VNC over X is that if the VNC viewer crashes you can restart it and everything you were working on is still there. If your X server crashes, your X clients go down with it.
To T Ly:
There are two big reasons people don’t like the X Windowing System (X). From the programmer’s viewpoint, X is too low-level and hard to write for. From the user’s viewpoint, X apps are inconsistent.
When you program with Xlib (the lowest level API for X applications), you deal with the system in terms of windows (think hierarchical rectangular areas) and drawing primitives such as lines, circles, and pixmaps. All drawing instructions must be sent to the X server over a socket, unless you use an extension which can only be used locally. In practice, this extension is used despite the extra programming effort because pushing drawing primitives (especially pixmap data) over a socket is slow.
One clear example of the problem with X’s low-level nature is the issue with anti-aliased fonts. Originally, fonts were rendered to 1-bit pixmaps. Since you can’t anti-alias black & white font images, the X Render extension had to be written to do so. Unfortunately, last time I checked this extension was only available for XFree86, which means that commercial Unixes aren’t benefitting from it.
As an application programmer, you rarely deal with Xlib. Toolkits provide an abstraction above raw Xlib to provide widgets and saner event handling. The problem here is that you end up with a plethora of UI look-and-feels because there is no standard, giving users fits (not to mention that Unix programmers can’t write a good GUI no matter what they’re using).
If you ask me, Unix would be better off letting X die and replacing it with a modern appproach. (Aqua? One can only hope…)
you need new “network transpart” system. I don’t think Mac users want (or need) this, I agree something better should be found.
mlk
The article has a great premise even if some of the writers points are flawed. Apple is trying to expand their market share. I dont know how many Windows users are buying macs to replace their PC’s but show up at a USENIX or some other technical conference and youre going to see a hell of alot more macs than you used to. The mac IS expanding and unix geeks are buying. Apple’s implementation isnt perfect at any level (UI, BSD, or low level) If they ignore everything but the UI they stand to loose all those techies. FWIW, Apple seems to be making an effort as evidenced here http://www.opensource.apple.com/bugs/
On the topic of converting users of other platforms to the Mac platform, it would be easier to convince a long time *nix or *BSD user to convert to Mac as oppose to converting to Windows since Apple is more willing to adopt Unix fundamentals. We all can clearly see that more and more *nix users are buying Macs and it’s been said before that this is because MacOSX has new features which have been around for a long time found in Unix OSes.
I find it amusing that the Linux movement is trying to bring Unix to the mainstream by making Unix more user friendly and easier to use, while MacOS is taking the reverse approach. They already have something that’s user friendly, now Apple is trying to make it appeal to Unix users.
“as easily as Mac Classic developers can port to Carbon”
This guy obviously never had to port millions of lines of MacOS 9 code to Carbon.
He’s also clueless about mac applications in general!
The Mac appearance implies Mac behavior, something not a single UNIX application on earth has. Heck, many Cocoa apps like TextEdit also have this problem to a lesser degree.
If you want to run your Motif applications, install XDarwin and LessTif. They won’t look like Mac apps, and trust me that’s a GOOD thing!
As for his other suggestions, a three button mouse? Why? You can have up to 2^16 mouse buttons if you want, but WHY? Because you’re used to three buttons? huh? You can copy+paste or cut+paste without the keyboard and one mouse button, at least in Carbon apps.
Apple isn’t weaning anybody off metadata, and the limitations of non-HFS+ filesystems will continue to be a problem so long other filesystems don’t implement what HFS+ does. A filesystem ought to have an arbitrary set of file attributes, and ease of use and iteration speed is compromised unless a filesystem supports FileIDs. I agree HFS+ should be given an update.
His webstart comment is just plain dumb when you consider OS X can already do what he wants. Oh, but it’s not WebStart! good grief.
There’s another thing this guy doesn’t understand. Not everything you see in OS X is PDF. In fact quite a lot of it is pixel graphics. Each window is a bitmap layer (CG surface) which may be rendered PDF, but even more likely is not.
Other than possibly Mac apps using MLTE or ATSUI, the only apps using PDF views will be Cocoa apps (although only the views are PDF, not the scroll bars etc.). If you want to execute Cocoa apps remotely you may as well use distributed objects which can be far more efficient.
Just use Timbuktu like all the WinXP weenies. Good grief.
“As for his other suggestions, a three button mouse? Why? You can have up to 2^16 mouse buttons if you want, but WHY? Because you’re used to three buttons? huh? You can copy+paste or cut+paste without the keyboard and one mouse button, at least in Carbon apps.”
My Intellimouse Optical has 5 buttons, and I use every one of them. Left+Right mouse buttons do their usual thing. The wheel button maximizes (I like most of my windows maximized), right thumb button is Back in web browsers (works in both IE and Mozilla) and the left thumb button closes windows. And let’s not forget about the wheel itself, it is truly a Godsend
If there were more buttons, I could probably find a use for those too.
I’m sure there are shortcut keys for everything I use the mouse for, but when I’m just surfing the web, my left hand generally isn’t on the keyboard, so why make things harder than they have to be?
For those of who use all these buttons, the Mac and its ONE mouse button is simply an abomination.
I don’t know about you but I’m beginning to think UNIX is very overrated. I think it’s worrying that the open source community is spending so many resources on a UNIX clone. All GUI applications are built on X, an ancient dinosaur.
Is this clinging to the past really healthy for computer science in large?
(And no, I don’t think MS is our saviour)
From the article:
“XFree86 is pretty good. Could you package it with the OS?”
– Does this mean that he is not able to install it by himself?
“Perhaps Apple is already doing this by weaning us off of its metadata. Once everyone has given up on metadata, Apple will be free to move to XFS or some other file system.”
– I thought UFS is also avaiable in OSX.
One of the reasons why I’m considering a conversion to Mac is becuase I don’t want to use X. I don’t know why, there’s just something about it that doesn’t sit well with me and I just rather it not be in my next OS.
I don’t understand why so many people have animosity towards X. It’s not the prettiest GUI (depending on your WM of course) and unstable environments (Gnome, KDE) give it a bad name. But c’mon, the fastest built in networking I have seen on a remote windowing system and for free.
Maybe I appreciate X more because I am actually using it to access remote X sessions rather than as just a desktop?
T Ly: do you not want X because it is unfamiliar? Actually a hybrid Aqua/X would be nice.
At my first job I started as a Mac hater but eventually developed a certain fondness for its UI. So far I haven’t been able to feel the same way about Aqua; it is just cheesy and baroque in appearance. I hope Apple hires developers with a little more taste to tone it down a bit!
If MacOS X is going going to be taken seriously as a UNIX workstation it will need some X capability. The direction I’d like to see it take would be for Apple to improve Aqua to where it wasn’t as obnoxiouus itself then have a means to run X applications within Aqua where the X actions are converted to native actions much the same way you can do with Hummingbird Excel on a PC where X window applications can run within the MS Windows UI instead of on a X desktop.
I think the ability to remotely run GUI apps is going to be more and more important for desktop users in the next few years. Apple should definitely add support for this to their windowing mechanism. One of the real godsends of WinXP from the techie with non-techie family members viewpoint is Remote Assistance. There is nothing like teaching someone how to use their computer by showing them on their own comptuer screen. Apple definitely needs this.
Darius
The wheel button maximizes (I like most of my windows maximized),
Mac users don’t maximize windows, since there is no such thing as a maximized window on MacOS.
Bruce Jackson
At my first job I started as a Mac hater but eventually developed a certain fondness for its UI. So far I haven’t been able to feel the same way about Aqua; it is just cheesy and baroque in appearance. I hope Apple hires developers with a little more taste to tone it down a bit!
You really think so? I dig Aqua. I think it looks spectacular in comparison with most of the other *standardized* UIs out there. I’m a big fan of the 3 pane file system browser; Apple has needed something like this for a long time! E has very nice UI, but it is completely non-standard, and would be neigh on impossible to support from the other end of a phone line.
Ian:
I admit that I am unfamiliar with the way X works, so correct me if I’m wrong. What I understand X to be is a client/server environment to display graphics on the screen, similar to the client/server model in networking. Then after reading the article we all are discussing about, I learned that X makes use of TCP/IP somehow, again I don’t know enough about X’s inner workings to make any assumptions. But the whole setup just doesn’t make sense to me. I’m obviously missing the reasons why X is the way it is, and the advantages of it. Networking is pretty low in my priority list, I would much rather have an OS that takes a more direct hardware approach to displaying graphics onto the screen. Remote administration and the ability to see a X session from another computer is unimportant to me, although I do recognize the advantages of having it IF I were a sys admin which I’m not. The Macintosh platform can be used for servers and what nots, but in my opinion, a typical Mac user would not need X. The Mac platform is capable of being a server, but why would you use it in that way if there are other (cheaper) alternatives? I have nothing against the way X looks, in fact I would prefer a simple GUI over Aqua. But despite the simple visuals of X, I have been told that there’s a slight CPU overhead when using X. I’ve also been told that the overhead is barely noticeable, and in this day and age when x86 hardware is so cheap it doesn’t really matter anymore. Aqua is really overkill, and taxes the CPU unecessarily.
First I’m trying to defend my point that X is not necessary on MacOS. There’s a time and a place to use X. Aqua is bloated already the way it is, so let’s not push it by adding X. Unless people are suggesting Apple ditch their current design and adopt X. Most of the features that X provides would appeal to sys admins, but should Apple move into the server market? Their focus has been the desktop for home/business, and they’re not really standing on solid ground anymore. So what if OSX has features in common with Unix? It’s still a Mac.
MacOS and Unix alone are 2 great OSes. But they target different users, and mixing them together too much would only piss off a number of users from both sides.
Bruce:
If Unix users are happy with Unix, they should stick with it. There will be a lot of angry Mac users if MacOS becomes “Unix on a PowerPC G4 and a pretty case”. There are other ways of making the Mac more “Unix-like” without actually turning it into Unix. Improved networking, a TCP/IP stack based on FreeBSD, user logins and support for multiple users on a single box, improved scripting, support for multiple processors. This is just a small list of new things in MacOSX that make it look more Unix like. Other than the TCP/IP stack from FreeBSD, all the rest was accomplished without having to port actual code from Unix.
T Ly,
Under the hood of MacOS X is Darwin which is a FreeBSD identity running on a Mach microkernel. I’d argue that BSD is UNIX because it was UNIX before X/Open acquired the UNIX trademark but that is another argument. In any case, there is no reason whatsoever that multiple personalities could not all run on top of the Mach uKernel, one X/UNIX based for UNIX types, a MacOS one for nice applications, even a Windows one for running legacy Windows apps. This is not the way Apple has chosen to do things but this shows more about how Apple isn’t really understanding all the posibilites of a uKernel design. Instead of doing the job right Apple just put a pretty layer on top of BSD instead of writing a true MacOS personality for it.
XFS? Isn’t SGI a competitor to Apple? Why would they license this to Apple? And why would Apple want to rely on a competitor’s technology?
<Quote>XFS? Isn’t SGI a competitor to Apple? Why would they license this to Apple? And why would Apple want to rely on a competitor’s technology? <end quote>
To Anonymous:
First, blast you for making me type the word anonymous, it always hurts my fingers. JK. Anyways, XFS is probably the ideal file system for multimedia junkies. It handles large files much better than most other filesystems, and by “better” I mean faster. I wouldn’t say Apple and SGI are competitors. SGI targets the really high-end graphics market, like professional studios and the film industry. People who are willing to pay $30K+ for a single workstation. Apple targets a more broader audience of creative professionals of almost any budget.
To Bruce:
You make good points as to what Apple COULD do, but in the end it’s a question of why SHOULD Apple make MacOS even more Unix-like. I’m beginning to see the importance of Apple’s ability to win converts in the business market. Home users who used Macs probably have used them for years, and are very loyal to Apple, so they’re aren’t going anywhere. It’s the businesses that need convincing. Putting Unix in a blue/silver plastic case with an Apple logo isn’t going to convince anyone. Whatever Apple does in the future to enhance MacOS to appeal to businesses, it has to remain “Mac-ish”. Please understand that “Just because you CAN do it, doesn’t mean you SHOULD do it”.
T Ly
You are reminding me of a letter I read in BYTE magazine many years ago. A BYTE article suggested that the Macintosh really needed a command line processor and a simple scripting language. An irate reader sent a letter saying that the day Apple puts a CLI on the Macintosh is the day he will never buy another. What I’m suggesting would give Apple the best of both worlds; a very Macintosh-centric personality for desktop users and a UNIX-centric personality for servers or those needing it. This would be a more modular, cleaner, and more inovative approach to meeting the needs of different users and markets. Curently MacOS is like an onion. The core is Mach, then a FreeBSD (Darwin) layer, on top of that a macintosh layer, and an emulation layer on top of that for legacy stuff. My suggestion would be for each environment to connect to the uKernel and not to depend on the other layers. Every kind of user could run the personality(s) they required. I’m a Solaris admin and I’d be happy to buy an Apple server; in fact I almost have already. At my last employ I almost purchased an Apple server that would run IBM’s AIX. Before that Apple sold A/UX as their own version of UNIX. Apple had done UNIX already but they haven’t picked up much marketshare because they haven’t done it right.
Ok, I see no one yet has posted that there ARE X servers for OS X. There’s even a “rootless” X server, where your X applications sit side-by-side with your OS X apps…
As for Apple not understanding microkernel design, I find that hard, since they did hire one (THE?) of the developers of the Mach kernel…
Many of the posts here don’t fully realise what the Gary Rogers wants. He want a replacment to an UNIX<a href=”http://www.sun.com/desktop/“>Workstations, like the Sun Ultra’s (or maybe an x86-Linux box).
This means they must be stable and easy to maintan.
Allow exportable Quartz
This is not “porting X”, but adding functonalty found in X and Windows. Functonalty he feels he needs. As a “workstation” I don’t know why he feels he needs it, but hey…
While you’re at it, get off your patootie and add X support to Aqua.
This I don’t get either, it has it you daft plonka.
I don’t know if it has “rootless” mode… Anyone? If it does not it needs it, as a UNIX workstation will normally be connected to a nice big chucky <a herf=”http://www.sun.com/servers/highend/“>Server, maybe running some X-apps.
10 ? Make a three-button mouse
20 ? No, one button mice rock, anyway you can plug in x button mice
30 <tt>goto 10</tt>
The MS 1-billion-button-mouse does not look as pritty as the dam sexy http://www.apple.com/mouse/“>Apple !
(ps, “?” in some BASIC’s is “PRINT”)
Update the file system
Ohhh Yes! I don’t really think any of us will disagree here 😉
Implement an LVML
This I don’t get, he wants an UNIX workstation, but this is a server toy… ahh well.
Use those RapidIO extensions in the G5.
Ohhh Yes! I don’t really think any of us will disagree here 😉
Provide a Carbon-like foundation for Motif.
Someone said about that it’s not easy to port a Classic app to Aqua, it is however easy to RUN a classic app on Aqua, he wants the same sort of combatabity with Motif. Remeber he wants to cuck out all the UNIX workstations, and replace with macs, this means he’ll need each of the wierd UNIX apps (all written with Motif in mind, and I’m not talking about Linux apps, but strange, head-hurting science stuff)
Give us a Webstart type of capability
This is a must, if you are going to admin 200+ workstations, your’ll want a simple install, and update feature and something to stop users doing things they should not, I’m part of a team that admin 200+ Windows workstationms, things like this make life a LOT more fun!
Provide a WBEM interface
never used, so can not comment
I think Gary is on to a winner here, it’s a great new market (for Apple). I think I would be best done a new range, with a MacOS X UW (UNIX Workstation), that shipped with Motif support, build in auto-install & update software and a more unix-y mouse.
…<a href=”http://www.sun.com/servers/highend/“>Server…
XFS is now GPL http://oss.sgi.com/projects/xfs/“