Old interviews with Jon Hess, the creator of Direct Connect

The creator of Direct Connect, Jon Hess, made at least two interviews during the years when he was active. These are shown here below, together with their original link. I’m rehashing the posts here in the (unlikely) event that both sites will disappear…


Sharing the Data
by Annalee Newitz

NINETEEN-YEAR-OLD Jon Hess, inventor of the sensational, underground file-sharing program Direct Connect (www.neo-modus.com), is an old-school geek in a cyberpunk world. Unlike many of his peers in UC-Berkeley’s computer science program, Hess doesn’t wear his geekhood like a badge of pride. For him, working with computers isn’t about hacking. It isn’t about being a guru or wearing Matrix-style sunglasses. It’s just something he does for fun–and to make a little pocket change.

Hess talks about writing computer programs in the same way old-time mainframe tweakers talk about their punch-card days back in the late 1960s and ’70s. Those guys weren’t in it for the fame or the IPOs. They were just glad to be allowed to code for a living. When Hess first got into coding as a high school student in the tiny Northern California town of Redding, he had never heard of the Slashdot community or the see-and-be-seen geek event DefCon. “I wasn’t a geek really,” he confessed to me over the phone. “Programming was something I liked to do and I didn’t know anyone else like me.”

So how did an isolated programmer like Hess wind up developing Direct Connect (DC), which is fast becoming a word-of-mouth hit among data-sharing dorks everywhere? “The people I talked to most were folks in my high school calculus class who used the program,” said Hess, who dreamed up DC when he was 17, after getting frustrated with the file-sharing capabilities of Internet Relay Chat (IRC). “I wasn’t hanging out on IRC to chat, but to get files,” Hess recalled. He needed a file-sharing program similar to Napster, but which would work more easily with IRC. Hess also wanted to share more than music files.

Without access to any formal computer science education, Hess picked up the most widely available development tool: Microsoft’s Visual Basic (VB). Sure, Java might have been a better choice, but at 17, Hess didn’t know anything but VB. After I groused at Hess for several minutes about how his program couldn’t be ported to Linux, Hess sighed in a way that made me realize that he’s probably received a zillion flame-saturated emails full of my very same gripe. “This was a pragmatic decision,” he explained. “I hadn’t heard about open source when I started the program in high school. It just wasn’t a thought to me. VB was easy, I could spit something out really fast that worked, and debugging is great. That’s why I picked VB.” (And just for the record, turbo-geeks: he does want to port DC to another operating system. So why don’t you shut up and help out?)

After Hess posted the DC prototype on betanews.com last year, the program got 1,000 downloads in one day. He knew he was on to something and decided to devote himself to the program full time. These days, he has thousands of users who contribute and share everything from MP3s to movies and E-books. Although Hess isn’t advocating piracy, it’s worth noting that DC is a pirate’s dream. Hess wants users to put as much data as possible online so that he can claim DC has a “petabyte” of data (1,000,000 gigabytes). The system currently has an average of 100 terabytes, and a lot of that stuff is not usually available for free.

Some users on DC like to carry on the IRC “no leechers” rule, meaning that they won’t allow you to delve into their data troves unless you can demonstrate that you have 10 gigabytes (or some other huge amount) of data to share with them. Luckily, one of the documents available on DC is called “how to cheat on DC” and teaches you how to make it appear that your hard drive is packed with tons of freely shared data when it isn’t. Hess isn’t worried about that. “I want open distribution of data,” he said emphatically. “People should be able to skip out on rules that are too strict.”

But the best part of all this, for Hess, is that he’s finally making some money at a thing he loves to do. By selling banner ads on DC, he’s able to earn enough to pay for all his expenses outside his college tuition. Hess isn’t interested in selling DC to anyone–he just wants to run his small business so he can go out for pizza or buy CDs. He said, “People flame me for trying to commercialize DC, but I’m still giving out the product for free. I just want to be compensated for the work I’m doing.”


Interview With DirectConnect’s Jon Hess
by Thomas Mennecke

DirectConnect, briefly dubbed FileShare, arrived to the P2P scene in November 1999. Since then, DirectConnect has quickly become an important aspect of the file-sharing community. Although this community uses an older networking architecture, the DirectConnect network continues to expand, as its resources exceed FastTrack. We would like to thank Jon Hess, the sole programmer of DirectConnect, for taking the time to participate in this interview.

Slyck.Com: How do you feel about third party clients such as DC++? Do you feel they have enhanced or diminished the Direct Connect network? What, if anything, have you learned from them?

Jon Hess: At first I was very angry. But now I realize clients like DC++ are good for the network. They encourage competition and are the reason I was able to release so many updates of my version 2.0 client this year. At this point I’m flattered by their presence – the anger is gone.

Slyck.Com: Third party clients such as DC++ have included features that many would like to see in the official client such as: single window interface, bandwidth management, less memory usage and a streamlined GUI. Will we see such features implemented into the official client?

Jon Hess: “Single window interface” and “streamlined GUI” have always been features of Direct Connect 2.0. If the last release of Direct Connect that a user has tried was 1.0, they really need to give the 2.2 client a shot.

We briefly had a bandwidth management feature that allowed users to cap their upload bandwidth. Their download bandwidth would be capped at a multiple of the upload cap (8x). I’ve never received so many heated emails about a feature. Many users were upset over it, so we quickly removed it. There is no technical reason the feature isn’t included – the code is written.

