Today the spotlight is on CoRD developers Dorian Johnson and Nick Peelman. Before we dive into the interview and learn more about the individuals who have done great things to advance the Mac free software community, let me explain the significance of CoRD in the context of ie4mac.

Introduction: What is CoRD and how is it important to ie4mac?

Quick recap: ie4mac allows web designers, front end engineers and other web professionals to use the exact same Internet Explorer that your customers are using on Windows. Unlike them, you can access IE right on your Mac. As previously announced, ie4mac makes this possible by running a cluster of Windows Servers and delivering the Internet Explorer to your Mac using the Remote Desktop Protocol (RDP). So far, we have not yet announced which RDP client software we are going to use with ie4mac. This is where CoRD comes in. CoRD is the RDP Client that ie4mac users will be working with. Here is how CoRD makes the ie4mac experience great:
  • CoRD is a tiny free download (1.4 MB .zip file). It unpacks with a double click. Drag the unpacked CoRD.app to your /Applications folder and you're ready to connect to ie4mac. (Do this once for each Mac that you want to access ie4mac from.)
  • CoRD connects to ie4mac's Windows Servers using the Remote Desktop Protocol (RDP) and implements a number of caches for vector & bitmap elements. This leads to a zippy live debugging experience in full color quality.
  • Out of all RDP Clients for the Mac that we investigated, only CoRD provides a Mac OS X system wide handler for rdp:// URLs. This allows the by far best integration with websites such as the customer area of ie4mac.
In summary, you can just log in to the ie4mac customer area using any Mac webbrowser, then launch your ie4mac live debugging session with a single click. CoRD will automagically open up, connect to an ie4mac Windows Server and you can access various versions of Internet Explorer, complete with developer tools, right on your Mac. Now let's learn about the people behind CoRD. Enjoy the following interview with developers Dorian Johnson and Nick Peelman.

Who contributes to the CoRD project?

How long have you been active as a developer in the CoRD project? How many others are actively involved in developing CoRD? Dorian: We've had code contributions and localizations from about 15 people over the life of the project. Within the last year it's just been me and Nick, and mainly Nick since my attention has been elsewhere. Nick has kept the the project going since in 2009, coordinating the 0.5 release and keeping me more focused on it than I otherwise would be. Nick: I started tinkering with the code in March of 2009, but I didn't actually start submitting code until sometime in April. As my workload changed in my day job, my ability to participate in CoRD shrunk. We deployed Windows 7 within my group (about 2500+ machines) in the summer of 2010, and between the ramp up to that, and the deployment itself, I had almost no time or enthusiasm to work on outside projects. At one point in time there were 4 of us working on CoRD: Dorian, Felix Bünemann, Jeremiah Dabney, and myself. All of us have drifted in and out as our time as allowed, but Dorian and I have been doing what we can to try and keep things alive.

How did you get interested in CoRD?

CoRD is arguably the best RDP client for Mac OS X, but (oddly) not everybody knows about it. How did you get interested in CoRD? Dorian: I found out about the project when it was first starting, in late 2006. Craig Dooley had written a Cocoa UI around rdesktop and I saw it via Digg. It was very limited and the UI wasn't very intuitive. I started adding features and submitted my patches to Craig. Shortly after the 0.3 release, he was hired by Apple and was no longer able to spend any time on the project. So I took over the project. Nick: I started using CoRD in 2006, soon after getting my first Mac. I was still in college and would often troll MacUpdate during classes or downtime looking for cool software. CoRD was one of the first diamonds i found among the rough (though back then it was quite rough too). I used the project throughout my undergrad degree, including in the handful of IT jobs I picked up along the way. After graduating and trying my hand at Graduate school, I took a job with Purdue to remain close to my fiance, who is (still) finishing up her Doctor of Veterinary Medicine degree. Since the job had me working as a Windows admin, I was using CoRD every day, and getting frustrated with some of its faults. I began tinkering with the source and making changes, which eventually rekindled Dorian's interest in the project, and he and I began releasing the 0.5.x series of releases that have been so popular.

What do you do when you are not developing CoRD?

