soeren says

April 20 Chuckellania

April 20th, 2010

  1. Who comes up with all this crap, anyway? “Release To Manufacturing (RTM)”. “Right To Use (RTU)”. “Crash To Desktop (CTD)”.
  2. Despite this, the link still says “Get It Now. Free »”.

Tagged ,
Posted in Chuckellania

Share | 1 Comment

“Community is just as important as the Code”

February 3rd, 2010

Paul ‘chip’ Querna: Facebook & Open Source: Community is just as important as the Code

When you create an open source project, you gain almost nothing but a PR hit if there isn’t a community built around it. [..]

Just look at the massive community that has exploded around Apache Lucene and Apache Hadoop — Yahoo could of kept this infrastructure project internal, and sure, it might of fulfilled their original goals, but they wouldn’t of ever received the thousands of external contributions, which has turned the Lucene/Hadoop world into one of the most diverse and thriving open source communities of late, giving Yahoo a thousand times return on their investment in Hadoop.

Paul discusses the importance of letting company-created open source projects thrive by fostering a vivid community, and encouraging their use in competitors’ products against what might be considered common business sense.

Consider the contrast between two of Apple best-known open source projects: the earliest, Darwin, never took off the way Jobs had promised (and perhaps hoped for) back in 1999. Projects such as OpenDarwin (which eventually shut down), PureDarwin, GNU-Darwin have always lacked proper leadership and interest and suffered under opaque, unclear, apparently inconsistent policies on Apple’s part.

On the other hand, there’s WebKit: once given a proper website with a public blog, issue tracker and repository and allowing external reviewers, its success exploded — and in spite of the fact that many of Apple’s competitors now use it, Apple, too, reaps rewards. The sum of the contributions simply exceeds the initial loss of control and propriety by a wide margin.

Perhaps this kind of success is only possible with a limited amount of projects, but as a company, you have to be willing to take that risk.

Tagged ,
Posted in Chuckellania

Share | No Comments

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

Silverlight and “Hide update”

August 2nd, 2009

For updates you don’t care to hear about again, Windows Update provides you with a “Hide update” function. One of those updates would be Silverlight, and I’d like to not have it installed; not because of some irrational hatred towards it1, but because I currently have no need for it on what is a virtual machine purely for development purposes. But while the hide function works fine on other updates (language packs, for instance), it doesn’t appear to for Silverlight: seemingly, Silverlight re-appears a few minutes later. Try again, and it re-appears again.

I’ve finally taken the minute to figure out why this is. Don’t attribute this to malice on Microsoft’s part; Silverlight is not exempt from hiding. Instead, what’s really going on is that as you reject the newest version of Silverlight, you get the previous one. Reject that, and you get another older one. In total, you have to hide six updates to get the desired effect2 — and you can’t do them all in one batch because the respective older one will only become available as the newer one has been hidden.

I’m glad they’re not trying to force Silverlight down our throats, but you’d think they’d have figured out a way, by now, to really hide an entire group of “updates” altogether.

  1. Nor because it is very much a completely new component, rather than an update.
  2. You can easily verify this yourself by taking a closer look at the different knowledge base IDs after each hidden update.

Tagged ,
Posted in Uncategorized

Share | No Comments

This month in text editor news

June 14th, 2009

Thanks to Matt Gemmell for pointing towards a new TextMate Blog post:

TextMate development is going strong: TextMate 2 isn’t done yet, but progress is steady, it is starting to take shape, and the end is in sight.

[..]

It feels to me like most of the modules are getting close, say 90%. But as they say, on the horizon, mountains look small. While I use 2.0 for my own work, day-to-day, and the basic infrastructure is pretty solid, much of the front-end still needs work, and for now it’s all lacking the spit and polish of a finished app.

Terrific! And in other editor news, elastic tabstops, arguably one of the most important (and long overdue) innovations in text editing of the decade, are starting to gain traction. (Thanks Denis!)

It looks like I will be able to implement elastic tabstops in Visual Studio after all, since VS 2010 should allow me to set non-uniform tabstops on different lines.

For better or worse, I’ve been using Visual Studio a lot in the recent close to two years, so I’d love for this to happen.

Tagged ,
Posted in Chuckellania

Share | No Comments