Less memory usage is something the other clients are going to beat us on. It’s a trade off, and it’s worth it. Direct Connect is really split cleanly in two sections. We’ve got a c++ back-end and, on windows, a c# front end. The back-end, which is everything direct connect, isn’t actually using much data – usually about 512 kilobytes. The .NET Framework is however a ton of code that has to get loaded into our application’s address space and we can’t avoid that. But we feel all of this is completely worth it. The .NET Framework is best way to program windows applications. It lets us add features much faster than if we were coding to Win32 or MFC.

If there is a feature a user is missing in Direct Connect, we want to know – we aren’t clairvoyant. The best thing users can do is tell us how they feel about the program/ I love reading user reviews of Direct Connect, even the bad ones, as long as they say what is bad.

Slyck.Com: Many feel the Direct Connect network architecture is, by comparison to newer communities, a bit out dated. Is there any chance of introducing multi-source swarming, hashing or connectivity of servers (more like eDonkey2000)?

Jon Hess: There are other more technically advanced networks. And while those network structures may be different and more adept to certain tasks, I think they miss the point. They forget about the user experience and are after files-files-files. Direct Connect is about the user joining communities, not overlay networks. Now, Direct Connect was developed before the concept of swarming was popular. We shouldn’t forget that Direct Connect is probably the oldest file-sharing program on the scene. Swarming is something that we’ve been eying. We may end up implementing the Tiger Tree Hash found in other clients.

Slyck.Com: MetaMachine has introduced Overnet, a decentralized version of the eDonkey2000 network. Are there any prospects of introducing a decentralized Direct Connect network?

Jon Hess: No. That is counter to the nature of Direct Connect. Direct Connect is about hubs. However, Direct Connect shouldn’t be called centralized. There is no one machine that is required for the operation of Direct Connect. Direct Connect is a decentralized network. A hub may seem ‘centralized’ but the fact that there are thousands of them with users bridging all of them makes the network decentralized.

Slyck.Com: What kind of communications, if any, exist between you and the DC++ developers?

Jon Hess: None. However we do speak with users who have switched from DC++ to Direct Connect 2.0 frequently and always want to know how we can make their experience better. We were often viewed as a closed shop in terms of user input, but now users overwhelmingly influence the client’s development. We have an entire section of neo-modus.com devoted to user control over the development process (http://www.neo-modus.com/?page=Weekly&subPage=WhatIs).

Slyck.Com: Tell us a little bit about the future of Direct Connect. What features will be implemented to this network/client? Any radical departures from the current Direct Connect philosophy planned?

Jon Hess: Right now the focus is on iterating the development of Direct Connect 2.0. I’d like to see a point release happening bi/tri-monthly. The focus will be on this until users find our client clearly ahead of other Direct Connect implementations. We’d also like to implement the extensions to the network that other developers have included in their applications. I’ve also always wanted to explore more decentralized hubs where multiple hubs can run on many machines and appear to users as a large virtual hub. Honestly though, the road-map isn’t set in stone, and all I can assure users of is that the development will be fast-paced for the rest of the year.

Slyck.Com: Lets talk about the size of the Direct Connect network. The Neo-modus homepage usually states around 200,000 users and 9,000 Terabytes of information (DC++ typically reports more.) How are these numbers calculated, and are they indicative of the entire network?

Jon Hess: We have a tool that profiles the network by periodically visiting the hubs and looking at the user lists of the hubs visited. However, it’s possible that users get counted more than once due to multiple hub connections, and also possible that hubs are never visited due to firewalls or simply being private.

Slyck.Com: Direct Connect development has, at least in the eyes of the P2P community, been slow. How often do you work on Direct Connect? Will the development pace pick up or will maintain the course?

Jon Hess: Direct Connect’s development appeared slow from the summer of 2001 to the summer of 2003 because we dropped Direct Connect 1.0 completely and focused on a rewrite of the core application – Direct Connect 2.0. We released a Mac OS X version, a great operating system if you’re thinking of switching, and ported the Mac code to windows. Now, as a testament to the .NET Framework which many users are unjustly afraid of, I was able to build the Direct Connect 2.0 GUI in 4 months, including the time taken to learn C#. This simply would not have been possible with MFC. Now we have a vastly improved code base and anything is possible.

We may have paid a high start up cost to move to Direct Connect 2.0, but now that we’re here, development is steaming right along. We released more than 20 ‘beta’ builds of the 2.20 client between July and January and there is no plan to slow down.

Like many open source projects, we’ve also split our development into two paths. We have the standard stable build of Direct Connect 2.0 available on the download section along with what we call the latest ‘Weekly Build’. The weekly build is frequently updated, and has all the new features. As the weekly build matures, we slowly roll it over to a stable release and continue the cycle again.


If anyone comes across Hess, I’d like to add an additional interview, with the following questions;

  • What were your goals or ambitions with Direct Connect?
  • What can you say to those who think that the NeoModus protocol is bad or ill formed?
  • What would you have done different, protocol, application or just in general, if you were given the chance?
  • You haven’t been involved in Direct Connect for a number of years, will you ever again?
  • What was the most difficult thing you did with Direct Connect?
  • What was the most important thing you did with Direct Connect?
  • What was the most fun thing you did with Direct Connect?
  • The lock/key combination in the protocol isn’t particularly used in today’s implementations, why did you feel it was necessary?
  • What were your initial thought and response when other implementations of NMDC arose?
  • What do you know of ADC and feel you want to comment on?
  • Why did you not open source the NMDC software?
  • What made you think of the name “NeoModus Direct Connect”?
  • Is there anybody “on the street” that know you wrote Direct Connect?

(And any other questions I might have missed or asked to the others I’ve ‘interviewed’.)


Don’t forget that you can make topic suggestions for blog posts in our “Blog Topic Suggestion Box!”

Leave a comment