Now ask anyone (well, almost anyone) who's coded Cocoa a and they'll tell you it's lovely. Shoot, A le's so proud of the frameworks they provide for devs, they even touted a new one, Core Animation, as one of the 10 things coming in Leopard. But we're still living a dual-existence (triple or quadruple or more, if you get technical) in that you have Cocoa a , and you have the non-Cocoa a . Perha you know about Java, which is what Limewire uses. Or X11's ability to run a like GIMP. Both of those have their quirks. Java a can be all over the place, and X11 doe 't integrate the UI of OSX, among other i ues. Carbon is a mix of old-skool API's (implemented in good ol' C if I recall), and permeates Mac a like Office and Photoshop, where a teardown/rebuild would be too unwieldy. There's also the fact that key a like Finder and QuickTime are Carbon enough to still have some legacy code from way back when, which might account for some of their quirks too... No holy wars about Cocoa vs. Carbon, OK? I'm with David Wei on this one. So you have Cocoa, Carbon and everything else.
Getting granular for a moment, look at a tale of two browsers: Safari vs. Firefox. Safari is a Cocoa a , and it is tightly integrated with OS X tools. It maintai the ability to look up words in the Dictionary a with a right-click, and acce the OS X Keychain. Firefox is not a (full) Cocoa a , and you can't niftily use a keyboard shortcut to look up a word, nor will it store pa words in Keychain. I've learned to use this "wall" to my advantage. Since the pa words are stored differently, I can automatically log in to systems (like gmail) using two accounts simultaneously. I use my busine gmail on one browser, and personal on the other. Unfortunately, you're limited to 3, as all Firefox-based browsers will share their version of Keychain, and all Webkit-derived browsers use Keychain. I say three, because Opera stands alone (and doe 't always play nice with Gmail). There's the conundrum: to the average user, they don't care, but when little non-Cocoa quirks a ear, they scratch their heads and wonder why the Mac doe 't just "do stuff" one standard way.
Keep reading for my take on shareware, freeware, and malware in OS X...
I am continually amazed at the amount of shareware and freeware available for Macs. Of course, A le's developer-friendly (arguable, I understand) environment hel . Used to be, you made an A le a , you were just kinda slugging it out in ace. Let's face it, "Cla ic" might mean pre-OSX to me, but to a real estate agent, "cla ic" just mea old and worn-out. Since OS 7 the Mac environment got more complicated, slow, wacky and isolated. Like Ted Kaczy ki.
Delicious Mo ter is another good example. Here's a company run largely in a virtual environment, utilizing A le dev tools and tech to create this one really cool a : Delicious Library. This is an a so good people repeatedly trot it out to impre their Windows brethren. Same with Comic Life -- so cool < an style="font-style: italic;">it comes prei talled! And these are a you find only on the Mac -- which is quite a turnaround from 1997. These are also increasingly Cocoa a , which makes se e, as they tap those cool Cocoa frameworks...Shoot, Yojimbo exists and works so well precisely because A le put in some great frameworks (Core Data anyone?)... One might say it is easier to make great a on the Mac.
On the PC, it's easier to just make an a lication. Lower the bar in that way also increases the number of dingbats making those "easy" a . I've programmed Visual Basic. It's way too easy. I say that only half-joking, because VB is fun to play with. You can write some really ugly, a oying a in VB too. But again, that's probably where you find a lot of the dregs of coding -- never mind the crummy game engines available for PCs. That's a whole other post...
And freeware? Here's where the Mac shows some clear edge too. I think Mac freeware tends to be a little le atrocious. Sure, you have stellar examples as Adium or Journalr. Keep in mind much of what you see in Mac freeware stems from those APIs A le crams into OS X. Journalr can tie into the video or audio because there are pipes for that. There's .Mac sync for those who care. Leopard promises even more, like total acce to iCal's data store, which simplifies all sorts of time management i ues. GTD fa rejoice!
I'm not a total A le apologist. Games, utilities and freeware are much more plentiful on PCs. There is certainly a robust developer community, and MS has gone to great pai to make a backwards-compatible. The u ide is folks who upgrade to XP from Win95 have had some succe getting those old a to run. So there is TO of software on Windows. There's lots of malware too, with many a lication we ites emblazoned with "100% Malware-free" because it's almost impo ible to separate the wheat from the chaff. The fu y thing is, if, like most Mac users, you just blaze through the i taller, you could still easily put something malicious on your machine. You might not even think twice about typing in your pa word, not if you downloaded it yourself! But so far there have only been a few examples of this ha ening. Not the few thousand you see elsewhere...
Unfortunately, to some Mac users, even the slightest imperfectio can incur our wrath. As a result, a number of developers try to improve the Mac a themselves. Multidash was one example, and Chax is another. Ta are coming in Leopard, which kills one function of Chax. Widgets made the Konfabulator crowd mad, and who knows, maybe Safari will finally ask me if I really want to close the 32 ta I ent hours researching before I accidentally close the one about the cat on YouTube. Developers continue to slog it out though, making more cool stuff and i ovating A le's own admittedly excellent work. And yet I can only recall one a fro Windows that'll let me re-arrange the items in the taskbar... I typically avoid a lot of haxies though, because A le's updates tend to break those. One of the reaso A le doe 't really want you to use certain Mac-enhancing a is the user experience. If you become addicted to Inquisitor, and then move to a different machine where it's not i talled, all of a sudden you have to change your routine. This i 't always a big deal, but try cutting off (or crashing) Quicksilver -- sorely mi ed within moments. Granted, I can hardly go back to using pre-2-finger scrolling trackpads, and that's an A le upgrade.
The benefit of Mac fandom, and in this case, Cocoa fandom, is a better breed of software tools. While arguable, I'd say a in general are slicker, cooler and easier-to-use on Macs. It's been a long, strange trip for A le developers though. I remember using HLINE and VLINE to program crummy little blo on my A le ][, and recoiling in horror at the hex codes to make "real" games work. Now you can make a platformer with Photoshop! Add in decent Java su ort, X11, the UNIX underpi ings, and some killer dev tools (free with every machine, I might add), and what's not to love about developing for Macs? As the hardware gets better, A le will no doubt continue to push more powerful frameworks into Cocoa, which tra lates into yet more freakin' awesome a for the rest of us. I raise a mug of fancy hot cocoa to the developers of Mac a everywhere -- and thanks for all the code!
No comments:
Post a Comment