soeren says

Inaccuracies and Exaggerations from «Inside Mac OS X Snow Leopard: Exchange Support»

September 6th, 2009

We’ll start with the very end:

Daniel Eran Dilger is the author of “Snow Leopard Server (Developer Reference),” a new book from Wiley available now for pre-order at a special price from Amazon.

I don’t find it unreasonable to expect someone who writes such a book to strive for a certain level of accuracy. Having said that, let’s go:

Open source?

More importantly, Apple is providing its users with additional options that benefit both Mac users and the open source community.

What additional options for the open source community does Snow Leopard provide in the PIM area? A quote later on provides a clue what Dilger apparently thinks Apple has added:

Because Apple makes its money almost exclusively from selling hardware, it has opened up its own Snow Leopard Server applications, Address Book Server and iCal Server, as open source Darwin servers that can be compiled to run on Linux.

10.5 Leopard introduced the Apache-licensed Darwin Calendar Server, a subset of Leopard Server’s iCal Server, and this has been continuously updated (Snow Leopard Server ships with version 2). But while Snow Leopard Server ships with the new Address Book Server, there doesn’t appear to be any open source project for that. Marketing-wise, the iCal Server page mentions:

To further the widespread adoption and deployment of these standards, Apple has made the complete source code for iCal Server 2 available through the macosforge.org website.

No such thing for Address Book Server. Maybe they’re planning on it; maybe they’ve even said they are — but so far, this looks quite untrue. Dilger goes on:

That means Apple is essentially giving away both the client (to Mac users) and the servers (to the community) in order to encourage the use of open standards in messaging and collaboration.

No, the clients (Mail, Address Book and iCal) are most certainly commercial, closed-source software. Of the servers, all three are commercial and closed-source, although a subset of one is available in an open-source fashion. Which, by the way, is great on Apple’s part — but let’s not deny that a good configuration interface adds plenty of value, and Apple does not provide that for free (or otherwise openly).

Outlook not needed?

Next up, Dilger compares Apple’s trifecta of client apps to Outlook, with rather bold claims:

Integrated support for Exchange beginning with last year’s iPhone 2.0 means Apple’s mobile platform simply doesn’t need an Outlook client. Now Snow Leopard can also get by without Entourage/Outlook, thanks to new and improved baked-in support for Exchange in Mail, Address Book and iCal.

Microsoft has responded with the announcement that it will now be delivering a real (but still scaled back) version of Outlook for the Mac again

Now, unlike many, I’ve always been a fan of the separation into three apps. But even in 10.6, they are a far cry from Outlook being “simply not needed” or possibly to “get by without”. Public folders, anyone?

The Microsoft Bashing Tangent

With Snow Leopard and the iPhone each now providing their own client layer for accessing Exchange Server, Apple can now offer its users alternative access to other server products as well, from its own MobileMe and Snow Leopard Server offerings to web services from Google and Yahoo. This effectively turns Microsoft from a direct seller into a wholesaler that has to deal with Apple as a middleman retailer.

I’m sure this made some vague sense when it was written. It doesn’t when it’s read. The entire section goes on about Sears, CompUSA, Netscape, IE, IIS and off-shore wind energy. Actually, that last one was a lie. But a discussion of PIM client/server solutions this is not. He could have discussed Netscape’s brief ill-fated journey into the groupware market, but he didn’t. Instead, he’s talking about Microsoft’s evilness, implying a dominant position IIS has never had (”Microsoft first took control of the client with Internet Explorer and then began tying its IE client to its own IIS on the server side with features that gave companies reasons to buy all of their server software from Microsoft.”), and then switches over to everyone’s savior Apple with their open sourcing of Address Book Server, which hasn’t in fact happened. Finally, Snow Leopard Server apparently includes a “Push Notification Server”, which Apple knows so much about, nine out of the top ten results from Google are all articles of his, or links to them. So let’s skip this entire part.

Protocol confusion

