Interview with Jack Moffitt: MicroBlogs and More

No Entrepreneur's journey can be an island unto itself. Not only do you affect your employees' lives, but also your partners and investors. But you also live in a community in your industry that will provide opportunities to speak with others that are also deeply passionate about their work. I met Jack Moffitt almost ten years ago when he was just getting involved with Internet Streaming Music and helped us at Linuxpower in various ways.

His current project is called Chesspark (at Chesspark.com) where he is the Chief Executive Officer. Chesspark is an online community for chess players built on top of technologies like XMPP (a.k.a. Jabber), AJAX, and Python. Jack also created the Icecast Streaming Media Server, as well as helped create and run the Xiph.org Foundation.

In addition to Chesspark, they also just launched Speeqe, an open source group chat system. We used Speeqe to have this interview and it worked great.

Erik Levy: Can you tell me a little about Chesspark and Speeqe?

Jack Moffitt: Chesspark is an online community of chess players from around the world. We built the site on top of the instant messaging protocol Extensible Messaging and Presence Protocol (XMPP). XMPP enables us to provide many social networking features for free, and also (via XMPP BOSH) enables us to have the super low latency Web interface that everyone loves.

Erik Levy: Why chess at all?

Jack Moffitt: Chess came from my obsession with the game. After the dot com bust, I spent several years consulting and playing chess all the time. It also had a proven business model.

Erik Levy: Online or offline?

Jack Moffitt: Our #1 competitor on the commercial chess side claims a userbase of 40k paying members at $50 a head.

Erik Levy: So what makes Chesspark.com different?

Jack Moffitt: So while we were interested in gaming in general, chess seemed like a safe (relatively) bet due to other people doing it and making money. Our technology is quite a bit different. Most of the other chess servers are based on this telnet based server design originally created in 1992 or so. It's all arcane commands and typing. Modern User Interfaces have been created, but because they must parse output intended for human consumption, they fail to hide much of the complexity. You also have to download the clients to play, and the main ones run only on Windows. In contrast, Chesspark started from a standard, well-designed protocol (XMPP), and on top of that we built an interface based around instant messaging and the Web. Both of these primitives are things the masses are quite familiar with. So we've spent 4 years building Chesspark and tuning the XMPP stack for minimum latency.

Erik Levy: With XMPP you can leverage a protocol that a significant number of companies such as Google, Facebook, Twitter and others support, so where are you taking it? How are you using it?

Jack Moffit: We took a subset of what we've done to create Speeqe, which is essentially just a modern IRC client on the web using XMPP instead of the IRC protocol. And now we're taking it a step farther with our new project, Stanziq.

Erik Levy: And what motivated you to build it?

Jack Moffit: The classic reason -- I was dissatisfied with the other options. We got the idea for Speeqe because of our frustration in telling people about Chesspark. Most people would tune out when they heard the word "chess" before we ever got to tell them about all the other interesting technology contained within.

Erik Levy: Why create the speeqe site?

Jack Moffitt: We were frustrated that few were able to see past "chess" and understand what we had really built at Chesspark on a technology level. The Web and XMPP are a great pairing, and I suspect this will start appearing in many Web applications. So we created Speeqe to show off what we'd done in a more general way. People have been extremely excited by it, even though it's just a small subset of what we built at Chesspark.

Jack Moffitt: Now that we're building new toys at Stanziq, we're open sourcing the Speeqe work. It should see its first release in a few days.

Erik Levy: So, is that going to be a model for you, open sourcing parts of your system?

Jack Moffitt: It always has been. Icecast was open, and we built Greenwitch Internet Radio on top of that. Ogg Vorbis was all about patent free multimedia. And now much of our XMPP work is open as well. We are building services on top of the core layers. For example, the JavaScript library we use to talk XMPP is an open source project that is used by many companies, most recently by Yammer and the Neuros OSD. This works great for us, because we get the help of the community to tune a core library, and the world gets lots of interesting new XMPP backed Web services.

