network_icon_pagelogo.png

Just thought I’d put out a quick word on an open-source gem I’m planning on using in my upcoming product, Changes.app. ConnectionKit is a publishing framework which supports HTTP, FTP, SFTP, WebDAV, .Mac (more WebDAV I think), and Amazon S3. From spelunking through the code, it appears to be well written and easy to integrate into third-party applications. Some very well-known apps like Sandvox are using the ConnectionKit, which gives me a lot of confidence in the software’s long-term viability and support.

To get started with ConnectionKit, follow the instructions on the Download page and look at the example application in the project. In my opinion, the HOW TO instructions are useless.

Credit for the ConnectionKit goes to authors Greg Hulands, Dan Wood, and Terrence Talbot.

Update: I noticed that Dan Wood has mentioned my post on his blog. Cool.

In the comments, I reference some “memory management mistakes” on the part of ConnectionKit. On further inspection, I realized that the “memory management mistakes” only manifested under GC on Leopard, which I rectified with some code. If you are an ADC Select or Premier member (or someone under NDA with Apple) who wishes to see this code, please contact me (ibaird at this-blog’s-domain). I’m also sending the patch along to the maintainers, which fixes a couple more Leopard compatibility issues in other parts of the code.

Update 2: Due to popular demand, I’m linking to my patch for ConnectionKit Leopard compatibility here. Usual caveats apply, and I’m sure Greg Hulands (the maintainer of ConnectionKit) will have a much better fix in really soon. As it is, my patch has been tested on OS X 10.5, i386, with GC enabled. I haven’t tested it without GC yet.

Postscript: after playing more with the guts of ConnectionKit, I can’t seriously recommend it to anyone. “My bad.”

Post-postscript: Daniel Jalkut asked for details on my decision to un-recommend ConnectionKit. This comment on a Sandvox user’s blog by Dan Wood cinched it for me. I noticed the libssh2 issues and came to the same conclusions. I’ll be integrating Changes.app with MacFUSE for any network stuff.

Explore posts in the same categories: Cocoa, OS X

4 Comments on “Open-Source Gem”

  1. Jonathan Wight Says:

    Weren’t you just bitching about ConnectionKit? What’s with the change of heart?

  2. ibaird Says:

    I can’t condemn the whole thing for a few memory management mistakes. Overall, it’s very good. Besides, I’m allowed to change my mind :-P

  3. Greg Says:

    Can you send me some info on the memory problem please.

    Cheers,
    Greg

  4. ibaird Says:

    Greg,

    No problem. I’ll email my patches to you today. Unfortunately, the code is Leopard only, and assumes GC (I modified it for my own uses). It might make for a good “unstable” development branch.

    Ian

Comment: