Building an Award-Winning Application by Milestones: An Interview with Martin Pittenauer
by Derrick Story
The application formerly known as Hydra
won the top
prize in the International category in the second Mac OS X Innovators
Contest. If you've visited their web
site, you couldn't help but notice that every instance of "Hydra"
has been substituted with "#####." That's because on August 13th a legal
issue surrounding the name surfaced, and it has yet to be resolved.
Session by Mac OS X Innovator Contest Winner Robb Beal:
Implementing Ubiquitous Drag and Drop in a Rich Internet Application
Rich Internet apps on the Mac face unique drag-and-drop challenges. One of the major issues is that they need to acquire additional context before accepting or dealing with dropped items. Robb Beal, Mac OS X Innovator Contest Winner, leads this session that features some of the UI issues that he encountered while creating Spring's ubiquitous drag-and-drop experience. Robb will also be a special guest at the Mac OS X Innovators Special Event on Wednesday night at the Conference.
O'Reilly Mac OS X Conference
October 27-30, 2003
Santa Clara, CA
Many of us in the developer community find these situations unnerving.
This application was a free download created by a group of industrious
students in Germany, who, as it turns out, are no more (and probably less) immune from legal entanglements than the biggest corporation.
As of the publishing of this interview, the creators of Hydra can't discuss
the legal problems surrounding the name. But what they can talk about
is how to build a great application that has won two prestigious awards.
(To protect them from any further problems, in the conversation I've removed all instances where Martin referred to Hydra and substituted "#####.")
Martin Pittenauer of TheCodingMonkeys,
the software development group that also includes Martin Ott, Dominik
Wagner and Ulrich Bauer, talks about how this group of guys sat down
and decided that they wanted to create a great Mac OS X application.
Once they had the initial concept, they set goals for themselves and
methodically reached each milestone that eventually led to a 2003 Apple
Design Award, and an unexpected prize in this contest.
One of the things that jumped out at me in this discussion is how important
process was to their success. But I should let Martin describe this
in his own words.
Derrick Story: First off, I want to comment about how terrific
the site looks and the great first impression it makes. Did you
guys create that yourselves, or did you get some help?
Martin Pittenauer: Thanks for your compliments. The web site was
one of my tasks. I took a look at Apple's web site and combined that
style with what I'm searching for when I browse a piece of software's homepage:
Meaningful screenshots, a feature list, feedback options, and fast
access to the actual download. After some HTML work in ##### and
some image tweaking in Photoshop, we had what we were looking for.
DS: And while we're at it, how did the name TheCodingMonkeys
MP: We got the feeling that a lot of computer science students
(and actually quite a few educators) seem to think that having a diploma
saves you from doing actual coding work. In their world, every graduate
that walks away from university to work for a company manages a staff
of coding monkeys that implement his ideas. We think that's a less than
humble way of thinking.
TheCodingMonkeys (left to right): Ulrich Bauer, Dominik
Wagner, Martin Ott, and Martin Pittenauer in their natural
habitat: Technische Universität München.
So when we searched for a name I remembered a speech given to students
by C.K. Haun (Director of Developer Technical Support at Apple) at WWDC
2002. He talked about how getting a diploma does not save you from continuing
to learn and how new team members at companies have to work from the
ground up, doing a lot of "Coding Monkey" work.
DS: OK, I need to stop monkeying around here and get to your
award-winning application. So when did the lightning bolt of inspiration
first strike about your idea? Was it in the shower, on
a walk, during conversation ...?
MP: It was a cold December day back in 2002 in southern Germany.
We were eager to develop the next cool Cocoa application, an enterprise
quite ambitious for us back then. At this time there weren't any tangible
We did a lot of ill-fated brainstorming but without real results. So
we sat together again trying to come up with something great. We already
agreed on Rendezvous playing a key role in our application, as we really
like the idea behind it. So after hours of discussion, one of us came
up with idea to build a distributed editor. Having done paired programming
before, we quickly realized the potential of this idea.
While there was some discussion about how easy or impossible a non-locking
implementation of collaboration would be, the desire for such an editor
grew while talking about it. On the same night, a mock-up was designed
that, looking back, didn't differ much from the actual final product.
After a few weeks of research, it turned out that there has been quite
some scientific progress on that topic, but there weren't any usable
implementations. So we had a goal.
DS: Then what did you do? Work up a prototype, get some help,
let it ferment? How much time passed between when you had the initial
inspiration and the first working prototype?
MP: Since we had to finish some study work first, we actually
started to work on ##### in February. To kick off the project, we established
an infrastructure for software development consisting of a bug tracker
and a Subversion repository. After working for about two weeks on networking
and collaboration layers, we had a basically working version up and running.
As the project matured, submitting to the Apple Design Awards became
an important goal, providing us with a fixed deadline for release. On
our way to that deadline we did some sort of micro-milestoning. Every
week we set up a set of action items for a specific milestone that was
reviewed in an end-of-the-week meeting that also set the objectives
for the next week. Internal milestones were named after cities on the
way from Munich, where we are based, to Cupertino. This turned out to
be a very productive and motivating process.
DS: I really like that image of the milestones being cities between
Munich and Cupertino. I'm curious, what were some of them?
MP: The milestones were called Paris, Reykjavik, Nuuk, Halifax,
Chicago, Denver, and Cupertino. While that's probably not a route any
sane airline pilot may travel, it looked really good on our internal
bugtracker as an "in-flight map" progress meter.
DS: OK, lets change gears for a minute. Do you have a mentor?
Or maybe someone who helped you overcome the technical hurdles involved
with bringing your idea to life? Tell us about that person and his/her
MP: If there is one person we can really call a mentor, that's
certainly Rafael Kobylinski, who brought us to Cocoa in the first place.
He established Cocoa and Mac OS X programming courses at
our university, giving us a unique chance to get in touch with Apple
technologies in our curriculum. In terms of technical hurdles, we were
on our own.
DS: And how many people did you tell about your idea during the
development phase? Was this something you kept under your hat, or did
the Mac community at large know you were working on this?
MP: At first, only two or three people were aware of our project,
as we didn't want to talk too much about a unfinished, still fragile
project. On March 1st, we took the opportunity to show off a preview
version of ##### at Wocoa, a gathering
of European Apple developers, in Lausanne, Switzerland, to get feedback
from some professional developers.
DS: So now that you look back, which was harder -- developing
the application to the point that it was ready for public consumption,
or the "sales, marketing, distribution" side of the equation?
MP: In our case, definitely, developing the application was the
harder part. In comparison, we did not put too much effort into distribution
and marketing. Our goal was to deliver a Mac-like application and a
distribution channel (i.e., web site) that ties in seamlessly with it. So
developing and designing an application that lives up to the "Macintosh
experience" was certainly a much more difficult thing to do than creating
a web site that fits this application.
DS: And has your approach to marketing it given you the results
you hoped for?
MP: That and more. The web site traffic we generated on our first
release just by sending a press release to the major Mac news services
was amazing. After a while, we got picked up by Macslash and then Slashdot,
which drove our site views through the roof. You could look at the web server's
log just scrolling through ... :)
We also received (and answered) about 500 emails, all containing thanks,
best wishes, and feature requests.
DS: So, just as we were getting ready to run this interview, I
learned that TheCodingMonkeys won't be using the original application name anymore. I'm sure the situation is somewhat
complicated, but can you give Mac DevCenter readers a brief update as
to what is going on?
MP: Sorry Derrick, currently I can't comment on that issue. Going
into detail would probably substantially jeopardize our financial situations
and our application's future.
DS: I'm really sorry to hear that. I hope you can find a reasonable
solution to this situation. What adjustments will you make in the future
when developing your next great software application?
MP: Checking trademark databases, and probably even registering
one for a freeware project, is obligatory. Being less naive is another
lesson we learned. Not making money with an application doesn't mean
you can't lose any on it.
DS: That's a great point. I hate it that you guys are having to go through this. But I also think it's important for our audience to have the opportunity to learn from your experiences. Also, let's look at the other side of things. Strictly from a development perspective, would you do anything differently next time?
MP: Building our application was a really great experience and
we can't think of any major change to the actual process to improve
it significantly. We certainly would set up a similar infrastructure
and rely on a milestone-driven process with a fixed deadline, as we had
the feeling this helped development greatly. Using ##### to develop
##### in latter project stages also helped to improve the quality of
the codebase a lot and to keep focus, in our opinion.
DS: Do you have any other advice to pass on to Mac developers?
MP: Use the Cocoa, Luke. This framework is just insanely great.
Once you get into it, you'll never want to do anything else. Its design
is awesome, you can learn loads of good programming style just by using
Oh, and: use a good bugtracker and a good software configuration management;
e.g., JIRA and Subversion.
is the author of The Photoshop CS4 Companion for Photographers, The Digital Photography Companion, and Digital Photography Hacks, and coauthor of iPhoto: The Missing Manual, with David Pogue. You can follow him on Twitter or visit www.thedigitalstory.com.
Return to the Mac Innovators Contest
Return to the Mac DevCenter