The Cocoa Conundrum
When it comes to software on the Mac platform it's a mixed bag. I don't mean like on Windows, where the bag is full of snakes, scorpions, rusty blades, and the occasional bit of peach. Software on the Mac has been in flux for a decade. When Apple bought NeXT, most of us figured Copland was dead in the water (and it was). Personally, I wish we'd seen OpenDoc come to fruition, but that comes from years of dealing with bloatware. OS X pushed the "Classic" Mac OS further and further into the shadows, until, with the advent of Intel Macs, it's pretty much dying off... Read the fine print on these Leopard features for developers, and you'll realize how dead "Classic" really is. Perhaps we should call it "Relic."Now ask anyone (well, almost anyone) who's coded Cocoa apps and they'll tell you it's lovely. Shoot, Apple'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 apps, and you have the non-Cocoa apps. Perhaps you know about Java, which is what Limewire uses. Or X11's ability to run apps like GIMP. Both of those have their quirks. Java apps can be all over the place, and X11 doesn't integrate the UI of OSX, among other issues. Carbon is a mix of old-skool API's (implemented in good ol' C if I recall), and permeates Mac apps like Office and Photoshop, where a teardown/rebuild would be too unwieldy. There's also the fact that key apps 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 Weiss 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 app, and it is tightly integrated with OS X tools. It maintains the ability to look up words in the Dictionary app with a right-click, and access the OS X Keychain. Firefox is not a (full) Cocoa app, and you can't niftily use a keyboard shortcut to look up a word, nor will it store passwords in Keychain. I've learned to use this "wall" to my advantage. Since the passwords are stored differently, I can automatically log in to systems (like gmail) using two accounts simultaneously. I use my business 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 doesn't always play nice with Gmail). There's the conundrum: to the average user, they don't care, but when little non-Cocoa quirks appear, they scratch their heads and wonder why the Mac doesn'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, Apple's developer-friendly (arguable, I understand) environment helps. Used to be, you made an Apple app, you were just kinda slugging it out in space. Let's face it, "Classic" might mean pre-OSX to me, but to a real estate agent, "classic" just means old and worn-out. Since OS 7 the Mac environment got more complicated, slow, wacky and isolated. Like Ted Kaczynski.
What a difference a decade makes. Some folks are making a go of it with Mac shareware. For one thing, niche apps that merely annoy a major publisher -- like Adobe -- are readily available. Transmit is a good example. Panic itself is a poster boy for Mac development anyway, but Transmit is how FTP should work on any platform. But an FTP program from Adobe? Can you imagine? It'd need 3 updater/helper apps, an IRC client, and a WYSIWYG coffee mug designer app and Acrobat Reader to be installed before you could run the thing. Maybe it's the OpenDoc fan in me, but I love these little "indie" apps.Delicious Monster is another good example. Here's a company run largely in a virtual environment, utilizing Apple dev tools and tech to create this one really cool app: Delicious Library. This is an app so good people repeatedly trot it out to impress their Windows brethren. Same with Comic Life -- so cool it comes preinstalled! And these are apps you find only on the Mac -- which is quite a turnaround from 1997. These are also increasingly Cocoa apps, which makes sense, as they tap those cool Cocoa frameworks...Shoot, Yojimbo exists and works so well precisely because Apple put in some great frameworks (Core Data anyone?)... One might say it is easier to make great apps on the Mac.
On the PC, it's easier to just make an application. Lower the bar in that way also increases the number of dingbats making those "easy" apps. 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, annoying apps 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 less 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 Apple 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 access to iCal's data store, which simplifies all sorts of time management issues. GTD fans rejoice!
I'm not a total Apple apologist. Games, utilities and freeware are much more plentiful on PCs. There is certainly a robust developer community, and MS has gone to great pains to make apps backwards-compatible. The upside is folks who upgrade to XP from Win95 have had some success getting those old apps to run. So there is TONS of software on Windows. There's lots of malware too, with many application websites emblazoned with "100% Malware-free" because it's almost impossible to separate the wheat from the chaff. The funny thing is, if, like most Mac users, you just blaze through the installer, you could still easily put something malicious on your machine. You might not even think twice about typing in your password, not if you downloaded it yourself! But so far there have only been a few examples of this happening. Not the few thousand you see elsewhere...
Still, bad Mac apps stick out. Sometimes the icon just isn't right. Too glossy? Not glossy enough? Or, gasp, no transparency? Sometimes the UI is cumbersome and complicated, although I've seen too simple on a Mac before. Worst offenders go to apps who repeatedly crash or lock up themselves or, rare though it may be, the system itself. For example: I really wanted to try Multidash to manage my widgets. I often undock from a larger monitor, and would love an easier way to swap out my 15" screen with my 2-screen setup. Since I'm ahead of Apple on the "need" curve here (really, did we need another release to wait for this?), I gave Multidash a try. As documented, it would eventually hammer the processors. It also lost settings and eventually wonked up the video output (which was a neat trick). So iI trashed it. Hey, I understand it was a beta, and a darn clever one. It's sad when commercial outfits like Adobe screw it up though, isn't it? I understand porting Photoshop is a chore, so I forgive this (honestly, I do). But making Acrobat reader such a piece of... well, my beef is that your casual computer user will think PDFs need to use Acrobat. They'll download and install it. Guess what? It stinks. Then they blame the Mac. "It's not as fast as my PC." Oh really? Try saving that web page as a PDF, we'll see who finishes first.Unfortunately, to some Mac users, even the slightest imperfections can incur our wrath. As a result, a number of developers try to improve the Mac apps themselves. Multidash was one example, and Chax is another. Tabs 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 tabs I spent 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 innovating Apple's own admittedly excellent work. And yet I can only recall one app fro Windows that'll let me re-arrange the items in the taskbar... I typically avoid a lot of haxies though, because Apple's updates tend to break those. One of the reasons Apple doesn't really want you to use certain Mac-enhancing apps is the user experience. If you become addicted to Inquisitor, and then move to a different machine where it's not installed, all of a sudden you have to change your routine. This isn't always a big deal, but try cutting off (or crashing) Quicksilver -- sorely missed within moments. Granted, I can hardly go back to using pre-2-finger scrolling trackpads, and that's an Apple upgrade.
The benefit of Mac fandom, and in this case, Cocoa fandom, is a better breed of software tools. While arguable, I'd say apps in general are slicker, cooler and easier-to-use on Macs. It's been a long, strange trip for Apple developers though. I remember using HLINE and VLINE to program crummy little blobs on my Apple ][, 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 support, X11, the UNIX underpinnings, 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, Apple will no doubt continue to push more powerful frameworks into Cocoa, which translates into yet more freakin' awesome apps for the rest of us. I raise a mug of fancy hot cocoa to the developers of Mac apps everywhere -- and thanks for all the code!
Share
When it comes to software on the Mac platform it's a mixed bag. I don't mean like on Windows, where the bag is full of snakes, scorpions,...
Add a Comment
Saft has the option of warning you about closing Safari with multiple tabs open.
I used Opera in Windows for six years, but when I switched to the Mac, I began using Safari because of the tight integration with the OS. Saft adds nearly all of Opera's cool features to Safari.
All I know is that as a developer I can't stand freaking Objective C. I'd love to develop Mac apps but Objective C, no thanks.
November 01 2006 at 9:45 AM Report abuse Permalink rate up rate down Reply"Unfortunately, to some Mac users, even the slightest imperfections can incur our wrath." Such as the non-unified Preview and Image Capture and Activity and Keynote and Pages and TextEdit. The first thing I do when I get a new Mac is install the DevTools and change those peky things for good. Unfortuneately, I don't know how to get TextEdit unified. (UNO chrases my system)
November 01 2006 at 12:50 AM Report abuse Permalink rate up rate down ReplyYou might want to look into the "gmail manager" Firefox extension. For me, this solution is much better than keeping two different browsers open so I can check two accounts easily.
October 31 2006 at 9:44 PM Report abuse Permalink rate up rate down Reply
About using Safari and Firefox to keep different Gmail logins: another option is to use 1Passwd. With 1Passwd you can easily use multiple logins and share them between Safari, Firefox, Flock, Camino, OmniWeb and DEVONagent browsers:
http://1passwd.com
Hey - there's 2 taskbar rearranging apps. :P
Button Boogie does it to: http://www.pcmag.com/article2/0,1895,1901633,00.asp
But they want $8 for something that clearly should be in the OS. It's not in Vista either.
This is also flat out wrong: Safari since it is largely KHTML ported is primarily C++ with the Cocoa vits being just the UI.
October 31 2006 at 8:32 PM Report abuse Permalink rate up rate down ReplyThis article was allllll over the place. Not sure what the point was... Cocoa is good?
October 31 2006 at 6:53 PM Report abuse Permalink rate up rate down Reply"Let's make that four by adding iCab to the mix:"
Ahhh...my favorite former Atari web browser!
(If you didn't already know, CAB was the most popular browser for the Atari ST/TT/Falcon computers, and stood for Crystal Atari Browser...iCab is made by the same guy.)
Won't Firefox 3 be cocoa?
October 31 2006 at 6:00 PM Report abuse Permalink rate up rate down ReplyHot Apps on TUAW
Deals of the Day
more deals- Brookstone Surround-Sound Earbuds for $14 + $7 s&h
- Refurbished Skullcandy Tokidoki Smokin' Buds Mic'd Headset for $5 + $2 s&h
- Stitchway Backup Battery for iPod / iPhone for $5 + free shipping
- Used Apple MacBook Pro 2.4GHz 15" LED Laptop for $1,030 + $29 s&h
- Refurb MacBook Air Core i5 Dual 1.6GHz 12" Laptop for $750 + free shipping
- Sony Dock 20W Speaker System for iPhone / iPod for $51 + $15 s&h
Software Updates
more updates- EFI Firmware Update brings Lion Internet Recovery to 2010-model Macs
- OS X Lion 10.7.3 released with Safari 5.1.3, Wi-Fi bug fix
- Aperture updated to 3.2.2, addresses Photo Stream issue
- Apple updates Keynote to address Lion issues
- Google Search app gets new look on iPad
- Apple releases Apple TV Software Update 4.4.3



21 Comments