By John Gruber
Square Reader SDK lets you use Square hardware to take payments in your app.
Jason Kottke, staking out a position as the lone Safari killjoy, posted a detailed article (complete with screen mock-ups) describing how he wants Safari and Sherlock to be merged.
How many ways are there to say No, no, no, no — for the love of god, no?
Kottke sets the wrong expectations for Safari, admitting to being “underwhelmed” by it. Safari is not intended to pave the way to a brand-new class of application. It’s just a web browser, pure and simple, and everyone knows what web browsers are — programs that display web pages.
That Safari is not revolutionary is a good thing. At one point in the mid-90’s, web browsers were revolutionary, and it was fun watching them evolve with startling new features. But browsers constitute a mature application category now. Trying to recapture the revolutionary furvor of 1994 by transmogrifying Safari into a browser-plus-web-services-front-end would be a huge mistake. The biggest reason is this: There still does not exist a single excellent web browser for Mac OS X — every single browser for OS X has significant flaws. What’s needed is an app that is to web browsing what Photoshop is to bitmap editing, or what BBEdit is to text editing. Do one thing and do it right. There’s no reason to move beyond the browser until someone makes a decent one.
Extending the browser to radical new ideas beyond web browsing is exactly what started Netscape down the road to Assville, when they dropped Navigator, a tightly focused web browser, in favor of Communicator, a bloated browser / email-client / HTML-editor / instant-messaging-client / foot-massager. A tight focus on web browsing is exactly why Chimera and Phoenix are generating so much more excitement than the Gecko mothership, Mozilla.
When IE 5.0 debuted on the old Mac OS, it was pretty close to excellent. Standards support in its rendering engine was years ahead of anyone else, including both Gecko and IE for Windows. But IE 5 just hasn’t improved very much in the intervening years. It’s certainly possible that Grewal, Tantek, et al are hard at work on IE 6, but the perspective from outside the Microsoft Mac BU indicates that IE for Mac is stagnant. (Tantek’s latest log entry indicates he’s been working on the MSN for Mac client.)
Beyond the fact that as a simple web browser, Safari fills a need, is the fact that Kottke’s solution is just plain wrong.
One of the things Microsoft did wrong with Windows is to stack the deck in favor of IE over any third-party browsers. Safari, on the other hand, is just an application, and its existence does nothing to stop you from using another browser. Choice is good. Smaller, focused applications are the Macintosh Way (and the Unix Way as well, which is one of many reasons why Unix nerds are feeling so at home in Mac OS X). Chimera offers its much-beloved tabs. IE has a handy forms auto-fill feature. OmniWeb does something that makes some people like it. Mac users are delighted to try Safari voluntarily, but they’d be pissed if it were crammed down their throats.
Kottke’s proposal has serious usability flaws. In a web browser, the content area of a browser window displays a web page. This is easy to understand, consistent, and intuitive. In Kottke’s “Sherfari” mock-ups, the content area sometimes displays a web page, sometimes a web service plug-in, and sometimes an entire application, such as NetNewsWire. This is not easy to understand, completely inconsistent, and is not intuitive in the least.
It’s also utterly un-Mac-like, especially the NetNewsWire-in-a-browser-window idea. On the Macintosh, the visual scope of an application is the entire display. They are not contained within windows; windows belong to applications, not the other way around. Compare and contrast to the Windows MDI interface, in which an application is contained in a window, within which window are the app’s document windows — a desktop within a desktop. MDI sucks, and even Microsoft has been moving away from it. Kottke’s proposal is very different from MDI, but suffers from the same fundamental problem — a blurring of the distinction between “application” and “window”.
All this griping aside, Kottke’s basic idea is not without merit. The problem he describes exists: current web services front-ends aren’t all that great. It’s his proposed solution that stinks, because the need for better web services clients doesn’t obviate the need for a better plain-old web browser.
The correct solution isn’t to combine Sherlock with Safari (the application), but to combine Sherlock with WebCore (the HTML rendering framework). Let Safari be a web browser, but give Sherlock — along with Watson, NetNewsWire, and everyone else — an easy way to render web pages themselves. Kottke’s solution is inside-out. NetNewsWire and Sherlock should not live inside Safari; rather, Safari’s WebCore engine should be available inside NetNewsWire and Sherlock.