Apple’s support for Exchange and its promotion of its own Exchange alternatives are two sides of the same coin, in the sense that they use the same technologies.

Well, this certainly is exciting news for Microsoft, who didn’t even know until this point that their very own Exchange Server has support for CalDAV and CardDAV built right in. (To be fair, it does for IMAP and LDAP, although it’s typically disabled.) Wouldn’t you love it if your developers don’t even have to build features, your marketing doesn’t even have to promote them, and yet you get to offer them?

Apple built its support for Exchange using WebDAV

No…

, the open specification that Microsoft supports on Exchange Server as a way to deliver messages to mobile clients.

…and no.

While Exchange Server has support for WebDAV, and WebDAV is very much an open specification, it’s such a broadly-specified protocol for file transfer and versioning over HTTP that it isn’t intended for mail, contacts, calendars, etc. in particular, so Microsoft has had to layer plenty of proprietary additions on top of it.1 Yes, it uses WebDAV. No, that’s not all there is to it. It’s about as vague a claim as calling XML or CSV a format. For transferring files, WebDAV is a sufficient specification; for storing mails, contacts, calendar events, notes and more, including a ton of metadata, it’s incomplete — by design.

Apple did not license Microsoft’s Windows-only “Exchange Active Sync” software; it merely licensed the rights to implement a compatible EAS conduit with Exchange. Apple owns the Snow Leopard software that talks to Exchange.

This may be, but given that it’s in the same paragraph, I’m skeptical, and also question the relevance. It seems a poor and unnecessary attempt at making Apple look independent. Maybe they didn’t pay a licensing fee; instead, they had to pay their developers to develop client code of their own. So what?

The client applications Apple has upgraded in Snow Leopard to connect to Exchange, including Mail, Address Book, and iCal, also use WebDAV to talk to Apple’s own Snow Leopard Server applications.

The latter part is correct insofar as that CalDAV and CardDAV are extensions to WebDAV for calendars and contacts, respectively. They’re entirely incorrect for Mail (there is no WebDAV-based mail specification aside from Exchange Server’s proprietary method), as well as for Exchange.

This all leads to an entirely wrong conclusion:

This effort to support everything from integrated client software owned by Apple makes Snow Leopard’s support for Exchange of use to everyone, even if they don’t use Exchange. The client work Apple has invested in making Macs Exchange-friendly also improves the features available via MobileMe, Snow Leopard Server, and even some other third party services such as those from Google and Yahoo.

On top of incorrectly believing that Snow Leopard interfaces with Exchange Server through WebDAV, Dilger apparently goes even further that, since CalDAV, CardDAV and his imaginary MailDAV2 are built on top of WebDAV and Exchange uses WebDAV as well, Apple is saving duplicate effort. That would be great. It’s also entirely off. First, Snow Leopard communicates with Exchange Server through the much newer, SOAP-based Exchange Web Services protocol. That’s why it requires 2007 Service Pack 1 Update Rollup 4; this entire interface is lacking in 2003 (and in the original 2007 release). Second, even if they were to use WebDAV, this wouldn’t help them much at all.

Imagine two CSV files, one with the columns Surname, Name and Birthday, and another with the columns Last name, First name and Phone number. Superficially to the human eye, they both clearly contain contacts. To the computer, they’re entirely different formats. One column is missing from each other’s format, and while two out of three columns have the same contents, they’re differently named. You’d have to write a converter to make them match. You have the same situation with different XML formats3, and with two different takes at implementing, say, calendars on top of WebDAV. And given that Microsoft is moving away from WebDAV, citing lack of efficiency, they probably won’t implement CalDAV any day now.

The App Store Tangent

App Store? Really? What does that have to do with anything?

The success of the iPhone App Store has benefited both developers and users by establishing a competitive market based on meritocracy. Snow Leopard’s support for Exchange, because it opens up equal access to alternative competition, similarly creates an iPhone-like market for desktop messaging services ranked by merit, not the vendor’s current market position.

