On Developing Platform-Specific Software

Most of the software I’ve made has been developed in either Java or as a web-based application. This makes it available to the largest audience, perhaps at the expense of the elegance and simplicity often found in native apps.

Writing applications in Java is nice because your programs will work on any platform. On the backend, a well-designed, multi-threaded Java application is ideal. But on the front-end, the user-experience is still less than stellar. Admit it: You’ve never seen a Java GUI application perform as elegantly as a native application. A bit too slow. Too clunky. Too different from the other apps on your machine.

Consider the wonderful file-sharing utility, LimeWire. It’s great at what it does (let you share files), but as hard as its developers have worked to make it look good, it still cannot compare to a native app. To most Mac users who take beauty, speed, and elegance in an interface for granted, this kind of thing really counts.

One of the benefits of Java applications is, of course, their cross-platform portability. But the end-user, especially the home user – the ones who might just spend a few dollars to buy your software, typically they don’t care about cross-platform this-and-that. They want want an application that looks and works the way all of their other applications work. Or better. By not building a native appliation for them, you’re saying, “I care more about my development time than about your experience. Give my software a try and, when you’re dissapointed, go somewhere else.”

Recently, Joel Spolsky (creator of CityDesk) wrote about the economics of developing Mac sotware. In summation: there are more Windows users, so it makes more sense to develop software for PC’s.

In polite rebuttal, Brent Simmons (developer of NetNewsWire) comments that taking the bigger risk (developing Mac software) comes with a bigger reward (better software, better user-experience).

In theory, the more potential customers that exist, the greater the chance to sell your product. The Macintosh market is a smaller group. But what do we know about Mac users, and what makes them different from Windows users?

In short: Budget. Macs are, and have always been (at least slightly) more expensive than PC’s. Mac users don’t often complain about this because they are willing to pay for an experience that is most often markedly better than the alternative.

The indication here is that Mac users have more money than PC users. In fact, it’s true: Mac users are have greater wealth and more education than PC users.

The truth is, Mac users will find it easier to purchase software, and will tend to be more likely to purchase software. Your software.

On the flip-side, having worked in IT for the last 10 years, supporting networks with thousands of (PC) users, your Narrator has learned a thing or two about people and their software habits. Typically, PC users don’t like to pay for software. Microsoft Office ships with their systems, and they have come to expect that the programs and utilities they want to use will be free. They resent having to actually pay for their software. Based on my experience, they don’t even explore the shareware route. And when they do, a sale after the trial-period is unlikely. They’ll hold out, do without, wait and see.

The playing field looks about level from here.

More articles in the Archive →