Daringfireball has been linking to a number of opinion pieces about MacHeist lately, and it had me thinking. Opinions on MacHeist seem to fall into two camps: it’s a great deal for customers and a lousy deal for developers OR it’s a great deal for everyone. One obvious camp is unexplored: it’s a lousy deal for everyone except MacHeist.

In my opinion, there are three kinds of software that benefit from MacHeist: (1) stuff that would never have sold very many copies because it’s fundamentally a silly product, (2) stuff that’s actually surprisingly good but doesn’t get as many users as it should either because (i) the userbase doesn’t exist (e.g. not that many people really need it), or (ii) they’ve already bought something that obviates it, and (3) good, fairly successful software that’s about to receive a major upgrade.

Examples of the first kind (basically useless) include most of the stuff in every MacHeist bundle. E.g. iSale, Picturesque, SousChef.

Examples of the second kind (good but unknown or in a saturated market) this time around includes Acorn, Kinemac, Wiretap Studio, Espresso, and arguably World of Goo. (It’s also possible that Acorn and Kinemac are type 3, but I doubt it. Kinemac’s user forums have about ten posts in them, and Acorn seems to have been swamped by Pixelmator — and deservedly so.)

Examples of the third kind not in this bundle would be Cheetah 3D (which was in a bundle last year when the developer was hoping to have version 5 out within six months, although it’s still not out) and Unity Indie (which was in the same bundle just before v2 came out).

I don’t know enough about Phoneview and LittleSnapper to categorize them.

So the value proposition for customers is basically, look at the stuff in the list, figure out which ones you’d actually use and try to guess whether they’re about to receive costly upgrades. Then factor in the value of what you’re getting relative to the bundle price. Most customers probably vastly overestimate the use they’ll get out of the software in the bundle and buy a bunch of stuff that they never end up using. But, they feel good so no major harm done. And maybe they start using a package they’d never have found otherwise, so that’s cool.

The value proposition for developers is basically… am I getting anywhere with this product? If not, this is a win. If so, then do I think I can gain more exposure than I will (potentially) lose in license sales OR can I grab customers and make money off them with upgrades? If so, then this is a win. Otherwise I’m just screwing myself.

It seems to me that developers probably think longer and harder about this value proposition than customers do. At least they probably do now. Back when MacHeist first arrived on the scene, I think that the bundle was essentially a bad deal for (almost) everyone. By now, MacHeist is paying a scaling royalty (I believe) and developers know what the deal is and have made better decisions. So it’s only customers screwing themselves.

Caveat Emptor.

Mac Text Editors

One of the most baffling gaps in Mac third-party software is programming-oriented text editors with autocomplete. Now, obviously there’s XCode, vim, and emacs (which, being free, are all something of a problem for would-be competitors), and a bunch of cross-platform tools like Eclipse and Komodo, but XCode is really oriented towards Cocoa development and is kind of like using Microsoft Word to edit a shopping list, while the others are all non-Mac-like (and kind of suck anyway).

The Mac heavyweight text-editing champs — BBEdit and TextMate — have many great features, but don’t do autocompletion very well or at all, respectively. (There’s some kind of third-party hack add on for TextMate, but you need to compile it yourself and few seem to be able to get it working.) A lot of Unity developers were using PCs or Virtual Windows boxes to run Visual Studio just because it has an autocompleting text editor that doesn’t suck — that’s how bad it was. (Now that Unity runs on Windows their lives have gotten much easier, which is a pretty sad statement.)

Before you scream at me about how, say, Subethaedit has some kind of autocomplete support, or mention Coda (which has OK autocomplete support) or Espresso (which may one day have halfway decent extensible autocomplete support but right now is a work-in-progress), go and try Visual Studio or, if you’re allergic to Windows how about Realbasic. Realbasic‘s built-in text editor has autocomplete that doesn’t suck, e.g. it recognizes context, knows about intrinsic language constructs as well as library functions and the stuff you’ve declared, and doesn’t incorrectly complete stuff you need to fix constantly or fail to offer “function” when I type in “fun” in a .js file.

I will say this: TextMate’s macro facility is truly awesome (you can type swi->TAB and get a switch statement template, and then tab through the bits you need to change, almost like a context-sensitive-in-place-dialog-box), if this were paired with a proper autocomplete system (like RealBasic’s) it would be the best I’ve seen and then some — maybe 2.0 will have this — but right now the situation on the Mac remains pretty dismal.

Realbasic Alternatives