Yes, vendors like, say, Microsoft. Also, software companies located in Redmond, Washington state. Can someone explain to me how an interface to a proprietary PIM protocol “creates a market ranked by merit”?

This will provide Snow Leopard users with not just the ability to talk to corporate Exchange Servers, but also the ability to access Apple’s own offerings and other third party services.

I’ll get right around to implementing Exchange Web Services in my own groupware. Surely the specification is somewhere on ietf.org. Oh, wait.

  1. That’s not a criticism; it’s just a fact of life.
  2. MessageDAV? LetterDAV? Running out of corny specification names quickly.
  3. Consider Atom vs. RSS.

Tagged , , ,
Posted in Chuckellania

Share | No Comments

So I went to CocoaHeads

June 13th, 2009

CocoaHeads is a group all over the world1 meeting up every month and discussing Cocoa (and Cocoa Touch), Apple’s primary development framework for the Mac and iPhone platforms. Alexander Repty (perhaps best known for his neat Lab Tick utility) took the initiative in launching a chapter for Bremen. We2 met for the first time on Thursday. About a dozen people came (we were hoping for four, maybe five), and it turned out to be a great two and a half hours in a café.

Like In The Old Days

It struck me when explaining this event to someone else how oddly this must come across: as more and more social activities of our everyday life — both leisurely and professional — takes place over the Internet, with chat rooms, discussion forums, blogs, and other fast-paced media, here comes what amounts to a perfectly old-fashioned hanging-out over coffee and cake. I first met Alex in #macsb (for Macintosh Software Business), an IRC channel on FreeNode focused on running independent Mac development studios. It’s one of the stranger coincidences in life: despite being an international chatroom hosting only several dozen people, we actually grew up less than a mile from each other. And yet, we never met in person until Thursday.

So why, when you can use CocoaDev to look up API commentary, Stack Overflow to discuss problems that have you stumped and Twitter to follow what others are cooking up, would you really need to attend anything in real life3 any more? It is perhaps downright antithetical to the stereotype for a software developer to do.

Truth be told, the benefits are hard to describe exhaustively. As far as resources go, the Internet is absolutely unparalleled. And yet, because we aren’t forced to interact socially, we tend not to. Forums and even twitter are far from real-time anyway, and as for chatrooms, we tend to lurk for minutes or even hours, only sticking our heads in when we feel like it. A café doesn’t give us that option, and while it honestly isn’t something I’d want to experience every day, it is a refreshing contrast to the usual. So, immediacy places a role. Those who are there are actually… there.

There’s a quality to actually meeting that perhaps roughly matches what Rands calls The Pond; a shared, mutual breeding place for ideas that just cannot with our current technology be replicated or even closely imitated with telecommunication. I’ve witnessed this myself with the occasional work from home (or elsewhere) I do; sure, everyone’s reachable, but that’s a stark contrast to everyone being around. Got a problem and can’t figure it out immediately? In the office, you’ll ask your neighbor to take a look (and, typically, just the advantage of two additional eyes solves things fast). Elsewhere, you’ll hesitate to instant-message around, call anyone up or even write an e-mail, and will for no good reason be more inclined to solve things yourself.

Finally, perhaps the decidedly low-tech nature of this — though, to be far, some did show apps that they’ve written or are working on around — is simply a refreshing change.

I had never been to anything like this before — I’ve been to expositions, and I’ve done demos for current and potential customers, but conferences, not so much. One reason? I had regarded the very idea of meeting up in person as somewhat outdated and superfluous.

Now, not so much, because clearly, the benefits of socializing with others who share your profession go way beyond the obvious intoxication and “networking”.

Post Scriptum

I thank (again) Lexx for organizing, and everyone else for attending. For those in Bremen or nearby, we plan to meet the second Thursday of every month. If anyone wants to join in or perhaps even present something, please do!

  1. Though Africa is feeling rather lonely right now, and South America even more so.
  2. To my own astonishment, that includes yours truly.
  3. It feels funny to stress this.

