By John Gruber
Square Reader SDK lets you use Square hardware to take payments in your app.
As promised, two points regarding Dan Benjamin’s “Apple Pie” Macworld write-up.
The big talk of the show: Apple’s new browser, Safari. There had long been talk of an Apple-created web-browser, but it was assumed that the thing would be Mozilla-born. Why else would Apple hire the Chimera Project’s boy genius Dave Hyatt, if not to head-up the adoption of his popular freeware browser as their own?
Perhaps because hiring him would help eliminate the competition.
There’s no need to craft conspiracy theories. Of course, it’s certainly possible that this is why Apple hired Hyatt, but there are other explanations that make more sense.
Foremost, Hyatt has experience that few others in the world do — as a founder of the Chimera project, he was part of an engineering team that designed and implemented a popular standards compliant web browser for Mac OS X. In other words, who better to help create a top-notch Mac browser than someone who’d already done so?
Chimera and Safari might be competitors, but they certainly are not enemies. They’re both pulling in the same direction — towards web standards, and away from over-dependence on Microsoft. Even if, after the dust settles, Chimera ends up more popular than Safari, Apple still wins. My guess is that both browsers will be very popular.
Now if Apple had instead hired engineers away from the Microsoft Mac BU, that would be another story.
Perhaps the most important software release from Apple was the one it spent the least time (actually, no time) promoting: X11.
The X Windows System, or X11 as it is called by its users, is a fully-implemented, standard X Window Manager for Mac OS X. In English, this means that now, just about every UNIX Weenie and Linux Geek can compile their favorite existing software — without modifying their code — for Mac OS X. It also means that the full library of graphical open-source tools are, quite suddenly, available for Mac OS X. Gimp, anyone?
This also means that UNIX developers need not learn the Mac OS X tools nor frameworks in order to develop for the Mac. Instead, they can rely on the technologies and toolsets they’re familiar with, and just start coding.
X11 is only of interest to Unix nerds. It has no relevence whatsoever to regular Mac users. There is no time for a full discussion now, but the main point is this: There is Mac software, and then there is software that runs on the Mac.
Pre-OS-X, that distinction didn’t exist. The only software that runs on the old Mac OS is genuine Mac software. You could port a text-based console application to the Mac using Metrowerks’s SIOUX libraries, but that’s not the same as being able to run console programs in a terminal window.
Even Perl, the most Unix-y of Unix software tools, was turned into a nifty Macintosh application, with a real menu bar and text editing windows, in order to run on the Mac. MPW was the closest the old Mac OS came to providing a Unix-style shell, but MPW was only used by Mac developer nerds. (Tenon Intersystems offered Unix environments that ran within a Mac application process, but their products were fairly expensive and were never intended to appeal to the general Mac community.)
Mac OS X changes this. It not only runs Macintosh software, but it runs Unix software as well. But that X11 applications consist of standard GUI elements such as windows, menus, and buttons does not change the fact that they are Unix programs: tricky to install and remove, poorly designed, and utterly lacking in Mac-ness. That X11 is a graphical environment doesn’t mean it’s any more interesting to most Mac users than the text-based programs accessible via Terminal.
This isn’t a bad thing. It’s quite good, in fact. But only for the terminally nerdy. In fact, I’m certain that the illustrious Mr. Benjamin understands exactly where X11 fits into the Mac universe. His only error was a mild case of over-enthusiasm, declaring Apple’s X11 implementation last week’s “most important software release from Apple”.
Perhaps that argument could have been made if there had been no working X11 implementations for Mac OS X prior to Apple’s, but there were, so it couldn’t. Apple’s just gone and done it better.