Dorian: I am a university student and recently started my own software company. I just launched a web app for Mac and iPhone developers named CrashPool that allows developers to easily track their app's crashes (crashpool.com). My passion is writing software that makes people's lives easier and simpler. Life is often unnecessarily complex. Nick: Throughout most of my work on CoRD, i was a Systems Administrator for Purdue University. I currently work as a developer for Stonware Inc, based in Carmel, Indiana. I tinker with other projects, but rarely do I get involved to any great length. I have submitted a few patches and written a few plugins for the Redmine project, but beyond that and filing good bug reports occasionally, my resume is pretty slim in the open source community. Sadly, I find myself trying to escape technology once my workday is done, though I swore I would never let that happen.

What do you hope to get out of CoRD?

It used to be accepted wisdom that Open Source works in a sort of "gift economy." Today, a lot of people do not agree with this notion. But the existence of the idea does raise a question: What do you hope to get out of CoRD? Of course, asking this question is sort of like asking a musician what he or she hopes to get out of playing in a band ... Dorian: I used to use Windows a lot, so CoRD was part of my everyday workflow, and I got benefits out of developing it myself. But I think the 'gift economy' idea does apply: for me it's worth if for joy to know that people use and love your software. At the same time though, I have used open source extensively in my business, and I feel that all software start ups are a least ten times more agile thanks to OSS. Thus, I do feel a certain amount of healthy obligation to give back to open source because it has given to me so very much. I have decided in my business to open source any non-business critical components, and I give free service to open source projects. Nick: When i started working on CoRD, I was mostly doing it because it was a tool I liked, that I used on a daily basis, and it had problems that were low-hanging-fruit enough for me to fix. There was no glory or riches being sought, it was just "i use this, it can be better, i can and will make it so and if others benefit from it, so be it." From there, things just kinda spun out of control and for a while in 2009 I was spending most of my spare moments working and tweaking on CoRD. Probably the best thing that came of my time invested in CoRD was a job offer. The biggest thing Open Source has going for it is publicity; you're not an anonymous developer in some cube somewhere. Your name is in the commit logs that anybody can read and your name is on the project. And if you're like me, you're all over the support forums and wikis and blog posts and everything else, which all culminates into getting noticed. That's not always a good thing, if the project sucks, or gets a bad wrap, your name goes with it. That said, I will be the first to say that if I did anything or got anywhere because of CoRD it was because of the work Dorian, Craig Dooley, and many others, going all the way back through the rdesktop project, have put in over the years. Those guys made the CoRD everybody knows today, I just tried to make it a little bit better. As a result, I was able to leave a position i was unhappy with at Purdue and take a position that is leaps-and-bounds better, because of the time I invested in CoRD and the notice and recognition it got me. I highly recommend open source for any budding developers out there, its a great place to build problem solving skills, as well as pad a resume with real-world, demonstratable experience.

What are your plans/expectations for CoRD?

Dorian: I'd like to switch our backend away from rdesktop, and use FreeRDP instead (itself a more-actively maintained fork of rdesktop), because rdesktop progress has been slower than CoRD itself. There's some core stuff I'd like to simplify to make updates easier--Microsoft and the RDP protocol are moving forward, but CoRD is stuck right now, not supporting much of the neat advances Microsoft has added. The main deciding factor is how I'm able to balance my time between my non-software life, business, school, and CoRD. Nick: CoRD's plans are pretty extensive, and the expectations, both internal and external, are astronomical. Our roadmap in Trac has us doing a rather extensive rewrite in order to support groups as well as revamping the backend so we can support more of the RDP spec, including TLS connections and Network Level Authentication (NLA). My long-term vision included a revamped interface, with a detachable server list, a better architected Unified/Windowed/Fullscreen mode, reconnect support, etc. The problem was simply time. Those are all features that require months of development time, or at least several weeks of full time work, which is time none of us have to spare. That's not to mention that since implementing a new crash reporting system in January (that Dorian is now marketing to other developers) we have found several major crashes that we need to address. There's just so much we want to do, and so little time available. If only I could be back in college again, I look back in disgust at all the time I wasted as an undergrad. Had I gotten into this game sooner, there's no telling what could have happened. Thank you Dorian and Nick, for this interview and of course thank you for this wonderful piece of software! CoRD is available for download via the CoRD project homepage: http://cord.sf.net/