Tagged , , , ,
Posted in Uncategorized

Share | 2 Comments

Unique Fail

March 2nd, 2008

I haven’t fully moved to CoRD yet, largely because of various quirks in its UI. (I see that a new beta is out that may address most of my issues, but I haven’t had a chance to test that.) As a result, I mostly use Microsoft’s ‘official’ Remote Desktop Connection client 2.0.0b2. Plus, I’ve always loved its icon (props to Iconfactory on that, I believe).

This morning, it crashed. [Not a] big deal; crashes happen. I was curious why, though, and while the crash report didn’t help me figure that out (the topmost call in the stacktrace is MBUMutex::Acquire(unsigned long), which tells me absolutely nilch about the actual intent), I did find something else.

Here’s a portion of the Binary Images section from the crash log:

Binary Images:
    0x1000 -    0x23fef +com.microsoft.rdc 2.0.0 Beta2 (2.0.0 Beta2) <0775a7210cb4454ea17af3dfdec33e2c> /Applications/Remote Desktop Connection.app/Contents/MacOS/Remote Desktop Connection
   0x92000 -   0x108fe6 +com.microsoft.netlib 12.0.0 (12.0.0) <9fac28ca22ff49bf9185194497585126> /Applications/Remote Desktop Connection.app/Contents/Frameworks/Netlib.framework/Versions/12/Netlib
  0x436000 -   0x5bafc7 +com.microsoft.rdc 2.0.0 (2.0.0) <ad448d7a974d4d90ad5b89b5dfa08bc1> /Applications/Remote Desktop Connection.app/Contents/Frameworks/RDCPAL.framework/Versions/12/RDCPAL
  0x86c000 -   0x94dff7  libxml2.2.dylib ??? (???) <ccd6e2cb514fcd0b541bf153aae13481> /usr/lib/libxml2.2.dylib
  0x9c8000 -   0x9e6fe7  com.apple.OpenTransport 3.0 (3.0) /System/Library/PrivateFrameworks/OpenTransport.framework/OpenTransport
[..]

Notice something? That they still use OpenTransport strikes me as weird, that they use the same bundle identifier com.microsoft.rdc for the two distinct bundles RDCPAL.framework and Remote Desktop Connection.app, which furthermore run simultaneously, is even stranger, but oddest yet? This explosive combination actually works.

After all, a bundle identifier is supposed to be globally unique. There are several API calls that let you launch and otherwise access a bundle through its identifier. How would that ever work when two bundles which clearly, while related, are distinct in their nature and purpose, have the same identifier? Should Xcode prevent you from building a project whose identifier matches one that already exists? Probably impossible to do on a reliable basis. Should dyld refuse to link or XNU refuse to launch a bundle when one with the same identifier is already running? Or should Microsoft simply have someone smack the CFBundle documentation over developers’ heads?

Tagged , , , , ,
Posted in Rants

Share | No Comments

AirPort Proper

February 29th, 2008

Erik rightly complains about the lack of a does-it-all AirPort base station from Apple.

Inexplicably, the AirPort Extreme and Time Capsule don’t offer AirTunes. This might make you think AirTunes as an idea has been quietly canned, but Apple recently added it to the Apple TV.

The AirPort Express isn’t 802.11n yet.

The Apple TV offers no bridging. Speaking of which, neither does a regular Mac OS X client. Windows XP Professional, on the other hand, did this just fine six years ago.

Given that AirTunes (not astonishingly) requires some form of audio-out port (ideally an analog and digital one, like on the AirPort Express), this isn’t a feature that could be added in software to the AirPort Extreme, nor to the Time Capsule. Why, though, has this not been added long ago, such as part of the switch to 802.11n and new design, over a year ago?

Similarly, adding 802.11n to the AirPort Express requires different hardware — fair enough.