Erik Levy: Are you leveraging any of your Internet radio/Icecast experience for this venture?

Jack Moffitt: Of course. In learning to scale Icecast and multimedia serving, I learned a lot that we're now using at Chesspark and Stanziq. Much of the work that we did on Icecast 10 years ago has been codified as best practices these days. At Greenwitch we also played a lot with Web applications that weren't using AJAX per se, but were very similar in the functionality that offered.

Erik Levy: For a moment, please tell me about your company - are you funded, how many people, et cetera.

Jack Moffitt: Right now there are 9 of us on the payroll, 3 of which are part time. We have the bulk of the staff doing development, quality assurance, and user support, and we also have some design and management. We've been primarily angel funded, and raised a little over a million dollars that has lasted us 4 years. Our company is completely virtual. We have people in multiple countries and in every US time zone.

Erik Levy: Are you a major owner at this time?

Jack Moffitt: I started as the largest stakeholder, but now share that with the main investors. Everyone at Chesspark owns a piece of Chesspark (aside from the part timers).

Erik Levy: How do you keep everyone collaborating with people in different locations?

Jack Moffitt: We ate our own dogfood. From the earliest days we have communicated by using chesspark rooms and instant messaging in the chesspark client. We have since moved over to using Speeqe as our group chat client while we are working the kinks out of that. We use Trac internally as a wiki and issue tracking system. We don't use email a whole lot. We tend to use tasks in the issue tracker in lieu of e-mail.

Erik Levy: I haven't asked about Stanziq - can you talk about that?

Jack Moffitt: Stanziq is our newest project. It is very new and we're just starting to get the first bits of code in shape. It builds on all our work from Chesspark and Speeqe. We're going to jump into the openmicroblogging space to start with. There are two projects. The first is to provide aggregation services (built with XMPP Pubsub) on top of all the openmicroblogs out there. We will consume the public timeline from each service, and provide search, track and other services on top of these. The second project is to build a new implementation of OpenMicroblogging (the protocol) based completely on XMPP, which we feel is really its native transport.

Erik Levy: Similar to twitter or something else as they are blog posts?

Jack Moffitt: OpenMicroblogging is similar to a federated network of Twitters, all openly connected. The analogy in IM land is AIM vs. XMPP. There are about 150-200 openmicroblogs running Laconica (the engine behind Identi.ca) right now, and it's growing. But one piece they are missing is aggregation and layered services. They are also having trouble dealing with XMPP and we're helping sort that out.

Erik Levy: How do you find staff - do people send your resumes, do you recruit or is it people you know form the past?


Jack Moffitt: Mostly we recruit from the open source ranks. Sometimes we'll put out a general call in various communities and find people that way. Our biggest problem is that some people cannot cope with a virtual environment. They need the office and the managers. Our team is extremely self-motivated and creative, and we have no trouble working in a distributed fashion. It helps to recruit from open source projects, since open source developers are quite used to working this way.

Erik Levy: So, you recommend people work in the open source community if they want to be hired by startups?

Jack Moffitt: Resumes and references are interesting, but what I really want to see is what cool stuff you've tried to build. We find awesome projects that fill our own needs and then try to bring those people on board.

Erik Levy: Who comes up with the project ideas?

Jack Moffitt: We all generate ideas on the team and they get filtered down to the best ones, which we experiment with. There's not a huge hierarchy as we are a small company.

Erik Levy: Where do you want things to go, for example, does Chesspark continue?

Jack Moffitt: Chesspark will continue, but we're bringing in a new manager and spinning it off as its own company.

Erik Levy: So, the focus will be on the new projects?

Jack Moffitt: Speeqe will be open sourced, and we'll get the community to help us realize that vision; it is nearly there already. And we'll refocus our energy on Stanziq projects for at least the next 12 months.

Erik Levy: What's been the hardest part of bringing all of this online - you said four years, that's a lot of investment in time and money, right?

