Blue Sky On Mars

Thoughts on Building Software Products

Interface Builder rocks

by Kevin Dangoor

If you’ve never developed on a Mac (or NeXT), check this out: Cocoa: Developing Cocoa Objective-C Applications: A Tutorial. See how you just draw a line from the GUI component to the object and select the “outlet” or the “action” that’s appropriate? Why can’t Swing be like that?

And why did the Mono team work on cloning .NET when they could have worked on sprucing up OpenStep and cloned IB?

The world may never know.

(By the way, there is Wotonomy for Swing which is based on the same concepts. The JDNC package also does data binding in a less heinous way than out-of-the-box Swing.)

No viable market for open source consumer desktop software

by Kevin Dangoor

In a comment on A tale of a copycat site, Robert Renling asked me to elaborate on why I say there’s no viable model for open source consumer desktop software. I started adding a comment, but it seemed long enough to turn into a post.

Either there’s no viable model, or the people who have tried have not executed well.

I’m not aware of any successful business doing open source consumer-oriented software. There are some folks doing closed-source adware to make money while leaving the software free, but I don’t know how profitable it is and also think that much of the adware that gets installed is pretty sleazy stuff.

One could conceivably make money by having an open source component that attaches to a closed-source service. If they open sourced the code for the service, people would just get their own servers up and running.

The folks who are making money off of open source software are selling to businesses. Period. I’d be really interested in seeing a counter example, but I don’t think one exists.

Red Hat’s probably the best example. They’re the only one I can think of who even made a go of it. They had their nice boxed Linuxes available for years. As soon as broadband became widely used among geeks (the target market for Linux), the notion of ponying up $30 for a boxed Linux vs. just downloading it seemed pointless.

There are many, many examples of companies that effectively use and contribute to open source, but when it comes time to pay the bills, their products are closed source. Apple is a great example of this.

If someone can cite examples of people who are making a living on PayPal donations or t-shirt sales to support their open source product, I’d consider that a successful business. I don’t think anything even on that small scale has been shown to be sustainable.

It’s unclear to me what the future in consumer software really looks like. I know that, for myself, I’m not going to spend 2 hours to track down a crack for a $40 program (what’s your time worth?). That’s encouraging that there will continue to be a market for programs that provide a good value at a good price.

I can also envision an increase in the software that is provided as a service online. It’s easy to keep that closed-source (piracy is much less of a problem), plus some support headaches go away because you don’t generally have to worry about the bizarre software people have installed on their machines.

Some programs just work better on your desktop. Would you really want to keep all of your financial records on some company’s website (a la Quicken)? Quicken is one of those programs that seems like a reasonable value. And while there are open source competitors, they are no match in usability and features compared to Quicken.

The one thing I do know is that copy protection does not work. We’ll probably see an increase in stupid copy protection schemes that just annoy everyone while not stopping the pirates. I believe in taking some precautions, but not at the cost of serious customer inconvenience.

Workstation ergonomics

by Kevin Dangoor

I’m working at home full-time now, so the ergonomics of my home office are important. I just came across Cornell University’s ergonomics pages which provide a whole bunch of info. For example, I don’t think I would’ve considered a “negative-tilt” keyboard tray, but their diagram makes perfect sense. There’s a company that makes nice looking hardwood ergonomic desks. Notice how the first picture there has a negative tilt keyboard tray? Cool. Sadly, I’m not in a position to replace my desk, because my current desk holds my (rather lonely) music gear. However, maybe I can augment my current desk to be a bit better for me.

And this lousy chair should really go.

Jason Orendorff, where are you?

by Kevin Dangoor

I’ve been reading lots of good things about Jason Orendorff’s path module lately. I’ve been sprucing up my app’s build/packaging process and using os.path a lot. I wish I had Jason’s path module, but his site seems to have fallen over. That seems to be the only place to get the module, short of begging people who already have it (something I’m not above doing :)