So, you want to develop apps quickly and easily but you are sick of Realbasic’s subscription model, or are annoyed by the forced switch to “Studio”. What to do? The latest news from Real Software has me thinking (again) about what I should do rather than continue to use Realbasic, and here are the alternatives I’ve come up with.

XCode — Free (Mac). On the downside, you can’t deploy on Windows (or Linux, if you care). On the upside, actually supports all Mac UI widgets properly, has far fewer stupid bugs, can actually load images with alpha channels, produces apps which you don’t need to be ashamed were created with Realbasic, allows you to deploy on the iPhone, and actually has pretty good tools for building web apps.

Cocotron looks to offer the Holy Grail of cross-platform development. Develop your apps in XCode and Cocoa and simply compile to Windows. I haven’t tried it yet, but it certainly seems intriguing and it appears to be under pretty active development.

Unity — $199 and up (Mac/Win as of 2.5, also iPhone/Wii). On the downside, doesn’t produce standard desktop apps. On the upside, very good for game and multimedia development (far better than Realbasic); generally superior performance to Realbasic; your programs can run in web browsers, the iPhone, and even the Wii; one license allows you to code on both Mac and Windows; actually has a superior GUI for OO development than Realbasic (once you get your head around it); supports three languages (Boo, C#, and JavaScript), each of which is an easy move for RB coders; no subscription model.

BlitzMax — $80 (Mac/Win/Linux). Very fast, modern BASIC with full cross-platform GUI support (available as a $30 add-on). Designed with 2D game development in mind, but perfectly capable of being used for app development. Downside: bare-bones IDE which does not include visual GUI tools or handle bindings between UI elements, events, properties, and code. Visual GUI tools (which do do these things) are available from third parties.

Python — Free (Mac/Win/Linux). Python is not only a ridiculously nice language, it’s also hip and cool and highly marketable. It’s kind of like JavaScript without the negative associations (but also without the ability to run in Web browsers). For GUI development, Tkinter looks interesting and PythonCard actually seems pretty compelling.

Java — Mostly Free (Mac/Win/Linux). Well, Eclipse is pretty nice, and I assume that by now it’s probably possible to produce vaguely decent UIs. I’ll need to look into this. Java is definitely not my favorite language, but it’s very marketable.

Netbeans — Free (Mac/Win/Linux). Free and open source IDE and runtime that lets you code in Java, JavaScript, Ruby, PHP, C/C++, and (shortly) Python. OK that sounds too good to be true. (I downloaded 6.5 and messed with it a bit. It falls under the category “I guess it probably seems pretty neat if you think Solaris is pleasant to use”, so — yeah — too good to be true.)

Web-based — Mostly Free, and some amazingly good, cheap stuff (e.g. Coda). On the downside, you can’t deploy standalone desktop apps via the web. Oh wait, you can. And you are living with whatever functionality you get from browsers (i.e. JavaScript, canvas, Flash, etc.). On the upside, web apps are where the action is. And there’s always Cappuccino and Atlas.

Adobe AIR — Free? (Mac/Win/Linux). Essentially a runtime that bundles Webkit, Flash, and other functionality, allowing you to build web apps that run like applications (including being able to avoid the usual sandbox restrictions). Of course, you’re essentially trapped inside the functionality provided by Webkit (and Flash, if you choose to use it).

Flex Builder Standard 3 — $249 (Mac/Win). On the downside, produces non-standard (Flash-like) UIs. On the upside, your software runs inside browsers (OK, not on iPhones, but neither does Realbasic); you don’t pay a subscription, and Adobe will provide free bug-fixes even for outdated versions of its software. Also, Flash-like UIs are all the rage anyway, and at least you’ll have a consistent user experience on all platforms. Oh, and ActionScript 3 is not going to be hard to learn for Realbasic developers.

Runtime Revolution — $49/$249/$499 (Mac/Win/Linux). On the downside, produces non-standard (sometimes ugly) UIs, and the language is a bit outmoded (although nice in many ways). On the upside, there’s no subscription model.

Qt SDK — Free or Expensive (Mac/Win/Linux). Built on top of the well-known Qt UI library. On the down side, requires you to code in C++. On the upside, produces robust, cross-platform apps. Builds skills that get you better paid jobs than RB experience. The free version is only useful for producing free apps, but that’s a lot of what I do with Realbasic. Correction: the free Qt version can be used for proprietary apps. (And frankly, no-one cares if you open-source a RB Project.)

Lazarus — Free (Mac/Win/Linux). Very interesting looking open source recreation of Delphi. If it works it could be fabulous — I love Object Pascal (although it’s hardly a popular language these days). It appears to let you compile both native Cocoa and X11 apps on OS X.

It’s worth noting that it’s not easy to replace Realbasic for cross-platform development. I can whip up a cross-platform utility with a native UI in Realbasic with almost ridiculous ease, and that’s simply not true for any of these options.

I’ll probably end up keeping an active Realbasic license for as long as I make money from contract programming with it. But, I’ll be moving all the projects I can move, along with any new projects, away from Realbasic ASAP. RiddleMeThis, for example, may well be rewritten using web technology, with desktop deployment via Adobe AIR or something similar.

Other Useful Links

Wikipedia’s compilation of RAD tools

Microsoft’s “Express” (i.e. free) development tools

Realbasic Attempts Suicide


I’m writing to let you know about some important changes we are making to REALbasic.

On April 14th, we will introduce REALbasic 2009 Release 2. At that time, we will be reducing the price of REALbasic Professional Edition to $300, a 40% reduction from its current price of $500. We will also be reducing the renewal price from $250 to $150. That means when you renew in the future you will be saving 40%!

Wow. Sounds pretty good. Maybe a smart move in a recession, and perhaps they’ll gain more customers (moving up from the $100 “standard” version to the $300 “pro” version).

We have been talking to a lot of Personal Edition users, as well as people evaluating REALbasic, and we have been researching software pricing.  We have determined that $300 is a more appropriate price for REALbasic Professional Edition. It will likely mean that more people will purchase the Professional Edition which helps to grow the REALbasic community.

Another reason we are doing this is to make it easier to provide REALbasic editions for each of the three major types of users: hobbyists, part-time developers and full-time developers. The Personal Edition is designed for hobbyists and students, and the Professional Edition is for part-time developers. For full-time developers, we will be introducing REAL Studio.

REAL Studio, which will be introduced with REALbasic 2009 Release 2 on April 14th, will provide features that full-time developers need:
-A license key that can be installed on any number of computers or operating systems to make development and testing easier
-The Profiler for optimizing code performance*
-IDE Scripting for build automation*
-Remote Debugging*
-A REAL Server unlimited connections license
-Priority technical support
-New licenses will come with 12 months of updates, rather than 6 months

Wait a second. The asterisks mark features I already get now, all of which are pretty useful. (note that there are four, not three, items)

Three of these features were previously in the Professional Edition. Along with the price drop for the Professional Edition, we are moving these features to the Studio Edition. REAL Studio will be priced at $1495 with renewals priced at $749. However, we are offering all Professional Edition users a free upgrade to REAL Studio. And you can renew your license for up to two years at the current renewal rate of $250. But you must do this BEFORE you upgrade your license to REAL Studio.

So, basically, I can get a “free” upgrade to Studio if I want to continue getting remote debugging and profiling (among other things) which I already paid for — but when my subscription comes up for renewal it will be tripled in cost, or I can watch my existing license be gutted and the worthwhile parts of it moved to “Studio”.

Well this seems like a strong incentive to abandon Realbasic as quickly as possible.

Post Script

Apparently there were howls of protest about Real removing remote debugging from Realbasic Professional, so it’s going back in. This leaves IDE automation and Profiling as features that existing Pro customers will lose if they do not take the “free” upgrade. (Why do I put “free” in quotation marks? Because you’ll end up being stuck paying 3x (or 5x) as much for future upgrades.)

Early 2009 Mac Pro: Update!

Bare Feats has some interesting benchmarks of the new Mac Pros. (Could they have labelled their charts any more confusingly? I doubt it.) It’s also nice to see they’re using Geekbench instead of the lamentable Xbench, although Geekbench doesn’t try to do the many things that Xbench does so badly.

As I expected, the new “base” 4-core Mac Pro is slower than the old base 8-core Mac Pro, so that for the $200 you save over the old machine’s price you lose significant CPU performance, albeit not as much as you might think (it looks like ~10%)! The new CPUs have double the memory bandwidth of the old, and with their considerably superior graphics cards in the end are probably better balanced machines. Oh, but the memory requirements are annoying (you need to buy your RAM in sets of three for optimal performance with one 4-core CPU, and six for two 4-core CPUs).

I’m using a (borrowed) 2008 8-core Mac Pro and it very seldom makes use of its extra cores. So I guess the new machine looks like it’s probably slightly better value, all-told, than the model it replaces. Nothing like the value proposition of the new Mac Minis though.