Jack Moffitt: One hard thing was that we were probably the first people pushing XMPP on the Web application front, and we had to discover and solve a lot of big problems. Many of these had to do with latency, browser bugs, etc. Even AJAX as well-used as it is, is not often understood at its basic layers. Many of the off-the-shelf AJAX toolkits completely ignore most error cases, which will destroy an application which does as many requests as we do.

Erik Levy: So, it was technical mainly?

Jack Moffitt: For us there were two big hurdles. The technical (which I just described) and the sales.

Jack Moffitt: The marketing side was a huge initial worry, but it turned out that Google AdWords makes some of that trivial these days. Getting people to subscribe and pay at Chesspark has been the biggest hurdle, and it's one we are still experimenting with. We started as a subscription service only with a free trial, moved to a freemium model, and now we've started experimenting with adding/subtracting pieces of the value proposition to see what people will pay for.

Erik Levy: I have an interview with Christopher Herot later in the week (co-founder of Convoq/Zingdom) and he talks about Adwords not being enough but you found it helped?

Jack Moffitt: The initial problem for any new community based services is to not seem like a vacant lot. Clever use of AdWords solved this problem for us and at its peak we were pulling over 1,200 new users per day. The problem with AdWords is that you can't choose the people. So in our case, many of these people had no interest in paying. But they did provide us enormous value in the early days by just populating the site. Over time we phased out AdWords and started to rely on organic growth.

Erik Levy: Are there any other key things you want to cover?

Jack Moffitt: There is one piece of advice on the AdWords front I should probably mention. When we started using Adwords we noticed a user pattern right away. Someone would sign up, log in, see that no one was around, and leave. Then a minute later, a new person would show up and leave. We reconfigured Adwords to spend our entire daily budget in a single hour.

Erik Levy: That's insightful.

Jack Moffitt: That got 2-3 people in the door at around the same time, and playing games. So for that hour we had enough people there that it wasn't a wasteland. The next day we could increase the time window to 2 hours, since the pervious people came back. Over the course of a few weeks or a month, we managed to expand the daily spend over the full 24 hours.

Erik Levy: What about sites like http://iminlikewithyou.com/; do you think flash has its place?

Jack Moffitt: I personally hate Flash. It's not open, it has many issues that aren't easy to solve, and people tend to over use it. That said, we must use it to enable some features at Chesspark, like sounds.

Erik Levy: So, you stay away from it as much as you can?

Jack Moffitt: Many people are using it to build rich Internet applications that run in the browser (or are essentially their own browser), and while it's getting better, it's still a memory hog and can be pretty clunky. On the design side however, it does make it easier to lay out vector movies than to fight CSS and HTML and browser quirks. Eventually I think you will see the two sides merge. The canvas extensions are basically showing the power of this already, but aren't generally applicable because of IE6's continued large market share.

Erik Levy: Do you test your site in all browsers or just a few?


Jack Moffitt: We test in Opera, Safari, Firefox, and IE 6, and 7 most regularly. We have also tested IE8, the Wii browser, Opera's mobile browser, iPhone/iTouch, and others.

Erik Levy: I imagine that would be a lot of work.

Jack Moffitt: Chesspark works in all of the above at least in some sense, mostly without us ever having to do anything browser specific. IE6 is the most work, but it represents the bulk of IE users, which are the bulk of all users. Actually, IE7 use passed IE6 use at Chesspark about a month ago. Generally if you can make it work in IE and Firefox, you've covered most of the bases. Safari does have a few of its own quirks but they tend not to be as difficult as IE6.

Erik Levy: Any advice to those starting out on the road to a startup?

Jack Moffitt: Be aware that it's extremely hard, frustrating and demoralizing at times. But it is also completely awesome and totally worth it. No matter how bad it seems, you have to continue to fight another day. Most startups fail not because they were bad ideas, but just because they weren't able to survive long enough.

Erik Levy: Thanks Jack. I really appreciate your time.

Jack Moffitt: Glad to give it. I hope everyone quits their normal job and creates a startup. The world needs more creativity.