But!

Allow the AppleTV to bridge via its ethernet port. [..] This should just be a software thing, right?

Exactly. Much like they’ve added AirTunes, they should add bridging.

Of course, just as I’m about to post this, Jesper has already put it more succinctly.

Tagged , , , ,
Posted in Chuckellania

Share | 1 Comment

MacBook Air

January 15th, 2008

First things first: no, I won’t be buying one. No, I certainly won’t be buying one this very hour either. It’s true that – like many, I might add – follow news about Apple very closely and in an almost addictive fashion, but I’ve never let that get in the way of actual purchase decisions; every product I’ve bought has been considered for several months. And as it is, right now, the MacBook Air isn’t even worth considering.

But the MBA1 does have me intrigued. It represents a bit of a glimpse at the future; in that regard, it may very well be a little bit ahead of its time. And thus, the changes it represents as compared to a regular MacBook or MacBook Pro fall into four categories:

  1. First, like so many things Apple, the function-follows-form one, where they let looks get too much in the way of functional design.

    E.g., the thing is so thin that, like an iPod and iPhone, it doesn’t have a replaceable battery any more. I can live with that; indeed, I’ve never once bought a secondary battery for any of the plenty of laptops I’ve owned or used for personal or business purposes. And when I have had to replace it, it was always a case of warranty that Apple (or the respective manufacturer) covered either way, so why should I care?

  2. Second, the ones where their radicalness went just about far enough: no more optical drive. I don’t ever need it. Each time I buy a laptop, I find myself regretting the existence of an optical drive within, for it is easily the least-used component. Install software? Most stuff gets downloaded; the rest is on images on an external drive. Look at media from friends? Most stuff is on USB sticks or comes via e-mail; the rest I can do without.

  3. Third, where they went a little bit too far, maybe: no more Ethernet. I love WiFi. But when I do have it, the routers are often flaky (not everyone has a Cisco, an Apple AirPort, or anything more worthy than D-Link), and when I don’t have it, the MBA would provide me with zero alternatives. Apple’s USB dongle? Nah. They need to provide WiMAX instead, and/or 3G (UMTS/HSDPA). Which brings us to:

  4. Finally, where they didn’t quite go far enough, mostly for lack of opportunity. Solid-state storage is available as an option, but have you seen the BTO pricing? Seriously, have you had a look? Take a look again. That’s, literally, nine-hundred ninety nine dollars more for 64 GB of flash storage compared to an 80 GB hard drive instead. Oh, it’ll be fast. And dependable. And did I mention fast? But boy, is this technology ever not ready for mainstream yet.

And this, all together, is just great. I don’t mean that in a sarcastic sense; I am in fact quite serious: I’m not actually in the market for a laptop right now. I typically buy a new primary machine every three and a half to four years, which would put my hypothetical MacBook Air purchase around summer 2010, which gives Apple plenty of time to address some of my issues with it.

As much as I like FireWire’s design, I hardly use the technology in practice – the only type of device with it that I regularly do use, external hard drives, would benefit far more from eSATA instead, if only for added benefit of S.M.A.R.T. The same goes for other features that they cut: I don’t in fact use the optical audio. I don’t need a second USB port. And I never did buy something to insert into the ExpressCard slot. Conversely, what the MBA does have, I would use: having fallen in love with the two-finger gestures for scrolling, zooming and secondary clicking of my trackpad, I can’t wait to have a trackpad with even more advanced ones such as pinching.


Once the solid-state drive is significantly more affordable, once it ships with WiMAX or 3G – preferably both – , and once other parameters have been improved upon as well (the resolution should be at least 1440×900; ideally a lot more), this will be a real winner. But right now, and I don’t think Apple intended it any other way, the MacBook Air is destined as an early-adopter product – much in the same way the initial iPod and iPhone were.

  1. With apologies to Blake Seely.

Tagged , , , , , , ,
Posted in Chuckellania

Share | No Comments