macdevcenter.com
oreilly.comSafari Books Online.Conferences.

advertisement

AddThis Social Bookmark Button

Dev to Dev: James Duncan Davidson Interviews Panic

by James Duncan Davidson, author of Running Mac OS X Panther
03/23/2004

Author's note: Panic is a small, privately held software company in Portland, Oregon. Its employees are the makers of Unison, Transmit, Audion, Candybar, and other nifty programs for the Mac. Founded by Cabel Sasser and Steven Frank, Panic has attracted quite a following and has achieved success as a maker of software for the Mac. In fact, they might just be a case study in how to build a software company now that the bubble is long gone.

To attempt to find out what makes Panic tick, I made the journey to its world headquarters (OK, so I walked five blocks from my apartment, but don't tell my editor) and spoke with Steven and Cabel.

James Duncan Davidson: Panic started with just the two of you as cofounders. Where did you first meet?

Cabel Sasser: It's kind of embarrassing to admit, but we met each other in the Portland BBS scene. This was back when we were kids and Amiga users, huge Amiga users. We would meet up at the Beaverton Library. Oh my God, that sounds so nerdy! The library! [laughs] Anyway, we got along well and had similar sensibilities, and we've been friends ever since. We'd make little software tools and utilities for fun. It's actually the same thing that we do now. I'd come up with interfaces and Steve would write the code for them. It was fun back then, and it's fun now.

Duncan: Cool. How did you get started with the Mac?

Cabel: Well, when it became obvious that the Amiga was dead as a platform, the Mac seemed like the spiritual successor to it. After all, it was a platform with a minority market share and there was no way we were going to run something mainstream! We were both running it under emulation on the Amiga...

Steven Frank: Actually, I used it under emulation for a really long time. I was broke and couldn't afford a Mac so running it under emulation on my Amiga 1200 was my only option.

Cabel: Yeah, emulators were a great way to get started with the Mac.

Related Reading

Running Mac OS X Panther
Inside Mac OS X's Core
By James Duncan Davidson

Emulators are a big hobby for the Panic crew. During a break, Cabel showed me a hacked Xbox, which had all sorts of old games from the Super Nintendo and other systems running under emulation. In fact, they don't really use the Xbox for the new games. Mainly, it's so they have all the old games on one big hard drive.

Duncan: At some point you guys decided to start writing commercial software...

Cabel: Yeah, we decided to go commercial back when System 7 was still shipping. In retrospect, it wasn't a great time to be using a Mac.

Steven: It was the lowest possible point. Gil was running the show and there were all the different models of Macs and nobody was buying any of them. Apple's finances were at the bottom of the barrel. And here we were jumping in saying, "Hey! Let's make some software!"

Duncan: So, in the process of starting up, did you get money from a venture firm or angel investors?

Cabel: Nope. And not getting investors and trying to do a venture-funded startup was probably the best thing that we did. It meant that we were working day jobs the first couple of years and that we didn't have girlfriends or social lives, but it provided the foundation for the company we have today.

Steven: And we love our independence. We're like the anti-startup. We wanted to do this for ourselves and that's exactly what we did.

Cabel: To give you an idea of how we operate, we only signed a lease for office space when it was obvious that we needed it. That was when we had four people and we were working on the living room couch and the kitchen table. But we didn't want to take on the liability of it until we absolutely had to. And that's how we do everything. We don't hire people or buy things until we have to.

When Panic decided to upgrade the apartment and get a real office, it has to be said they did it right. Their office is located in the heart of Portland's Pearl District, the hip part of downtown. The interior is nice and clean and all the furniture is from IKEA. You can find pictures of the build out of their office at: http://panic.com/goodies/office/.

Duncan: What was the first application Panic developed?

Cabel: It was something called Verso. It was supposed to keep track of all the versions of software on your system and let you know when something new had been released--sort of like VersionTracker. But then we realized in order to make it work, we'd have to maintain this large online database and that was something we didn't want to do. Even though we didn't ship that app, it was a great experience. We dove head first into writing a Mac app and learned how to it.

We then took a look around at all the software for the Mac and saw that all of the FTP clients available at the time were less than perfect. They were stuck in the Mac Plus days and they didn't really feel right for the Mac interface circa 1998. So we spent a year and built Transmit.

Steven: Yeah, we learned a lot building Transmit. Our tools at the time were Code Warrior and PowerPlant and we found some interesting issues. For example, we found this hideous bug where you could freeze your machine if you transferred a large file on a really fast network. That one took a bit of work with Metrowerks to get a solution for.

Cabel: Yeah, that was a pretty scary bug, but we managed to get it taken care of and Transmit shipped.

Duncan: So what was it like developing for the classic Mac?

Cabel: Oh, it was horrible. When you had a problem, your Mac would freeze up. Every time your application crashed, you'd get MacsBug and that was just a pain. But the funny thing is that even though it sucked, we didn't really know how much better it could be until we got Mac OS X. At the time we just accepted that this was the way things were.

Steven: Mac OS X has dramatically shifted the way our development works. Things are so much quicker and faster now.

Cabel: Yeah, it's really great now. But I remember when they announced the whole NeXT thing, we were pretty confused. It took a long time for it to become clear that what became Mac OS X was going to be a killer platform to develop for. It's clear now that there was a master plan and it was a good one, but at the time it wasn't so clear.

Now, of course, we don't miss OS 8 or 9 at all. And, even more so, it freaks me out that there are still people using it. I don't know how people put up with it now.

Duncan: How did the transition from 9 to Mac OS X go for your applications?

Cabel: We ported Transmit first. And it was an interesting experience because even though it was functional and it worked, it wasn't a real Mac OS X application. Sure, it was carbonized and running native, but it didn't fit in quite right. It took us rewriting Transmit 2, which we did with Cocoa, to get it really right. And that's where we learned how to really make an application right for Mac OS X.

The advantage of rewriting Transmit was that it allowed us to reevaluate everything. It let us make sure that we concentrated on making it work well without being complicated.

Duncan: How does your software design process work?

Cabel: Steven and I have this interesting relationship. I focus on the design, he focuses on the engineering. But we can both do the other. For example, Steven is a great artist and I can do server-side programming. This gives us a good deal of understanding for what the other person is doing. Both of us have our focus, and this allows us to take care of both sides of a program: the interface as well as the engineering.

A lot of people don't pay attention to both halves. And that's a pitfall of most software. You see these applications that are really slick, but aren't decently built. And you also see these applications that do something really well, but are hard to use. I've always felt that the thing we do well is both.

Duncan: You've just released Unison, a Usenet news client. Why Usenet?

Cabel: Obviously, Usenet has been around since the dinosaurs. It's this amazingly old thing, but it's always been there and always worked. It's not really a peer-to-peer thing, but it has some of that flavor by being a distributed system. And people have been posting music, images, and other files to it forever.

Last year, we were poking around a Usenet server and saw that there was still a strong community there and that lots of people were posting. There's all this content there and nobody knows how to get to it. We asked ourselves, "Why is this something that people aren't using more often?" And the answer, of course, is that there hasn't been any good newsreader software. Newsgroups have been really hard to use with the existing software options.

For us, it was the same kind of realization we had with Transmit. The competition out there was approaching the problem in a very complicated way. There was an opportunity for us to do it in a really clean way. We had pulled it off with Transmit, so we wanted to see if we could pull it off with Usenet. We thought that Usenet was something that people should use again.

So, we built the cool tool to make that happen. And we ended up with Unison.

Duncan: What about the spam thing? After all, that's what made Usenet so unattractive back in the '90s—at least it was for me when I stopped using my newsreader.

Cabel: Well, when we were developing Unison, we were also developing our own Usenet service in conjunction with another company. And, weirdly, we never really saw any spam. So, when people started asking us to offer spam filtering, I was really confused--spam? Where? Turns out that the company behind our Usenet service has this incredible, server-level spam filtering, and we didn't even know it! That was a pleasant surprise.

Of course, we are considering some kind of client-side spam filtering in the future. But in the meantime, did I mention we have our own Usenet service? [laughs].

Unison is indeed a cool tool. Cabel and Steven gave me a quick demo showing how the program automatically puts binary pieces together, how you can view images in an iPhoto-like browser, and even how you can preview songs from the newsgroup without first downloading them.

Related Reading

Learning Cocoa with Objective-C
By James Duncan Davidson, Apple Computer, Inc.

Duncan: What was it like having iTunes move in on Audion's turf?

Cabel: Honestly, it's fine. I mean, we could be bitter about it. But, it's more like we took one for the team. We like the combination of iTunes, the Music Store, and the iPod and think that it's great for the platform. And what's good for the platform is good for us. Luckily, Audion isn't our only product.

If you are working on Mac software, you have to be aware that Apple is going to write some of the software for the platform. We're not too worried about it, though. We're staying nimble and we've got millions of ideas.

Duncan: We've talked about the products, let's talk a little bit about how you build them.

Steven: At this point, everything we're doing is in Cocoa. It's been great. One interesting thing we thought about before committing to Cocoa was that it does tie us to the platform going forward. Not that we're really interested in doing cross-platform software, but Apple has had a history of yanking technologies out from under developers' feet. The old OpenDoc developers can tell you lots of stories about that. However, with Cocoa, it doesn't look like that's going to happen. It looks like it'll be around for the long term.

Duncan: What do you think of the new Xcode?

Steven: Well, we really like where they are going with it and a lot of the ideas are great. However...

Cabel: I hear lots of cursing about Xcode throughout the day in the office.

Steven: It would have been nice if they had taken a bit more time with it, but it is what it is. We're looking forward to it being really done. Till then, we're moving along and building apps.

Duncan: So, what's next for Panic?

Steven: Well, we've got some really neat ideas in the pipeline, but if you tell anybody... [laughs]

Cabel: Yeah, we know where you live now!

I got a sneak peek at the next little app that Panic will be releasing. I won't give away any details, but it's something that I really, really want for my Mac. And you very well might want it too. Stay tuned to the Panic web site. To get a glimpse at what the Panic guys do for fun, check out the USA versus Japan Taste Battle. And you can find Steven's blog at http://stevenf.com/.

James Duncan Davidson is a freelance author, software developer, and consultant focusing on Mac OS X, Java, XML, and open source technologies. He currently resides in San Francisco, California.


Return to the Mac DevCenter